likec4 1.17.1 → 1.19.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 (44) hide show
  1. package/LICENSE +1 -1
  2. package/{dist/__app__ → __app__}/index.html +0 -1
  3. package/{dist/__app__ → __app__}/react/likec4.tsx +16 -30
  4. package/__app__/src/chunks/-index-overview-C9eO_hFX.js +309 -0
  5. package/__app__/src/chunks/-view-lazy-data-CI4xD57c.js +9 -0
  6. package/__app__/src/chunks/index-KI-kE60c.js +465 -0
  7. package/__app__/src/chunks/likec4-CusAw_j6.js +6106 -0
  8. package/__app__/src/chunks/main-DY2KbFcO.js +24136 -0
  9. package/__app__/src/chunks/mantine-B_6mKFFA.js +13671 -0
  10. package/__app__/src/chunks/tanstack-router-BBWuTKWO.js +2373 -0
  11. package/__app__/src/icons.js +9 -0
  12. package/{dist/__app__ → __app__}/src/main.js +1 -1
  13. package/{dist/__app__ → __app__}/src/style.css +1 -1
  14. package/{dist/__app__ → __app__}/webcomponent/webcomponent.js +11351 -10812
  15. package/dist/chunks/prompt.mjs +35 -35
  16. package/dist/cli/index.mjs +225 -191
  17. package/dist/index.d.mts +760 -1787
  18. package/dist/index.d.ts +760 -1787
  19. package/dist/index.mjs +1 -1
  20. package/dist/model/index.d.mts +258 -0
  21. package/dist/model/index.d.ts +258 -0
  22. package/dist/model/index.mjs +1 -0
  23. package/dist/shared/likec4.CbSUX9bc.mjs +1853 -0
  24. package/dist/shared/likec4.DCwaTTuF.d.mts +1625 -0
  25. package/dist/shared/likec4.DCwaTTuF.d.ts +1625 -0
  26. package/dist/shared/likec4.LktBLTET.mjs +9 -0
  27. package/package.json +75 -73
  28. package/react/index.d.ts +328 -628
  29. package/react/index.js +39830 -0
  30. package/react/style.css +1 -1
  31. package/dist/__app__/src/chunks/-index-overview-DrCqsLHx.js +0 -309
  32. package/dist/__app__/src/chunks/-view-lazy-data-WZmbIsHq.js +0 -9
  33. package/dist/__app__/src/chunks/index-CIsxIzOH.js +0 -465
  34. package/dist/__app__/src/chunks/likec4-DF_Jsv_p.js +0 -6109
  35. package/dist/__app__/src/chunks/main-E2hyQKFO.js +0 -23847
  36. package/dist/__app__/src/chunks/mantine-BzD51ZKm.js +0 -13484
  37. package/dist/__app__/src/chunks/tanstack-router-CF1kJvtP.js +0 -2373
  38. package/dist/__app__/src/icons.js +0 -9
  39. package/dist/shared/likec4.BkLj38-D.mjs +0 -1824
  40. package/react/index.mjs +0 -40096
  41. /package/{dist/__app__ → __app__}/favicon.ico +0 -0
  42. /package/{dist/__app__ → __app__}/favicon.svg +0 -0
  43. /package/{dist/__app__ → __app__}/robots.txt +0 -0
  44. /package/{dist/__app__ → __app__}/src/const.js +0 -0
@@ -1,1824 +0,0 @@
1
- import*as K0 from"node:fs";import{lstatSync as b2,readlinkSync as E2,writeFileSync as Y0,statSync as D2,readFileSync as mm,appendFileSync as T2,createReadStream as X0,createWriteStream as J0,existsSync as R2}from"node:fs";import Jr,{sep as S2,dirname as k2,resolve as Z0,basename as $2}from"node:path";import{fileURLToPath as gm,pathToFileURL as C2}from"node:url";import{isatty as _2}from"tty";import*as A2 from"node:util";import{formatWithOptions as x2,debuglog as I2,stripVTControlCharacters as P2,inspect as Q0,promisify as N2,callbackify as Do,aborted as O2}from"node:util";import*as L2 from"util";import*as F2 from"path";import*as M2 from"os";import*as z2 from"crypto";import*as B2 from"net";import*as q2 from"url";import*as j2 from"fs";import*as U2 from"child_process";import{readdir as G2}from"node:fs/promises";import{Graphviz as ym}from"@hpcc-js/wasm-graphviz";import Oe,{platform as W2,hrtime as wd,execPath as H2,execArgv as V2}from"node:process";import*as vm from"node:tty";import eE from"node:tty";import{ChildProcess as tE,spawnSync as K2,spawn as Y2}from"node:child_process";import{StringDecoder as nE}from"node:string_decoder";import{setTimeout as rE,scheduler as iE,setImmediate as X2}from"node:timers/promises";import{constants as bs}from"node:os";import{once as bn,addAbortListener as sE,EventEmitter as J2,on as bd,setMaxListeners as Z2}from"node:events";import{serialize as Q2}from"node:v8";import{Transform as eO,getDefaultHighWaterMark as Ed,PassThrough as oE,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 tO}from"vite";import{Buffer as Dm}from"buffer";function nO(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function Un(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return nO(t,e,n);throw new Error("Wrong number of arguments")}function rO(t){return e=>!t(e)}function Ni(t){return t==null}function aE(t){return Array.isArray(t)}function iO(...t){return Un(sO,t)}var sO=(t,e)=>e.every(n=>n(t));function oO(...t){return Un(aO,t)}var aO=(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 cO(t,e){return e?e+"."+t:t}const uO=["solid","dashed","dotted","none"];var To;(t=>{t.Group="@group"})(To||(To={}));const lO=["rectangle","person","browser","mobile","cylinder","storage","queue"],Oa="primary",Tm="rectangle";function cE(t){return"element"in t}function uE(t){return"expanded"in t}function lE(t){return"custom"in t&&(Dd(t.custom.expr)||Rm(t.custom.expr))}function dE(t){return"wildcard"in t}function fE(t){return"elementKind"in t&&"isEqual"in t}function hE(t){return"elementTag"in t&&"isEqual"in t}function Dd(t){return cE(t)||dE(t)||fE(t)||hE(t)||uE(t)}function Rm(t){return"where"in t&&Dd(t.where.expr)}function pE(t){return Dd(t)||Rm(t)||lE(t)}function mE(t){return"source"in t&&"target"in t}function gE(t){return"inout"in t}function yE(t){return"incoming"in t}function vE(t){return"outgoing"in t}function Sm(t){return mE(t)||gE(t)||yE(t)||vE(t)}function wE(t){return"where"in t&&Sm(t.where.expr)}function bE(t){return"customRelation"in t}function dO(t){return Sm(t)||wE(t)||bE(t)}const ye={__proto__:null,isCustomElement:lE,isCustomRelationExpr:bE,isElement:Dd,isElementKindExpr:fE,isElementPredicateExpr:pE,isElementRef:cE,isElementTagExpr:hE,isElementWhere:Rm,isExpandedElementExpr:uE,isInOut:gE,isIncoming:yE,isOutgoing:vE,isRelation:mE,isRelationExpression:Sm,isRelationPredicateExpr:dO,isRelationWhere:wE,isWildcard:dE},fO=t=>"tag"in t,hO=t=>"kind"in t,pO=t=>"not"in t,km=t=>"and"in t,$m=t=>"or"in t;function Ds(t){switch(!0){case fO(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 hO(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 pO(t):{const e=Ds(t.not);return rO(e)}case km(t):{const e=t.and.map(Ds);return iO(e)}case $m(t):{const e=t.or.map(Ds);return oO(e)}default:Ie(t)}}const EE="dashed",Ro="normal",Ts="gray",mO=["amber","blue","gray","slate","green","indigo","muted","primary","red","secondary","sky"];function DE(t){return t in mO}function TE(t){return"include"in t&&Array.isArray(t.include)||"exclude"in t&&Array.isArray(t.exclude)}function RE(t){return"predicateId"in t}function gO(t){return"style"in t&&"targets"in t}function SE(t){return"styleId"in t}function yO(t){return t==="TB"||t==="BT"||t==="LR"||t==="RL"}function kE(t){return"direction"in t}function Cm(t){return"title"in t&&"groupRules"in t&&Array.isArray(t.groupRules)}function vO(t){return"include"in t&&Array.isArray(t.include)}function wO(t){return"__parallel"in t&&aE(t.__parallel)}function Td(t){return Ni(t.__)||t.__==="element"}function $E(t){return Td(t)&&"extends"in t}function _m(t){return Td(t)&&"viewOf"in t}function CE(t,e){const n=`step-${String(t).padStart(2,"0")}`;return e?`${n}.${e}`:n}function _E(t){return t.startsWith("step-")}function AE(t){if(!_E(t))throw new Error(`Invalid step edge id: ${t}`);return parseFloat(t.slice(5))}var Rd;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(Rd||(Rd={}));function Am(t){return t.__==="dynamic"}function bO(t){return Ni(t.__)||t.__==="element"}var xE;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(xE||(xE={}));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 EO(t){return(...e)=>e.reduce((n,r)=>Im(n,r,"",t),{})}const La=EO();function Fa(...t){return Un(Object.values,t)}function DO(...t){return Un(TO,t,RO)}var TO=(t,e)=>t.length<e.length?t.map((n,r)=>[n,e[r]]):e.map((n,r)=>[t[r],n]),RO=t=>(e,n)=>({hasNext:!0,next:[e,t[n]],done:n>=t.length-1}),SO={done:!1,hasNext:!1};function IE(t,...e){let n=t,r=e.map(s=>"lazy"in s?kO(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!$O(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(PE(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function PE(t,e,n){if(n.length===0)return e.push(t),!1;let r=t,i=SO,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(PE(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 kO(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function $O(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function Sd(...t){return Un(CO,t)}var CO=(t,e)=>t.length>=e;function _O(...t){return Un(AO,t)}function AO(t,e){let n=[];for(let[r,i]of t.entries()){if(!e(i,r,t))break;n.push(i)}return n}function xO(...t){return Un(IO,t)}function IO(t,e){let n=[...t];return n.sort(e),n}function PO(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 NO(...t){return Un(OO,t)}function OO(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 Un(LO,t,FO)}var LO=(t,e)=>t.map(e),FO=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function MO(...t){return Un(zO,t)}function zO(t,e){let n={};for(let[r,i]of t.entries()){let[s,o]=e(i,r,t);n[s]=o}return n}function BO(...t){return Un(qO,t)}function qO(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 NE(t){return!!t}function OE(t){return typeof t=="function"}function jO(t){return t!=null}function LE(...t){return Un(Object.fromEntries,t)}function UO(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Pm={exports:{}},FE;function GO(){if(FE)return Pm.exports;FE=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 WO=GO();const HO=UO(WO);function za(t,e){return t===e?0:Rs(t)?Rs(e)?HO(t,e):1:Rs(e)?-1:0}function kd(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 Cr(...t){const e=kd(t[0])?t[0]:t[0].id;return(kd(t[1])?t[1]:t[1].id).startsWith(e+".")}function Ba(t,e){const n=kd(t)?t:t.id,r=kd(e)?e:e.id;return n===r||r.startsWith(n+".")||n.startsWith(r+".")}function VO(t){const e=t.flatMap(n=>[r=>r.id===n.id,r=>Cr(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 ME(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 KO(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 YO(...t){return e=>{let n=ar(t[0]);const r=pE(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 XO(...t){return e=>{let n=ar(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 ar(t){if(!Rs(t))return t;if(t==="*")return{wildcard:!0};if(t.startsWith("->"))return t.endsWith("->")?{inout:ar(t.replace(/->/g,"").trim())}:{incoming:ar(t.replace("-> ",""))};if(t.endsWith(" ->"))return{outgoing:ar(t.replace(" ->",""))};if(t.includes(" <-> ")){const[e,n]=t.split(" <-> ");return{source:ar(e),target:ar(n),isBidirectional:!0}}if(t.includes(" -> ")){const[e,n]=t.split(" -> ");return{source:ar(e),target:ar(n)}}return t.endsWith("._")?{expanded:t.replace("._","")}:t.endsWith(".*")?{element:t.replace(".*",""),isDescedants:!0}:{element:t,isDescedants:!1}}function JO(t,{notation:e,...n}){return r=>r.style({targets:(aE(t)?t:[t]).map(i=>ar(i)),...e?{notation:e}:{},style:{...n}})}function ZO(t){return e=>e.autoLayout(t)}function QO(...t){return e=>t.reduce((n,r)=>r(n),e)}function zE(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||!Sd(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:()=>zE(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:LE(Array.from(e.entries())),relations:MO(n,u=>[u.id,u]),globals:structuredClone(i),views:LE(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}),y=o(p);return f.addRelation({source:u,target:l,title:h,...y&&{links:y},...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},...BO(t.elements,({style:u,...l},d)=>(f,h)=>{const p=m=>{const{links:y,icon:g,style:w,title:E,...k}=typeof h=="string"?{title:h}:{...h},_=o(y),I=g??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:NO({border:u?.border,opacity:u?.opacity,...w},jO),links:_,...I&&{icon:I},...l,...k}),m};return p.with=(...m)=>y=>{p(y);const g={...y,fqn:w=>`${y.fqn(f)}.${w}`,addSourcelessRelation:w=>y.addRelation({...w,source:y.fqn(f)})};for(const w of m)w(g);return y},p})},views:{views:(...u)=>l=>{const d=l.__views();for(const f of u)f(d);return l},view:(u,l,d)=>(OE(l)&&(d=l,l={}),f=>{const{links:h=[],title:p=null,...m}=typeof l=="string"?{title:l}:{...l},y=o(h),g={id:u,__:"element",title:p,description:null,tags:null,rules:[],links:y,customColorDefinitions:{},...m};return f.addView(g),d&&d(a(g)),f}),viewOf:(u,l,d,f)=>(OE(d)&&(f=d,d={}),h=>{const{links:p=[],title:m=null,...y}=typeof d=="string"?{title:d}:{...d},g=o(p),w={id:u,__:"element",viewOf:l,title:m,description:null,tags:null,rules:[],links:g,customColorDefinitions:{},...y};return h.addView(w),f&&f(a(w)),h}),$autoLayout:ZO,$exclude:XO,$expr:ar,$include:YO,$rules:QO,$style:JO}}),with:(...u)=>u.reduce((l,d)=>d(l),c).clone()};return c}var Nm;(t=>{function e(n){const r=zE(n);return{...r.helpers(),builder:r}}t.forSpecification=e})(Nm||(Nm={}));const{min:eL,max:tL}=Math,$s=(t,e=0,n=1)=>eL(tL(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},BE={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])BE[`[object ${t}]`]=t.toLowerCase();function Ae(t){return BE[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:$d,min:qE,max:jE}=Math,Gn=t=>Math.round(t*100)/100,Lm=t=>Math.round(t*100)/100,Qr=$d*2,Fm=$d/3,nL=$d/180,rL=180/$d;function UE(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 iL="3.1.2",Pe=(...t)=>new re(...t);Pe.version=iL;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"},sL=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,oL=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,GE=t=>{if(t.match(sL)){(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(oL)){(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:Cd}=Math,WE=(...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=Cd(e),n=Cd(n),r=Cd(r);let o="000000"+(e<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let a="0"+Cd(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=WE(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 GE(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 _r={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}},aL=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=aL.get(String(t).toLowerCase());if(!e)throw new Error("unknown Lab illuminant "+t);_r.labWhitePoint=t,_r.Xn=e[0],_r.Zn=e[1]}function Ua(){return _r.labWhitePoint}const Mm=(...t)=>{t=Se(t,"lab");const[e,n,r]=t,[i,s,o]=cL(e,n,r),[a,c,u]=HE(i,s,o);return[a,c,u,t.length>3?t[3]:1]},cL=(t,e,n)=>{const{kE:r,kK:i,kKE:s,Xn:o,Yn:a,Zn:c}=_r,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,y=h>r?h:(116*d-16)/i,g=p*o,w=m*a,E=y*c;return[g,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},HE=(t,e,n)=>{const{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:s,RefWhiteRGB:o,Xn:a,Yn:c,Zn:u}=_r,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,y=(t*r.m00+e*r.m10+n*r.m20)*(h/l),g=(t*r.m01+e*r.m11+n*r.m21)*(p/d),w=(t*r.m02+e*r.m12+n*r.m22)*(m/f),E=y*i.m00+g*i.m10+w*i.m20,k=y*i.m01+g*i.m11+w*i.m21,_=y*i.m02+g*i.m12+w*i.m22,I=zm(E*s.m00+k*s.m10+_*s.m20),x=zm(E*s.m01+k*s.m11+_*s.m21),A=zm(E*s.m02+k*s.m12+_*s.m22);return[I*255,x*255,A*255]},Bm=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=VE(e,n,r),[c,u,l]=uL(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function uL(t,e,n){const{Xn:r,Yn:i,Zn:s,kE:o,kK:a}=_r,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 VE=(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}=_r;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,y=o*i.m01+a*i.m11+c*i.m21,g=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*=y/l,k*=g/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 lL=(...t)=>new re(...t,"lab");Object.assign(Pe,{lab:lL,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]-=_r.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:dL}=Math,fL=1e-7,hL=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=hL;const i=(o,a)=>{const c=o.interpolate(a,.5,e),u=c.luminance();return Math.abs(t-u)<fL||!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 pL(...this._rgb.slice(0,3))};const pL=(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:dL((t+.055)/1.055,2.4)),Xt={},_o=(t,e,n=.5,...r)=>{let i=r[0]||"lrgb";if(!Xt[i]&&!r.length&&(i=Object.keys(Xt)[0]),!Xt[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)),Xt[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:mL,cos:gL}=Math,KE=(...t)=>{let[e,n,r]=Se(t,"lch");return isNaN(r)&&(r=0),r=r*nL,[e,gL(r)*n,mL(r)*n]},Um=(...t)=>{t=Se(t,"lch");const[e,n,r]=t,[i,s,o]=KE(e,n,r),[a,c,u]=Mm(i,s,o);return[a,c,u,t.length>3?t[3]:1]},yL=(...t)=>{const e=UE(Se(t,"hcl"));return Um(...e)},{sqrt:vL,atan2:wL,round:bL}=Math,YE=(...t)=>{const[e,n,r]=Se(t,"lab"),i=vL(n*n+r*r);let s=(wL(r,n)*rL+360)%360;return bL(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]=YE(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 UE(Gm(this._rgb))};const EL=(...t)=>new re(...t,"lch"),DL=(...t)=>new re(...t,"hcl");Object.assign(Pe,{lch:EL,hcl:DL}),Re.format.lch=Um,Re.format.hcl=yL,["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]+=_r.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 TL=(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")};Xt.rgb=TL;const{sqrt:Wm,pow:Ao}=Math,RL=(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")};Xt.lrgb=RL;const SL=(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")};Xt.lab=SL;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)},XE=(t,e,n)=>xo(t,e,n,"lch");Xt.lch=XE,Xt.hcl=XE;const kL=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)},$L=(...t)=>{const[e,n,r]=Se(t,"rgb");return(e<<16)+(n<<8)+r};re.prototype.num=function(){return $L(this._rgb)};const CL=(...t)=>new re(...t,"num");Object.assign(Pe,{num:CL}),Re.format.num=kL,Re.autodetect.push({p:5,test:(...t)=>{if(t.length===1&&Ae(t[0])==="number"&&t[0]>=0&&t[0]<=16777215)return"num"}});const _L=(t,e,n)=>{const r=t.num(),i=e.num();return new re(r+n*(i-r),"num")};Xt.num=_L;const{floor:AL}=Math,xL=(...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=AL(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]},IL=(...t)=>{const[e,n,r]=Se(t,"rgb"),i=qE(e,n,r),s=jE(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 IL(this._rgb)};const PL=(...t)=>new re(...t,"hcg");Pe.hcg=PL,Re.format.hcg=xL,Re.autodetect.push({p:1,test:(...t)=>{if(t=Se(t,"hcg"),Ae(t)==="array"&&t.length===3)return"hcg"}});const NL=(t,e,n)=>xo(t,e,n,"hcg");Xt.hcg=NL;const{cos:Io}=Math,OL=(...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:LL,sqrt:FL,acos:ML}=Math,zL=(...t)=>{let[e,n,r]=Se(t,"rgb");e/=255,n/=255,r/=255;let i;const s=LL(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/=FL((e-n)*(e-n)+(e-r)*(n-r)),i=ML(i),r>n&&(i=Qr-i),i/=Qr),[i*360,a,o]};re.prototype.hsi=function(){return zL(this._rgb)};const BL=(...t)=>new re(...t,"hsi");Pe.hsi=BL,Re.format.hsi=OL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsi"),Ae(t)==="array"&&t.length===3)return"hsi"}});const qL=(t,e,n)=>xo(t,e,n,"hsi");Xt.hsi=qL;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]},JE=(...t)=>{t=Se(t,"rgba");let[e,n,r]=t;e/=255,n/=255,r/=255;const i=qE(e,n,r),s=jE(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 JE(this._rgb)};const jL=(...t)=>new re(...t,"hsl");Pe.hsl=jL,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 UL=(t,e,n)=>xo(t,e,n,"hsl");Xt.hsl=UL;const{floor:GL}=Math,WL=(...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=GL(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:HL,max:VL}=Math,KL=(...t)=>{t=Se(t,"rgb");let[e,n,r]=t;const i=HL(e,n,r),s=VL(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 KL(this._rgb)};const YL=(...t)=>new re(...t,"hsv");Pe.hsv=YL,Re.format.hsv=WL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsv"),Ae(t)==="array"&&t.length===3)return"hsv"}});const XL=(t,e,n)=>xo(t,e,n,"hsv");Xt.hsv=XL;function _d(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]=JL([e,n,r]),[c,u,l]=HE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function JL(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=_d(n,t);return _d(e,r.map(i=>i**3))}const Km=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),s=VE(e,n,r);return[...ZL(s),...i.length>0&&i[0]<1?[i[0]]:[]]};function ZL(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=_d(e,t);return _d(n,r.map(i=>Math.cbrt(i)))}re.prototype.oklab=function(){return Km(this._rgb)};const QL=(...t)=>new re(...t,"oklab");Object.assign(Pe,{oklab:QL}),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 eF=(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")};Xt.oklab=eF;const tF=(t,e,n)=>xo(t,e,n,"oklch");Xt.oklch=tF;const{pow:Ym,sqrt:Xm,PI:Jm,cos:ZE,sin:QE,atan2:nF}=Math,rF=(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 iF(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+=ZE(f)*n[0],u+=QE(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+=ZE(m)*n[f+1],u+=QE(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=nF(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)},iF=(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:sF}=Math;function Ad(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 y=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 A=0;A<x.length;A++)x[A]=Pe(x[A]);s.length=0;for(let A=0;A<x.length;A++)s.push(A/(x.length-1))}return _(),c=x},g=function(x){if(a!=null){const A=a.length-1;let P=0;for(;P<A&&x>=a[P];)P++;return P-1}return 0};let w=x=>x,E=x=>x;const k=function(x,A){let P,O;if(A==null&&(A=!1),isNaN(x)||x===null)return n;A?O=x:a&&a.length>2?O=g(x)/(a.length-2):d!==l?O=(x-l)/(d-l):O=1,O=E(O),A||(O=w(O)),m!==1&&(O=sF(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 _=()=>h={};y(t);const I=function(x){const A=Pe(k(x));return u&&A[u]?A[u]():A};return I.classes=function(x){if(x!=null){if(Ae(x)==="array")a=x,i=[x[0],x[x.length-1]];else{const A=Pe.analyze(i);x===0?a=[A.min,A.max]:a=Pe.limits(A,"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 A=c.length;if(x.length===A&&l!==d)for(let P of Array.from(x))s.push((P-l)/(d-l));else{for(let P=0;P<A;P++)s.push(P/(A-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,_(),I):e},I.range=function(x,A){return y(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,_(),f?w=function(A){const P=k(0,!0).lab()[0],O=k(1,!0).lab()[0],C=P>O;let D=k(A,!0).lab()[0];const R=P+(O-P)*A;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=A,A+=(V-A)*.5):(V=A,A+=(W-A)*.5),D=k(A,!0).lab()[0],F=D-R})();return A}:w=A=>A,I},I.padding=function(x){return x!=null?(Ae(x)==="number"&&(x=[x,x]),o=x,I):o},I.colors=function(x,A){arguments.length<2&&(A="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=oF(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[A]&&(P=P.map(O=>O[A]())),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 oF(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 aF=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},cF=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=aF(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},uF=t=>{const e=cF(t);return e.scale=()=>Ad(e),e},{round:eD}=Math;re.prototype.rgb=function(t=!0){return t===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(eD)},re.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map((e,n)=>n<3?t===!1?e:eD(e):e)};const lF=(...t)=>new re(...t,"rgb");Object.assign(Pe,{rgb:lF}),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 cr=(t,e,n)=>{if(!cr[n])throw new Error("unknown blend mode "+n);return cr[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},dF=t=>t,fF=(t,e)=>t*e/255,hF=(t,e)=>t>e?e:t,pF=(t,e)=>t>e?t:e,mF=(t,e)=>255*(1-(1-t/255)*(1-e/255)),gF=(t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255)),yF=(t,e)=>255*(1-(1-e/255)/(t/255)),vF=(t,e)=>t===255?255:(t=255*(e/255)/(1-t/255),t>255?255:t);cr.normal=Oi(Li(dF)),cr.multiply=Oi(Li(fF)),cr.screen=Oi(Li(mF)),cr.overlay=Oi(Li(gF)),cr.darken=Oi(Li(hF)),cr.lighten=Oi(Li(pF)),cr.dodge=Oi(Li(vF)),cr.burn=Oi(Li(yF));const{pow:wF,sin:bF,cos:EF}=Math;function DF(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=wF(i[0]+o*c,r),d=(s!==0?n[0]+c*s:n)*l*(1-l)/2,f=EF(u),h=bF(u),p=l+d*(-.14861*f+1.78277*h),m=l+d*(-.29227*f-.90649*h),y=l+d*(1.97294*f);return Pe(Om([p*255,m*255,y*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 TF="0123456789abcdef",{floor:RF,random:SF}=Math,kF=()=>{let t="#";for(let e=0;e<6;e++)t+=TF.charAt(RF(SF()*16));return new re(t,"hex")},{log:tD,pow:$F,floor:CF,abs:_F}=Math;function nD(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)=>rD(n,r,i),n}function rD(t,e="equal",n=7){Ae(t)=="array"&&(t=nD(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*tD(r),c=Math.LOG10E*tD(i);o.push(r);for(let u=1;u<n;u++)o.push($F(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=CF(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 y=1;y<n;y++)h.push(r+y/n*(i-r));for(h.push(i);d;){for(let g=0;g<n;g++)l[g]=0;for(let g=0;g<c;g++){const w=s[g];let E=Number.MAX_VALUE,k;for(let _=0;_<n;_++){const I=_F(h[_]-w);I<E&&(E=I,k=_),l[k]++,u[g]=k}}const y=new Array(n);for(let g=0;g<n;g++)y[g]=null;for(let g=0;g<c;g++)a=u[g],y[a]===null?y[a]=s[g]:y[a]+=s[g];for(let g=0;g<n;g++)y[g]*=1/l[g];d=!1;for(let g=0;g<n;g++)if(y[g]!==h[g]){d=!0;break}h=y,f++,f>200&&(d=!1)}const p={};for(let y=0;y<n;y++)p[y]=[];for(let y=0;y<c;y++)a=u[y],p[a].push(s[y]);let m=[];for(let y=0;y<n;y++)m.push(p[y][0]),m.push(p[y][p[y].length-1]);m=m.sort((y,g)=>y-g),o.push(m[0]);for(let y=1;y<m.length;y+=2){const g=m[y];!isNaN(g)&&o.indexOf(g)===-1&&o.push(g)}}return o}const AF=(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)},iD=.027,xF=5e-4,IF=.1,sD=1.14,xd=.022,oD=1.414,PF=(t,e)=>{t=new re(t),e=new re(e),t.alpha()<1&&(t=_o(e,t,t.alpha(),"rgb"));const n=aD(...t.rgb()),r=aD(...e.rgb()),i=n>=xd?n:n+Math.pow(xd-n,oD),s=r>=xd?r:r+Math.pow(xd-r,oD),o=Math.pow(s,.56)-Math.pow(i,.57),a=Math.pow(s,.65)-Math.pow(i,.62),c=Math.abs(s-i)<xF?0:i<s?o*sD:a*sD;return(Math.abs(c)<IF?0:c>0?c-iD:c+iD)*100};function aD(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:NF,max:OF,atan2:cD,abs:uD,cos:Id,sin:lD,exp:LF,PI:dD}=Math;function FF(t,e,n=1,r=1,i=1){var s=function(lt){return 360*lt/(2*dD)},o=function(lt){return 2*dD*lt/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)),y=(p+m)/2,g=.5*(1-ti($t(y,7)/($t(y,7)+$t(25,7)))),w=c*(1+g),E=d*(1+g),k=ti($t(w,2)+$t(u,2)),_=ti($t(E,2)+$t(f,2)),I=(k+_)/2,x=s(cD(u,w)),A=s(cD(f,E)),P=x>=0?x:x+360,O=A>=0?A:A+360,C=uD(P-O)>180?(P+O+360)/2:(P+O)/2,D=1-.17*Id(o(C-30))+.24*Id(o(2*C))+.32*Id(o(3*C+6))-.2*Id(o(4*C-63));let R=O-P;R=uD(R)<=180?R:O<=P?R+360:R-360,R=2*ti(k*_)*lD(o(R)/2);const F=l-a,W=_-k,V=1+.015*$t(h-50,2)/ti(20+$t(h-50,2)),Z=1+.045*I,Le=1+.015*I*D,oe=30*LF(-$t((C-275)/25,2)),K=-(2*ti($t(I,7)/($t(I,7)+$t(25,7))))*lD(2*o(oe)),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 OF(0,NF(100,Te))}function MF(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 zF=(...t)=>{try{return new re(...t),!0}catch{return!1}},BF={cool(){return Ad([Pe.hsl(180,1,.9),Pe.hsl(250,.7,.4)])},hot(){return Ad(["#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"]},fD=Object.keys(Zm),hD=new Map(fD.map(t=>[t.toLowerCase(),t])),qF=typeof Proxy=="function"?new Proxy(Zm,{get(t,e){const n=e.toLowerCase();if(hD.has(n))return t[hD.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(fD)}}):Zm,jF=(...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:pD}=Math,UF=(...t)=>{let[e,n,r]=Se(t,"rgb");e=e/255,n=n/255,r=r/255;const i=1-pD(e,pD(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 UF(this._rgb)};const GF=(...t)=>new re(...t,"cmyk");Object.assign(Pe,{cmyk:GF}),Re.format.cmyk=jF,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"cmyk"),Ae(t)==="array"&&t.length===4)return"cmyk"}});const WF=(...t)=>{const e=Se(t,"hsla");let n=$o(t)||"lsa";return e[0]=Gn(e[0]||0)+"deg",e[1]=Gn(e[1]*100)+"%",e[2]=Gn(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(" ")})`},HF=(...t)=>{const e=Se(t,"lab");let n=$o(t)||"lab";return e[0]=Gn(e[0])+"%",e[1]=Gn(e[1]),e[2]=Gn(e[2]),n==="laba"||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lab(${e.join(" ")})`},VF=(...t)=>{const e=Se(t,"lch");let n=$o(t)||"lab";return e[0]=Gn(e[0])+"%",e[1]=Gn(e[1]),e[2]=isNaN(e[2])?"none":Gn(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(" ")})`},KF=(...t)=>{const e=Se(t,"lab");return e[0]=Gn(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(" ")})`},mD=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=Km(e,n,r),[c,u,l]=YE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]},YF=(...t)=>{const e=Se(t,"lch");return e[0]=Gn(e[0]*100)+"%",e[1]=Lm(e[1]),e[2]=isNaN(e[2])?"none":Gn(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,XF=(...t)=>{const e=Se(t,"rgba");let n=$o(t)||"rgb";if(n.substr(0,3)==="hsl")return WF(JE(e),n);if(n.substr(0,3)==="lab"){const r=Ua();ei("d50");const i=HF(Bm(e),n);return ei(r),i}if(n.substr(0,3)==="lch"){const r=Ua();ei("d50");const i=VF(Gm(e),n);return ei(r),i}return n.substr(0,5)==="oklab"?KF(Km(e)):n.substr(0,5)==="oklch"?YF(mD(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(" ")})`)},gD=(...t)=>{t=Se(t,"lch");const[e,n,r,...i]=t,[s,o,a]=KE(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,ur=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,Pd=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,Wn=/\s*/.source,Po=/\s+/.source,eg=/\s*,\s*/.source,Nd=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,No=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,yD=new RegExp("^rgba?\\("+Wn+[ni,ni,ni].join(Po)+No+"\\)$"),vD=new RegExp("^rgb\\("+Wn+[ni,ni,ni].join(eg)+Wn+"\\)$"),wD=new RegExp("^rgba\\("+Wn+[ni,ni,ni,ur].join(eg)+Wn+"\\)$"),bD=new RegExp("^hsla?\\("+Wn+[Nd,Pd,Pd].join(Po)+No+"\\)$"),ED=new RegExp("^hsl?\\("+Wn+[Nd,Pd,Pd].join(eg)+Wn+"\\)$"),DD=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,TD=new RegExp("^lab\\("+Wn+[ur,ur,ur].join(Po)+No+"\\)$"),RD=new RegExp("^lch\\("+Wn+[ur,ur,Nd].join(Po)+No+"\\)$"),SD=new RegExp("^oklab\\("+Wn+[ur,ur,ur].join(Po)+No+"\\)$"),kD=new RegExp("^oklch\\("+Wn+[ur,ur,Nd].join(Po)+No+"\\)$"),{round:$D}=Math,Oo=t=>t.map((e,n)=>n<=2?$s($D(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),sn=(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(yD))||(e=t.match(vD))){let n=e.slice(1,4);for(let i=0;i<3;i++)n[i]=+Ct(sn(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(wD)){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(bD))||(e=t.match(ED))){const n=e.slice(1,4);n[0]=+sn(n[0].replace("deg",""),0),n[1]=+Ct(sn(n[1],0),0,100)*.01,n[2]=+Ct(sn(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(DD)){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]=$D(r[i]);return r[3]=+e[4],r}if(e=t.match(TD)){const n=e.slice(1,4);n[0]=Ct(sn(n[0],0),0,100),n[1]=Ct(sn(n[1],0),-125,125,!0),n[2]=Ct(sn(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(RD)){const n=e.slice(1,4);n[0]=Ct(n[0],0,100),n[1]=Ct(sn(n[1],0),0,150,!1),n[2]=+sn(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(SD)){const n=e.slice(1,4);n[0]=Ct(sn(n[0],0),0,1),n[1]=Ct(sn(n[1],0),-.4,.4,!0),n[2]=Ct(sn(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(kD)){const n=e.slice(1,4);n[0]=Ct(sn(n[0],0),0,1),n[1]=Ct(sn(n[1],0),0,.4,!1),n[2]=+sn(n[2].replace("deg",""),0);const r=Oo(gD(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}};tg.test=t=>yD.test(t)||bD.test(t)||TD.test(t)||RD.test(t)||SD.test(t)||kD.test(t)||vD.test(t)||wD.test(t)||ED.test(t)||DD.test(t)||t==="transparent",re.prototype.css=function(t){return XF(this._rgb,t)};const JF=(...t)=>new re(...t,"css");Pe.css=JF,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 ZF=(...t)=>new re(...t,"gl");Pe.gl=ZF,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 WE(this._rgb,t)};const QF=(...t)=>new re(...t,"hex");Pe.hex=QF,Re.format.hex=GE,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:Od}=Math,CD=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*Od(r),i=e<20?0:-254.76935184120902+.8274096064007395*(i=e-10)+115.67994401066147*Od(i)):(n=351.97690566805693+.114206453784165*(n=e-55)-40.25366309332127*Od(n),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*Od(r),i=255),[n,r,i,1]},{round:eM}=Math,tM=(...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=CD(a);c[2]/c[0]>=r/n?s=a:i=a}return eM(a)};re.prototype.temp=re.prototype.kelvin=re.prototype.temperature=function(){return tM(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=CD,re.prototype.oklch=function(){return mD(this._rgb)};const nM=(...t)=>new re(...t,"oklch");Object.assign(Pe,{oklch:nM}),Re.format.oklch=gD,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"oklch"),Ae(t)==="array"&&t.length===3)return"oklch"}}),Object.assign(Pe,{analyze:nD,average:rF,bezier:uF,blend:cr,brewer:qF,Color:re,colors:Co,contrast:AF,contrastAPCA:PF,cubehelix:DF,deltaE:FF,distance:MF,input:Re,interpolate:_o,limits:rD,mix:_o,random:kF,scale:Ad,scales:BF,valid:zF});const rg=[.96,.907,.805,.697,.605,.547,.518,.445,.395,.34],_D=[.32,.16,.08,.04,0,0,.04,.08,.16,.32];function rM(t){const e=t.get("hsl.l");return rg.reduce((n,r)=>Math.abs(r-e)<Math.abs(n-e)?r:n)}function iM(t){const e=Pe(t),n=rM(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 sM(t){return iM(t).colors.map(e=>e.hex())}const AD={fill:"#3b82f6",stroke:"#2563eb",hiContrast:"#eff6ff",loContrast:"#bfdbfe"},xD={fill:"#0284c7",stroke:"#0369a1",hiContrast:"#f0f9ff",loContrast:"#B6ECF7"},ID={fill:"#64748b",stroke:"#475569",hiContrast:"#f8fafc",loContrast:"#cbd5e1"},PD={primary:AD,blue:AD,secondary:xD,sky:xD,muted:ID,slate:ID,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"}},oM={lineColor:"#6E6E6E",labelBgColor:"#18191b",labelColor:"#C6C6C6"},ND={lineColor:"#64748b",labelBgColor:"#0f172a",labelColor:"#cbd5e1"},OD={lineColor:"#3b82f6",labelBgColor:"#172554",labelColor:"#60a5fa"},LD={lineColor:"#0ea5e9",labelBgColor:"#082f49",labelColor:"#38bdf8"},FD={amber:{lineColor:"#b45309",labelBgColor:"#78350f",labelColor:"#FFE0C2"},blue:OD,gray:oM,green:{lineColor:"#15803d",labelBgColor:"#052e16",labelColor:"#22c55e"},indigo:{lineColor:"#6366f1",labelBgColor:"#1e1b4b",labelColor:"#818cf8"},muted:ND,primary:OD,red:{lineColor:"#AC4D39",labelBgColor:"#b91c1c",labelColor:"#f5b2a3"},secondary:LD,sky:LD,slate:ND},Hn={elements:PD,relationships:FD,font:"Arial",shadow:"#0a0a0a"};function aM(t){if(t.match(/^#([0-9a-f]{3}){1,2}$/i)){const e=sM(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:Hn.elements.primary,relationships:Hn.relationships.primary}}function st(t){return Rs(t)?t:t.id}let Ga=class B0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new B0.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 B0.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=st(e),s=st(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(st(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(st(e)).node.children.map(n=>this.element(n))}siblings(e){const n=st(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=st(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(st(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(st(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 Ld=class q0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new q0.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 q0.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=st(e),s=st(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(st(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(st(e)).node.children.map(n=>this.element(n))}siblings(e){const n=st(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=st(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(st(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(st(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})(Ld||(Ld={}));let Wa=class j0{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(IE(Fa(s),xO((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=st(e);return this._parents.get(n)||null}children(e){const n=st(e);return this._childrenOf(n)}siblings(e){const n=st(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=st(e);return this._childrenOf(n).flatMap(r=>[r,...this.descendants(r.id)])}incoming(e,n="all"){const r=st(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=st(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=st(e);return Array.from(this._internalOf(n))}ascendingSiblings(e){const n=st(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=st(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 j0.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 j0.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,Ld)}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 NE(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 NE(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 cM(t,e,n){return t.length===0||e.length===0?[]:(n??=Object.is,IE(DO(t,e),_O(([r,i])=>n(r,i)),Ma(([r,i])=>r)))}const uM="LIKEC4_DELAY";function MD(...t){let e=100;return t.length===2?e=PO(t[0],t[1]):t.length===1&&(e=t[0]),new Promise(n=>{setTimeout(()=>{n(uM)},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 Vn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function lM(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Fd(t){return typeof t=="object"&&t!==null&&vt(t.container)&&Vn(t.reference)&&typeof t.message=="string"}class zD{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 BD(t){return ri(t)&&typeof t.fullText=="string"}class Pt{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 Pt(()=>({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 Jt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=dM(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 Pt(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Jt:{done:!1,value:e(i)}})}filter(e){return new Pt(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Jt})}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 Pt(()=>({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(Md(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Jt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Pt(()=>({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(Md(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Jt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Pt(()=>{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 Pt(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Jt:this.nextFn(n.state)))}distinct(e){return new Pt(()=>({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 Jt})}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 dM(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Md(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Lo=new Pt(()=>{},()=>Jt),Jt=Object.freeze({done:!0,value:void 0});function Qe(...t){if(t.length===1){const e=t[0];if(e instanceof Pt)return e;if(Md(e))return new Pt(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Pt(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Jt)}return t.length>1?new Pt(()=>({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++];Md(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Jt}):Lo}class Fo extends Pt{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 Jt})}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 qD(t){return Va(t).filter(Cs)}function jD(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function zd(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 Ar;(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"})(Ar||(Ar={}));function UD(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Ar.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Ar.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?Ar.Inside:n?Ar.OverlapBack:r?Ar.OverlapFront:Ar.Outside}function sg(t,e){return UD(t,e)>Ar.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 Bd(t,e){if(t){const n=WD(t,!0);if(n&&ag(n,e))return n;if(BD(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=GD(t,e,!1);if(n)return cg(n,e)}}function qd(t,e){if(Cs(t))return t;if(ri(t)){const n=GD(t,e,!0);if(n)return qd(n,e)}}function GD(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 WD(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 HD(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 fM(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 VD(t,e){const n=hM(t,e);return n?n.parent.content.slice(n.a+1,n.b):[]}function hM(t,e){const n=KD(t),r=KD(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 KD(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 pM={__proto__:null,DefaultNameRegexp:og,get RangeComparison(){return Ar},compareRange:UD,findCommentNode:Bd,findDeclarationNodeAtOffset:Fi,findLeafNodeAtOffset:cg,findLeafNodeBeforeOffset:qd,flattenCst:qD,getInteriorNodes:VD,getNextNode:HD,getPreviousNode:WD,getStartlineNode:fM,inRange:sg,isChildNode:jD,isCommentNode:ag,streamCst:Va,toDocumentSegment:Ka,tokenToRange:zd};class YD extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Ya(t){throw new Error("Error! The input value was not handled.")}const jd="AbstractRule",Ud="AbstractType",ug="Condition",XD="TypeDefinition",lg="ValueLiteral",Xa="AbstractElement";function dg(t){return Be.isInstance(t,Xa)}const Gd="ArrayLiteral",Ja="ArrayType";function mM(t){return Be.isInstance(t,Ja)}const Za="BooleanLiteral";function gM(t){return Be.isInstance(t,Za)}const Qa="Conjunction";function yM(t){return Be.isInstance(t,Qa)}const ec="Disjunction";function vM(t){return Be.isInstance(t,ec)}const Wd="Grammar",fg="GrammarImport",tc="InferredType";function JD(t){return Be.isInstance(t,tc)}const nc="Interface";function ZD(t){return Be.isInstance(t,nc)}const hg="NamedArgument",rc="Negation";function wM(t){return Be.isInstance(t,rc)}const Hd="NumberLiteral",Vd="Parameter",ic="ParameterReference";function bM(t){return Be.isInstance(t,ic)}const sc="ParserRule";function Zt(t){return Be.isInstance(t,sc)}const oc="ReferenceType";function EM(t){return Be.isInstance(t,oc)}const Kd="ReturnType";function DM(t){return Be.isInstance(t,Kd)}const ac="SimpleType";function QD(t){return Be.isInstance(t,ac)}const Yd="StringLiteral",Mo="TerminalRule";function ii(t){return Be.isInstance(t,Mo)}const cc="Type";function pg(t){return Be.isInstance(t,cc)}const mg="TypeAttribute",uc="UnionType";function TM(t){return Be.isInstance(t,uc)}const lc="Action";function _s(t){return Be.isInstance(t,lc)}const dc="Alternatives";function gg(t){return Be.isInstance(t,dc)}const fc="Assignment";function xr(t){return Be.isInstance(t,fc)}const hc="CharacterRange";function RM(t){return Be.isInstance(t,hc)}const pc="CrossReference";function mc(t){return Be.isInstance(t,pc)}const gc="EndOfFile";function SM(t){return Be.isInstance(t,gc)}const yc="Group";function Mi(t){return Be.isInstance(t,yc)}const vc="Keyword";function Ir(t){return Be.isInstance(t,vc)}const wc="NegatedToken";function kM(t){return Be.isInstance(t,wc)}const bc="RegexToken";function $M(t){return Be.isInstance(t,bc)}const Ec="RuleCall";function si(t){return Be.isInstance(t,Ec)}const Dc="TerminalAlternatives";function CM(t){return Be.isInstance(t,Dc)}const Tc="TerminalGroup";function _M(t){return Be.isInstance(t,Tc)}const Rc="TerminalRuleCall";function eT(t){return Be.isInstance(t,Rc)}const Sc="UnorderedGroup";function yg(t){return Be.isInstance(t,Sc)}const kc="UntilToken";function AM(t){return Be.isInstance(t,kc)}const $c="Wildcard";function xM(t){return Be.isInstance(t,$c)}class tT extends zD{getAllTypes(){return[Xa,jd,Ud,lc,dc,Gd,Ja,fc,Za,hc,ug,Qa,pc,ec,gc,Wd,fg,yc,tc,nc,vc,hg,wc,rc,Hd,Vd,ic,sc,oc,bc,Kd,Ec,ac,Yd,Dc,Tc,Mo,Rc,cc,mg,XD,uc,Sc,kc,lg,$c]}computeIsSubtype(e,n){switch(e){case lc:case dc:case fc:case hc:case pc:case gc:case yc:case vc:case wc:case bc:case Ec:case Dc:case Tc:case Rc:case Sc:case kc:case $c:return this.isSubtype(Xa,n);case Gd:case Hd:case Yd:return this.isSubtype(lg,n);case Ja:case oc:case ac:case uc:return this.isSubtype(XD,n);case Za:return this.isSubtype(ug,n)||this.isSubtype(lg,n);case Qa:case ec:case rc:case ic:return this.isSubtype(ug,n);case tc:case nc:case cc:return this.isSubtype(Ud,n);case sc: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 Xa:return{name:Xa,properties:[{name:"cardinality"},{name:"lookahead"}]};case Gd:return{name:Gd,properties:[{name:"elements",defaultValue:[]}]};case Ja:return{name:Ja,properties:[{name:"elementType"}]};case Za:return{name:Za,properties:[{name:"true",defaultValue:!1}]};case Qa:return{name:Qa,properties:[{name:"left"},{name:"right"}]};case ec:return{name:ec,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 tc:return{name:tc,properties:[{name:"name"}]};case nc:return{name:nc,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case hg:return{name:hg,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case rc:return{name:rc,properties:[{name:"value"}]};case Hd:return{name:Hd,properties:[{name:"value"}]};case Vd:return{name:Vd,properties:[{name:"name"}]};case ic:return{name:ic,properties:[{name:"parameter"}]};case sc:return{name:sc,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 oc:return{name:oc,properties:[{name:"referenceType"}]};case Kd:return{name:Kd,properties:[{name:"name"}]};case ac:return{name:ac,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 cc:return{name:cc,properties:[{name:"name"},{name:"type"}]};case mg:return{name:mg,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case uc:return{name:uc,properties:[{name:"types",defaultValue:[]}]};case lc:return{name:lc,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case dc:return{name:dc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case fc:return{name:fc,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case hc:return{name:hc,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case pc:return{name:pc,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case gc:return{name:gc,properties:[{name:"cardinality"},{name:"lookahead"}]};case yc:return{name:yc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case vc:return{name:vc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case wc:return{name:wc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case bc:return{name:bc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Ec:return{name:Ec,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Dc:return{name:Dc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tc:return{name:Tc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Rc:return{name:Rc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Sc:return{name:Sc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case kc:return{name:kc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case $c:return{name:$c,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const Be=new tT;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 En(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Cc(t,e){let n=t;for(;n;){if(e(n))return!0;n=n.$container}return!1}function on(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 _c(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new Pt(()=>({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 Jt})}function Pr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Fo(t,n=>_c(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=>_c(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 Pt(()=>({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(Vn(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(Vn(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Jt})}function IM(t,e=on(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]=nT(i.defaultValue))}function nT(t){return Array.isArray(t)?[...t.map(nT)]: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(Vn(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)):Vn(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:IM,findRootNode:Xd,getContainerOfType:En,getDocument:on,hasContainerOfType:Cc,linkContentToContainer:vg,streamAllContents:Pr,streamAst:oi,streamContents:_c,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 Ac(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 PM(){throw Error("Internal Error - Should never get here!")}function rT(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 iT=[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")],NM=/[0-9a-fA-F]/,tf=/[0-9]/,OM=/[1-9]/;class sT{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":Ac(r,"global");break;case"i":Ac(r,"ignoreCase");break;case"m":Ac(r,"multiLine");break;case"u":Ac(r,"unicode");break;case"y":Ac(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 PM()}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=iT;break;case"S":e=iT,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,rT(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,rT(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(OM.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(NM.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 oT=/\r?\n/gm,LM=new sT;class FM 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 FM;function MM(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Tg.reset(t),Tg.visit(LM.pattern(t)),Tg.multiline}catch{return!1}}const zM=`\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 zM.some(n=>e.test(n))}function rf(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function BM(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:rf(e)).join("")}function qM(t,e){const n=jM(t),r=e.match(n);return!!r&&r[0].length>0}function jM(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=>Zt(e)&&e.entry)}function aT(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(aT(t));for(const o of i)cT(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 cT(t,e,n){e.add(t.name),Pr(t).forEach(r=>{if(si(r)||n&&eT(r)){const i=r.rule.ref;i&&!e.has(i.name)&&cT(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 uT(t){return t.hidden&&!Rg(Pc(t))}function Bo(t,e){return!t||!e?[]:$g(t,e,t.astNode,!0)}function xn(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=En(t.grammarSource,xr);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 xc(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(Ir(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?Ir(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):r.prune()}while(!i.done);return s}function lT(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=En(t.grammarSource,xr);if(r)return r;t=t.container}}function Ag(t){let e=t;return JD(e)&&(_s(e.$container)?e=e.$container.$container:Zt(e.$container)?e=e.$container:Ya(e.$container)),dT(t,e,new Map)}function dT(t,e,n){var r;function i(s,o){let a;return En(s,xr)||(a=dT(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 Pr(e)){if(xr(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(si(s)&&Zt(s.rule.ref))return i(s,s.rule.ref);if(QD(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function fT(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=Pr(n[i]).find(_s);if(o)return o}}}if(dg(e))return fT(e)}function qo(t,e){return t==="?"||t==="*"||Mi(e)&&!!e.guardCondition}function hT(t){return t==="*"||t==="+"}function UM(t){return t==="+="}function of(t){return pT(t,new Set)}function pT(t,e){if(e.has(t))return!0;e.add(t);for(const n of Pr(t))if(si(n)){if(!n.rule.ref||Zt(n.rule.ref)&&!pT(n.rule.ref,e))return!1}else{if(xr(n))return!1;if(_s(n))return!1}return!!t.definition}function GM(t){return xg(t.type,new Set)}function xg(t,e){if(e.has(t))return!0;if(e.add(t),mM(t))return!1;if(EM(t))return!1;if(TM(t))return t.types.every(n=>xg(n,e));if(QD(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(Zt(e))return e.name;if(ZD(e)||pg(e))return e.name}}}function Ic(t){var e;if(Zt(t))return of(t)?t.name:(e=As(t))!==null&&e!==void 0?e:t.name;if(ZD(t)||pg(t)||DM(t))return t.name;if(_s(t)){const n=mT(t);if(n)return n}else if(JD(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function mT(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Ic(t.type.ref)}function WM(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 gT(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 Pc(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(CM(t))return HM(t);if(_M(t))return VM(t);if(RM(t))return XM(t);if(eT(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(kM(t))return YM(t);if(AM(t))return KM(t);if($M(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(xM(t))return ai(Ig,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function HM(t){return ai(t.elements.map(e=>jo(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function VM(t){return ai(t.elements.map(e=>jo(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function KM(t){return ai(`${Ig}*?${jo(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function YM(t){return ai(`(?!${jo(t.terminal)})${Ig}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function XM(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:lT,findNameAssignment:Ag,findNodeForKeyword:xc,findNodeForProperty:xn,findNodesForKeyword:Cg,findNodesForKeywordInternal:_g,findNodesForProperty:Bo,getActionAtElement:fT,getActionType:mT,getAllReachableRules:Sg,getCrossReferenceTerminal:kg,getEntryRule:sf,getExplicitRuleType:As,getHiddenRules:aT,getRuleType:gT,getRuleTypeName:WM,getTypeName:Ic,isArrayCardinality:hT,isArrayOperator:UM,isCommentTerminal:uT,isDataType:GM,isDataTypeRule:of,isOptionalCardinality:qo,terminalRegex:Pc};function JM(t){const e=[],n=t.Grammar;for(const r of n.rules)ii(r)&&uT(r)&&MM(Pc(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:og}}var yT=typeof global=="object"&&global&&global.Object===Object&&global,ZM=typeof self=="object"&&self&&self.Object===Object&&self,Nr=yT||ZM||Function("return this")(),Kn=Nr.Symbol,vT=Object.prototype,QM=vT.hasOwnProperty,e3=vT.toString,Nc=Kn?Kn.toStringTag:void 0;function t3(t){var e=QM.call(t,Nc),n=t[Nc];try{t[Nc]=void 0;var r=!0}catch{}var i=e3.call(t);return r&&(e?t[Nc]=n:delete t[Nc]),i}var n3=Object.prototype,r3=n3.toString;function i3(t){return r3.call(t)}var s3="[object Null]",o3="[object Undefined]",wT=Kn?Kn.toStringTag:void 0;function zi(t){return t==null?t===void 0?o3:s3:wT&&wT in Object(t)?t3(t):i3(t)}function lr(t){return t!=null&&typeof t=="object"}var a3="[object Symbol]";function Oc(t){return typeof t=="symbol"||lr(t)&&zi(t)==a3}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 qe=Array.isArray,c3=1/0,bT=Kn?Kn.prototype:void 0,ET=bT?bT.toString:void 0;function DT(t){if(typeof t=="string")return t;if(qe(t))return cf(t,DT)+"";if(Oc(t))return ET?ET.call(t):"";var e=t+"";return e=="0"&&1/t==-c3?"-0":e}var u3=/\s/;function l3(t){for(var e=t.length;e--&&u3.test(t.charAt(e)););return e}var d3=/^\s+/;function f3(t){return t&&t.slice(0,l3(t)+1).replace(d3,"")}function Yn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var TT=NaN,h3=/^[-+]0x[0-9a-f]+$/i,p3=/^0b[01]+$/i,m3=/^0o[0-7]+$/i,g3=parseInt;function y3(t){if(typeof t=="number")return t;if(Oc(t))return TT;if(Yn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Yn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=f3(t);var n=p3.test(t);return n||m3.test(t)?g3(t.slice(2),n?2:8):h3.test(t)?TT:+t}var RT=1/0,v3=17976931348623157e292;function w3(t){if(!t)return t===0?t:0;if(t=y3(t),t===RT||t===-RT){var e=t<0?-1:1;return e*v3}return t===t?t:0}function uf(t){var e=w3(t),n=e%1;return e===e?n?e-n:e:0}function xs(t){return t}var b3="[object AsyncFunction]",E3="[object Function]",D3="[object GeneratorFunction]",T3="[object Proxy]";function ci(t){if(!Yn(t))return!1;var e=zi(t);return e==E3||e==D3||e==b3||e==T3}var Ng=Nr["__core-js_shared__"],ST=function(){var t=/[^.]+$/.exec(Ng&&Ng.keys&&Ng.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function R3(t){return!!ST&&ST in t}var S3=Function.prototype,k3=S3.toString;function Is(t){if(t!=null){try{return k3.call(t)}catch{}try{return t+""}catch{}}return""}var $3=/[\\^$.*+?()[\]{}|]/g,C3=/^\[object .+?Constructor\]$/,_3=Function.prototype,A3=Object.prototype,x3=_3.toString,I3=A3.hasOwnProperty,P3=RegExp("^"+x3.call(I3).replace($3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function N3(t){if(!Yn(t)||R3(t))return!1;var e=ci(t)?P3:C3;return e.test(Is(t))}function O3(t,e){return t?.[e]}function Ps(t,e){var n=O3(t,e);return N3(n)?n:void 0}var Og=Ps(Nr,"WeakMap"),kT=Object.create,L3=function(){function t(){}return function(e){if(!Yn(e))return{};if(kT)return kT(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function F3(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 Ot(){}function M3(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var z3=800,B3=16,q3=Date.now;function j3(t){var e=0,n=0;return function(){var r=q3(),i=B3-(r-n);if(n=r,i>0){if(++e>=z3)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function U3(t){return function(){return t}}var lf=function(){try{var t=Ps(Object,"defineProperty");return t({},"",{}),t}catch{}}(),G3=lf?function(t,e){return lf(t,"toString",{configurable:!0,enumerable:!1,value:U3(e),writable:!0})}:xs,W3=j3(G3);function $T(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function CT(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 H3(t){return t!==t}function V3(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?V3(t,e,n):CT(t,H3,n)}function _T(t,e){var n=t==null?0:t.length;return!!n&&Lg(t,e,0)>-1}var K3=9007199254740991,Y3=/^(?:0|[1-9]\d*)$/;function df(t,e){var n=typeof t;return e=e??K3,!!e&&(n=="number"||n!="symbol"&&Y3.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 Lc(t,e){return t===e||t!==t&&e!==e}var X3=Object.prototype,J3=X3.hasOwnProperty;function ff(t,e,n){var r=t[e];(!(J3.call(t,e)&&Lc(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 AT=Math.max;function Z3(t,e,n){return e=AT(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=AT(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),F3(t,this,a)}}function zg(t,e){return W3(Z3(t,e,xs),t+"")}var Q3=9007199254740991;function Bg(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Q3}function Or(t){return t!=null&&Bg(t.length)&&!ci(t)}function xT(t,e,n){if(!Yn(n))return!1;var r=typeof e;return(r=="number"?Or(n)&&df(e,n.length):r=="string"&&e in n)?Lc(n[e],t):!1}function e8(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&&xT(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 t8=Object.prototype;function Fc(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||t8;return t===n}function n8(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var r8="[object Arguments]";function IT(t){return lr(t)&&zi(t)==r8}var PT=Object.prototype,i8=PT.hasOwnProperty,s8=PT.propertyIsEnumerable,hf=IT(function(){return arguments}())?IT:function(t){return lr(t)&&i8.call(t,"callee")&&!s8.call(t,"callee")},o8=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 a8(){return!1}var NT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,OT=NT&&typeof module=="object"&&module&&!module.nodeType&&module,c8=OT&&OT.exports===NT,LT=c8?Nr.Buffer:void 0,u8=LT?LT.isBuffer:void 0,Mc=u8||a8,l8="[object Arguments]",d8="[object Array]",f8="[object Boolean]",h8="[object Date]",p8="[object Error]",m8="[object Function]",g8="[object Map]",y8="[object Number]",v8="[object Object]",w8="[object RegExp]",b8="[object Set]",E8="[object String]",D8="[object WeakMap]",T8="[object ArrayBuffer]",R8="[object DataView]",S8="[object Float32Array]",k8="[object Float64Array]",$8="[object Int8Array]",C8="[object Int16Array]",_8="[object Int32Array]",A8="[object Uint8Array]",x8="[object Uint8ClampedArray]",I8="[object Uint16Array]",P8="[object Uint32Array]",ot={};ot[S8]=ot[k8]=ot[$8]=ot[C8]=ot[_8]=ot[A8]=ot[x8]=ot[I8]=ot[P8]=!0,ot[l8]=ot[d8]=ot[T8]=ot[f8]=ot[R8]=ot[h8]=ot[p8]=ot[m8]=ot[g8]=ot[y8]=ot[v8]=ot[w8]=ot[b8]=ot[E8]=ot[D8]=!1;function N8(t){return lr(t)&&Bg(t.length)&&!!ot[zi(t)]}function pf(t){return function(e){return t(e)}}var FT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zc=FT&&typeof module=="object"&&module&&!module.nodeType&&module,O8=zc&&zc.exports===FT,qg=O8&&yT.process,Bi=function(){try{var t=zc&&zc.require&&zc.require("util").types;return t||qg&&qg.binding&&qg.binding("util")}catch{}}(),MT=Bi&&Bi.isTypedArray,jg=MT?pf(MT):N8,L8=Object.prototype,F8=L8.hasOwnProperty;function zT(t,e){var n=qe(t),r=!n&&hf(t),i=!n&&!r&&Mc(t),s=!n&&!r&&!i&&jg(t),o=n||r||i||s,a=o?n8(t.length,String):[],c=a.length;for(var u in t)(e||F8.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 BT(t,e){return function(n){return t(e(n))}}var M8=BT(Object.keys,Object),z8=Object.prototype,B8=z8.hasOwnProperty;function qT(t){if(!Fc(t))return M8(t);var e=[];for(var n in Object(t))B8.call(t,n)&&n!="constructor"&&e.push(n);return e}function Xn(t){return Or(t)?zT(t):qT(t)}var q8=Object.prototype,j8=q8.hasOwnProperty,In=e8(function(t,e){if(Fc(e)||Or(e)){Mg(e,Xn(e),t);return}for(var n in e)j8.call(e,n)&&ff(t,n,e[n])});function U8(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var G8=Object.prototype,W8=G8.hasOwnProperty;function H8(t){if(!Yn(t))return U8(t);var e=Fc(t),n=[];for(var r in t)r=="constructor"&&(e||!W8.call(t,r))||n.push(r);return n}function jT(t){return Or(t)?zT(t,!0):H8(t)}var V8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,K8=/^\w*$/;function Ug(t,e){if(qe(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Oc(t)?!0:K8.test(t)||!V8.test(t)||e!=null&&t in Object(e)}var Bc=Ps(Object,"create");function Y8(){this.__data__=Bc?Bc(null):{},this.size=0}function X8(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var J8="__lodash_hash_undefined__",Z8=Object.prototype,Q8=Z8.hasOwnProperty;function ez(t){var e=this.__data__;if(Bc){var n=e[t];return n===J8?void 0:n}return Q8.call(e,t)?e[t]:void 0}var tz=Object.prototype,nz=tz.hasOwnProperty;function rz(t){var e=this.__data__;return Bc?e[t]!==void 0:nz.call(e,t)}var iz="__lodash_hash_undefined__";function sz(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Bc&&e===void 0?iz: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=Y8,Ns.prototype.delete=X8,Ns.prototype.get=ez,Ns.prototype.has=rz,Ns.prototype.set=sz;function oz(){this.__data__=[],this.size=0}function mf(t,e){for(var n=t.length;n--;)if(Lc(t[n][0],e))return n;return-1}var az=Array.prototype,cz=az.splice;function uz(t){var e=this.__data__,n=mf(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():cz.call(e,n,1),--this.size,!0}function lz(t){var e=this.__data__,n=mf(e,t);return n<0?void 0:e[n][1]}function dz(t){return mf(this.__data__,t)>-1}function fz(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=oz,li.prototype.delete=uz,li.prototype.get=lz,li.prototype.has=dz,li.prototype.set=fz;var qc=Ps(Nr,"Map");function hz(){this.size=0,this.__data__={hash:new Ns,map:new(qc||li),string:new Ns}}function pz(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 pz(e)?n[typeof e=="string"?"string":"hash"]:n.map}function mz(t){var e=gf(this,t).delete(t);return this.size-=e?1:0,e}function gz(t){return gf(this,t).get(t)}function yz(t){return gf(this,t).has(t)}function vz(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=hz,di.prototype.delete=mz,di.prototype.get=gz,di.prototype.has=yz,di.prototype.set=vz;var wz="Expected a function";function Gg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(wz);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 bz=500;function Ez(t){var e=Gg(t,function(r){return n.size===bz&&n.clear(),r}),n=e.cache;return e}var Dz=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Tz=/\\(\\)?/g,Rz=Ez(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Dz,function(n,r,i,s){e.push(i?s.replace(Tz,"$1"):r||n)}),e});function Sz(t){return t==null?"":DT(t)}function yf(t,e){return qe(t)?t:Ug(t,e)?[t]:Rz(Sz(t))}var kz=1/0;function jc(t){if(typeof t=="string"||Oc(t))return t;var e=t+"";return e=="0"&&1/t==-kz?"-0":e}function Wg(t,e){e=yf(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[jc(e[n++])];return n&&n==r?t:void 0}function $z(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 UT=Kn?Kn.isConcatSpreadable:void 0;function Cz(t){return qe(t)||hf(t)||!!(UT&&t&&t[UT])}function Vg(t,e,n,r,i){var s=-1,o=t.length;for(n||(n=Cz),i||(i=[]);++s<o;){var a=t[s];n(a)?Hg(i,a):r||(i[i.length]=a)}return i}function Jn(t){var e=t==null?0:t.length;return e?Vg(t):[]}var GT=BT(Object.getPrototypeOf,Object);function WT(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 _z(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 Az(){this.__data__=new li,this.size=0}function xz(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function Iz(t){return this.__data__.get(t)}function Pz(t){return this.__data__.has(t)}var Nz=200;function Oz(t,e){var n=this.__data__;if(n instanceof li){var r=n.__data__;if(!qc||r.length<Nz-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 Lr(t){var e=this.__data__=new li(t);this.size=e.size}Lr.prototype.clear=Az,Lr.prototype.delete=xz,Lr.prototype.get=Iz,Lr.prototype.has=Pz,Lr.prototype.set=Oz;function Lz(t,e){return t&&Mg(e,Xn(e),t)}var HT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,VT=HT&&typeof module=="object"&&module&&!module.nodeType&&module,Fz=VT&&VT.exports===HT,KT=Fz?Nr.Buffer:void 0,YT=KT?KT.allocUnsafe:void 0;function Mz(t,e){var n=t.length,r=YT?YT(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 XT(){return[]}var zz=Object.prototype,Bz=zz.propertyIsEnumerable,JT=Object.getOwnPropertySymbols,Yg=JT?function(t){return t==null?[]:(t=Object(t),Kg(JT(t),function(e){return Bz.call(t,e)}))}:XT;function qz(t,e){return Mg(t,Yg(t),e)}var jz=Object.getOwnPropertySymbols,Uz=jz?function(t){for(var e=[];t;)Hg(e,Yg(t)),t=GT(t);return e}:XT;function ZT(t,e,n){var r=e(t);return qe(t)?r:Hg(r,n(t))}function Xg(t){return ZT(t,Xn,Yg)}function Gz(t){return ZT(t,jT,Uz)}var Jg=Ps(Nr,"DataView"),Zg=Ps(Nr,"Promise"),Uo=Ps(Nr,"Set"),QT="[object Map]",Wz="[object Object]",eR="[object Promise]",tR="[object Set]",nR="[object WeakMap]",rR="[object DataView]",Hz=Is(Jg),Vz=Is(qc),Kz=Is(Zg),Yz=Is(Uo),Xz=Is(Og),Zn=zi;(Jg&&Zn(new Jg(new ArrayBuffer(1)))!=rR||qc&&Zn(new qc)!=QT||Zg&&Zn(Zg.resolve())!=eR||Uo&&Zn(new Uo)!=tR||Og&&Zn(new Og)!=nR)&&(Zn=function(t){var e=zi(t),n=e==Wz?t.constructor:void 0,r=n?Is(n):"";if(r)switch(r){case Hz:return rR;case Vz:return QT;case Kz:return eR;case Yz:return tR;case Xz:return nR}return e});var Jz=Object.prototype,Zz=Jz.hasOwnProperty;function Qz(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&Zz.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var vf=Nr.Uint8Array;function eB(t){var e=new t.constructor(t.byteLength);return new vf(e).set(new vf(t)),e}function tB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var nB=/\w*$/;function rB(t){var e=new t.constructor(t.source,nB.exec(t));return e.lastIndex=t.lastIndex,e}var iR=Kn?Kn.prototype:void 0,sR=iR?iR.valueOf:void 0;function iB(t){return sR?Object(sR.call(t)):{}}function sB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var oB="[object Boolean]",aB="[object Date]",cB="[object Map]",uB="[object Number]",lB="[object RegExp]",dB="[object Set]",fB="[object String]",hB="[object Symbol]",pB="[object ArrayBuffer]",mB="[object DataView]",gB="[object Float32Array]",yB="[object Float64Array]",vB="[object Int8Array]",wB="[object Int16Array]",bB="[object Int32Array]",EB="[object Uint8Array]",DB="[object Uint8ClampedArray]",TB="[object Uint16Array]",RB="[object Uint32Array]";function SB(t,e,n){var r=t.constructor;switch(e){case pB:return eB(t);case oB:case aB:return new r(+t);case mB:return tB(t);case gB:case yB:case vB:case wB:case bB:case EB:case DB:case TB:case RB:return sB(t);case cB:return new r;case uB:case fB:return new r(t);case lB:return rB(t);case dB:return new r;case hB:return iB(t)}}function kB(t){return typeof t.constructor=="function"&&!Fc(t)?L3(GT(t)):{}}var $B="[object Map]";function CB(t){return lr(t)&&Zn(t)==$B}var oR=Bi&&Bi.isMap,_B=oR?pf(oR):CB,AB="[object Set]";function xB(t){return lr(t)&&Zn(t)==AB}var aR=Bi&&Bi.isSet,IB=aR?pf(aR):xB,cR="[object Arguments]",PB="[object Array]",NB="[object Boolean]",OB="[object Date]",LB="[object Error]",uR="[object Function]",FB="[object GeneratorFunction]",MB="[object Map]",zB="[object Number]",lR="[object Object]",BB="[object RegExp]",qB="[object Set]",jB="[object String]",UB="[object Symbol]",GB="[object WeakMap]",WB="[object ArrayBuffer]",HB="[object DataView]",VB="[object Float32Array]",KB="[object Float64Array]",YB="[object Int8Array]",XB="[object Int16Array]",JB="[object Int32Array]",ZB="[object Uint8Array]",QB="[object Uint8ClampedArray]",e4="[object Uint16Array]",t4="[object Uint32Array]",it={};it[cR]=it[PB]=it[WB]=it[HB]=it[NB]=it[OB]=it[VB]=it[KB]=it[YB]=it[XB]=it[JB]=it[MB]=it[zB]=it[lR]=it[BB]=it[qB]=it[jB]=it[UB]=it[ZB]=it[QB]=it[e4]=it[t4]=!0,it[LB]=it[uR]=it[GB]=!1;function wf(t,e,n,r,i,s){var o;if(o!==void 0)return o;if(!Yn(t))return t;var a=qe(t);if(a)return o=Qz(t),M3(t,o);var c=Zn(t),u=c==uR||c==FB;if(Mc(t))return Mz(t);if(c==lR||c==cR||u&&!i)return o=u?{}:kB(t),qz(t,Lz(o,t));if(!it[c])return i?t:{};o=SB(t,c),s||(s=new Lr);var l=s.get(t);if(l)return l;s.set(t,o),IB(t)?t.forEach(function(h){o.add(wf(h,e,n,h,t,s))}):_B(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 $T(f||t,function(h,p){f&&(p=h,h=t[p]),ff(o,p,wf(h,e,n,p,t,s))}),o}var n4=4;function Gt(t){return wf(t,n4)}function Uc(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 r4="__lodash_hash_undefined__";function i4(t){return this.__data__.set(t,r4),this}function s4(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=i4,Go.prototype.has=s4;function dR(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 o4=1,a4=2;function fR(t,e,n,r,i,s){var o=n&o4,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&a4?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 y=o?r(m,p,d,e,t,s):r(p,m,d,t,e,s);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!dR(e,function(g,w){if(!Qg(h,w)&&(p===g||i(p,g,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 c4(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 u4=1,l4=2,d4="[object Boolean]",f4="[object Date]",h4="[object Error]",p4="[object Map]",m4="[object Number]",g4="[object RegExp]",y4="[object Set]",v4="[object String]",w4="[object Symbol]",b4="[object ArrayBuffer]",E4="[object DataView]",hR=Kn?Kn.prototype:void 0,ty=hR?hR.valueOf:void 0;function D4(t,e,n,r,i,s,o){switch(n){case E4:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case b4:return!(t.byteLength!=e.byteLength||!s(new vf(t),new vf(e)));case d4:case f4:case m4:return Lc(+t,+e);case h4:return t.name==e.name&&t.message==e.message;case g4:case v4:return t==e+"";case p4:var a=c4;case y4:var c=r&u4;if(a||(a=ey),t.size!=e.size&&!c)return!1;var u=o.get(t);if(u)return u==e;r|=l4,o.set(t,e);var l=fR(a(t),a(e),r,i,s,o);return o.delete(t),l;case w4:if(ty)return ty.call(t)==ty.call(e)}return!1}var T4=1,R4=Object.prototype,S4=R4.hasOwnProperty;function k4(t,e,n,r,i,s){var o=n&T4,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:S4.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 y=o;++d<c;){f=a[d];var g=t[f],w=e[f];if(r)var E=o?r(w,g,f,e,t,s):r(g,w,f,t,e,s);if(!(E===void 0?g===w||i(g,w,n,r,s):E)){m=!1;break}y||(y=f=="constructor")}if(m&&!y){var k=t.constructor,_=e.constructor;k!=_&&"constructor"in t&&"constructor"in e&&!(typeof k=="function"&&k instanceof k&&typeof _=="function"&&_ instanceof _)&&(m=!1)}return s.delete(t),s.delete(e),m}var $4=1,pR="[object Arguments]",mR="[object Array]",bf="[object Object]",C4=Object.prototype,gR=C4.hasOwnProperty;function _4(t,e,n,r,i,s){var o=qe(t),a=qe(e),c=o?mR:Zn(t),u=a?mR:Zn(e);c=c==pR?bf:c,u=u==pR?bf:u;var l=c==bf,d=u==bf,f=c==u;if(f&&Mc(t)){if(!Mc(e))return!1;o=!0,l=!1}if(f&&!l)return s||(s=new Lr),o||jg(t)?fR(t,e,n,r,i,s):D4(t,e,c,n,r,i,s);if(!(n&$4)){var h=l&&gR.call(t,"__wrapped__"),p=d&&gR.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,y=p?e.value():e;return s||(s=new Lr),i(m,y,n,r,s)}}return f?(s||(s=new Lr),k4(t,e,n,r,i,s)):!1}function ny(t,e,n,r,i){return t===e?!0:t==null||e==null||!lr(t)&&!lr(e)?t!==t&&e!==e:_4(t,e,n,r,ny,i)}var A4=1,x4=2;function I4(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 Lr,d;if(!(d===void 0?ny(u,c,A4|x4,r,l):d))return!1}}return!0}function yR(t){return t===t&&!Yn(t)}function P4(t){for(var e=Xn(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,yR(i)]}return e}function vR(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function N4(t){var e=P4(t);return e.length==1&&e[0][2]?vR(e[0][0],e[0][1]):function(n){return n===t||I4(n,t,e)}}function O4(t,e){return t!=null&&e in Object(t)}function wR(t,e,n){e=yf(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var o=jc(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)&&(qe(t)||hf(t)))}function L4(t,e){return t!=null&&wR(t,e,O4)}var F4=1,M4=2;function z4(t,e){return Ug(t)&&yR(e)?vR(jc(t),e):function(n){var r=$z(n,t);return r===void 0&&r===e?L4(n,t):ny(e,r,F4|M4)}}function B4(t){return function(e){return e?.[t]}}function q4(t){return function(e){return Wg(e,t)}}function j4(t){return Ug(t)?B4(jc(t)):q4(t)}function dr(t){return typeof t=="function"?t:t==null?xs:typeof t=="object"?qe(t)?z4(t[0],t[1]):N4(t):j4(t)}function U4(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 G4(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 W4=G4();function H4(t,e){return t&&W4(t,e,Xn)}function V4(t,e){return function(n,r){if(n==null)return n;if(!Or(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=V4(H4);function K4(t,e,n,r){return Os(t,function(i,s,o){e(r,i,n(i),o)}),r}function Y4(t,e){return function(n,r){var i=qe(n)?U4:K4,s=e?e():{};return i(n,t,dr(r),s)}}var bR=Object.prototype,X4=bR.hasOwnProperty,ry=zg(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&xT(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],o=jT(s),a=-1,c=o.length;++a<c;){var u=o[a],l=t[u];(l===void 0||Lc(l,bR[u])&&!X4.call(t,u))&&(t[u]=s[u])}return t});function ER(t){return lr(t)&&Or(t)}var J4=200;function Z4(t,e,n,r){var i=-1,s=_T,o=!0,a=t.length,c=[],u=e.length;if(!a)return c;e.length>=J4&&(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 ER(t)?Z4(t,Vg(e,1,ER,!0)):[]});function Wo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function Wt(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),WT(t,e<0?0:e,r)):[]}function Gc(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),e=r-e,WT(t,0,e<0?0:e)):[]}function Q4(t){return typeof t=="function"?t:xs}function ve(t,e){var n=qe(t)?$T:Os;return n(t,Q4(e))}function e6(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 t6(t,e){var n=!0;return Os(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function fr(t,e,n){var r=qe(t)?e6:t6;return r(t,dr(e))}function DR(t,e){var n=[];return Os(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Pn(t,e){var n=qe(t)?Kg:DR;return n(t,dr(e))}function n6(t){return function(e,n,r){var i=Object(e);if(!Or(e)){var s=dr(n);e=Xn(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 r6=Math.max;function i6(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=r6(r+i,0)),CT(t,dr(e),i)}var Ho=n6(i6);function hr(t){return t&&t.length?t[0]:void 0}function s6(t,e){var n=-1,r=Or(t)?Array(t.length):[];return Os(t,function(i,s,o){r[++n]=e(i,s,o)}),r}function de(t,e){var n=qe(t)?cf:s6;return n(t,dr(e))}function Nn(t,e){return Vg(de(t,e))}var o6=Object.prototype,a6=o6.hasOwnProperty,c6=Y4(function(t,e,n){a6.call(t,n)?t[n].push(e):Fg(t,n,[e])}),u6=Object.prototype,l6=u6.hasOwnProperty;function d6(t,e){return t!=null&&l6.call(t,e)}function be(t,e){return t!=null&&wR(t,e,d6)}var f6="[object String]";function Dn(t){return typeof t=="string"||!qe(t)&&lr(t)&&zi(t)==f6}function h6(t,e){return cf(e,function(n){return t[n]})}function Lt(t){return t==null?[]:h6(t,Xn(t))}var p6=Math.max;function an(t,e,n,r){t=Or(t)?t:Lt(t),n=n&&!r?uf(n):0;var i=t.length;return n<0&&(n=p6(i+n,0)),Dn(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Lg(t,e,n)>-1}function TR(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Lg(t,e,i)}var m6="[object Map]",g6="[object Set]",y6=Object.prototype,v6=y6.hasOwnProperty;function tt(t){if(t==null)return!0;if(Or(t)&&(qe(t)||typeof t=="string"||typeof t.splice=="function"||Mc(t)||jg(t)||hf(t)))return!t.length;var e=Zn(t);if(e==m6||e==g6)return!t.size;if(Fc(t))return!qT(t).length;for(var n in t)if(v6.call(t,n))return!1;return!0}var w6="[object RegExp]";function b6(t){return lr(t)&&zi(t)==w6}var RR=Bi&&Bi.isRegExp,fi=RR?pf(RR):b6;function hi(t){return t===void 0}function E6(t,e){return t<e}function D6(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&&!Oc(o):n(o,a)))var a=o,c=s}return c}function T6(t){return t&&t.length?D6(t,xs,E6):void 0}var R6="Expected a function";function S6(t){if(typeof t!="function")throw new TypeError(R6);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 k6(t,e,n,r){if(!Yn(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=jc(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=Yn(l)?l:df(e[i+1])?[]:{})}ff(a,c,u),a=a[c]}return t}function $6(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var o=e[r],a=Wg(t,o);n(a,o)&&k6(s,yf(o,t),a)}return s}function pr(t,e){if(t==null)return{};var n=cf(Gz(t),function(r){return[r]});return e=dr(e),$6(t,n,function(r,i){return e(r,i[0])})}function C6(t,e,n,r,i){return i(t,function(s,o,a){n=r?(r=!1,s):e(n,s,o,a)}),n}function cn(t,e,n){var r=qe(t)?_z:C6,i=arguments.length<3;return r(t,dr(e),n,i,Os)}function Df(t,e){var n=qe(t)?Kg:DR;return n(t,S6(dr(e)))}function _6(t,e){var n;return Os(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function SR(t,e,n){var r=qe(t)?dR:_6;return r(t,dr(e))}var A6=1/0,x6=Uo&&1/ey(new Uo([,-0]))[1]==A6?function(t){return new Uo(t)}:Ot,I6=200;function kR(t,e,n){var r=-1,i=_T,s=t.length,o=!0,a=[],c=a;if(s>=I6){var u=e?null:x6(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?kR(t):[]}function P6(t,e){return t&&t.length?kR(t,dr(e)):[]}function sy(t){console&&console.error&&console.error(`Error: ${t}`)}function $R(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function CR(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 N6(t){return O6(t)?t.LABEL:t.name}function O6(t){return Dn(t.LABEL)&&t.LABEL!==""}class Fr{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 un extends Fr{constructor(e){super([]),this.idx=1,In(this,pr(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 Fr{constructor(e){super(e.definition),this.orgText="",In(this,pr(e,n=>n!==void 0))}}class Tn extends Fr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,In(this,pr(e,n=>n!==void 0))}}class Ht extends Fr{constructor(e){super(e.definition),this.idx=1,In(this,pr(e,n=>n!==void 0))}}class On extends Fr{constructor(e){super(e.definition),this.idx=1,In(this,pr(e,n=>n!==void 0))}}class Ln extends Fr{constructor(e){super(e.definition),this.idx=1,In(this,pr(e,n=>n!==void 0))}}class wt extends Fr{constructor(e){super(e.definition),this.idx=1,In(this,pr(e,n=>n!==void 0))}}class Rn extends Fr{constructor(e){super(e.definition),this.idx=1,In(this,pr(e,n=>n!==void 0))}}class Sn extends Fr{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,In(this,pr(e,n=>n!==void 0))}}class at{constructor(e){this.idx=1,In(this,pr(e,n=>n!==void 0))}accept(e){e.visit(this)}}function L6(t){return de(t,Tf)}function Tf(t){function e(n){return de(n,Tf)}if(t instanceof un){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Dn(t.label)&&(n.label=t.label),n}else{if(t instanceof Tn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ht)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof On)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Ln)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Tf(new at({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Rn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Tf(new at({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof wt)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Sn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof at){const n={type:"Terminal",name:t.terminalType.name,label:N6(t.terminalType),idx:t.idx};Dn(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 un:return this.visitNonTerminal(n);case Tn:return this.visitAlternative(n);case Ht:return this.visitOption(n);case On:return this.visitRepetitionMandatory(n);case Ln:return this.visitRepetitionMandatoryWithSeparator(n);case Rn:return this.visitRepetitionWithSeparator(n);case wt:return this.visitRepetition(n);case Sn:return this.visitAlternation(n);case at: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 F6(t){return t instanceof Tn||t instanceof Ht||t instanceof wt||t instanceof On||t instanceof Ln||t instanceof Rn||t instanceof at||t instanceof Vo}function Rf(t,e=[]){return t instanceof Ht||t instanceof wt||t instanceof Rn?!0:t instanceof Sn?SR(t.definition,r=>Rf(r,e)):t instanceof un&&an(e,t)?!1:t instanceof Fr?(t instanceof un&&e.push(t),fr(t.definition,r=>Rf(r,e))):!1}function M6(t){return t instanceof Sn}function Mr(t){if(t instanceof un)return"SUBRULE";if(t instanceof Ht)return"OPTION";if(t instanceof Sn)return"OR";if(t instanceof On)return"AT_LEAST_ONE";if(t instanceof Ln)return"AT_LEAST_ONE_SEP";if(t instanceof Rn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof at)return"CONSUME";throw Error("non exhaustive match")}class Sf{walk(e,n=[]){ve(e.definition,(r,i)=>{const s=Wt(e.definition,i+1);if(r instanceof un)this.walkProdRef(r,s,n);else if(r instanceof at)this.walkTerminal(r,s,n);else if(r instanceof Tn)this.walkFlat(r,s,n);else if(r instanceof Ht)this.walkOption(r,s,n);else if(r instanceof On)this.walkAtLeastOne(r,s,n);else if(r instanceof Ln)this.walkAtLeastOneSep(r,s,n);else if(r instanceof Rn)this.walkManySep(r,s,n);else if(r instanceof wt)this.walkMany(r,s,n);else if(r instanceof Sn)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 Ht({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=AR(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Ht({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=AR(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);ve(e.definition,s=>{const o=new Tn({definition:[s]});this.walk(o,i)})}}function AR(t,e,n){return[new Ht({definition:[new at({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Wc(t){if(t instanceof un)return Wc(t.referencedRule);if(t instanceof at)return q6(t);if(F6(t))return z6(t);if(M6(t))return B6(t);throw Error("non exhaustive match")}function z6(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(Wc(s)),r=r+1,i=n.length>r;return iy(e)}function B6(t){const e=de(t.definition,n=>Wc(n));return iy(Jn(e))}function q6(t){return[t.terminalType]}const xR="_~IN~_";class j6 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=G6(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),o=new Tn({definition:s}),a=Wc(o);this.follows[i]=a}}function U6(t){const e={};return ve(t,n=>{const r=new j6(n).startWalking();In(e,r)}),e}function G6(t,e){return t.name+e+xR}let kf={};const W6=new sT;function $f(t){const e=t.toString();if(kf.hasOwnProperty(e))return kf[e];{const n=W6.pattern(e);return kf[e]=n,n}}function H6(){kf={}}const IR="Complement Sets are not supported for first char optimization",Cf=`Unable to use "first char" lexer optimizations:
13
- `;function V6(t,e=!1){try{const n=$f(t);return oy(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===IR)e&&$R(`${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(IR);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<Vc;l++)_f(l,e,n);if(u.to>=Vc){const l=u.from>=Vc?u.from:Vc,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 Lt(e)}function _f(t,e,n){const r=qi(t);e[r]=r,n===!0&&K6(t,e)}function K6(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 PR(t,e){return Ho(t.value,n=>{if(typeof n=="number")return an(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?qe(t.value)?fr(t.value,ay):ay(t.value):!1}class Y6 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){an(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?PR(e,this.targetCharCodes)===void 0&&(this.found=!0):PR(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function cy(t,e){if(e instanceof RegExp){const n=$f(e),r=new Y6(t);return r.visit(n),r.found}else return Ho(e,n=>an(t,n.charCodeAt(0)))!==void 0}const Ls="PATTERN",Hc="defaultMode",Af="modes";let NR=typeof new RegExp("(?:)").sticky=="boolean";function X6(t,e){e=ry(e,{useSticky:NR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
- `],tracer:(w,E)=>E()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{w5()});let r;n("Reject Lexer.NA",()=>{r=Df(t,w=>w[Ls]===kn.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]==="\\"&&!an(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:e.useSticky?LR(E):OR(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,"\\$&"),_=new RegExp(k);return e.useSticky?LR(_):OR(_)}}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!==kn.SKIPPED){if(Dn(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 qe(E)?de(E,_=>TR(r,_)):[TR(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=zR(e.lineTerminatorCharacters);d=de(r,E=>!1),e.positionTracking!=="onlyOffset"&&(d=de(r,E=>be(E,"LINE_BREAKS")?!!E.LINE_BREAKS:MR(E,w)===!1&&cy(w,E.PATTERN)))});let f,h,p,m;n("Misc Mapping #2",()=>{f=de(r,FR),h=de(s,g5),p=cn(r,(w,E)=>{const k=E.GROUP;return Dn(k)&&k!==kn.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 y=!0,g=[];return e.safeMode||n("First Char Optimization",()=>{g=cn(r,(w,E,k)=>{if(typeof E.PATTERN=="string"){const _=E.PATTERN.charCodeAt(0),I=qi(_);uy(w,I,m[k])}else if(qe(E.START_CHARS_HINT)){let _;ve(E.START_CHARS_HINT,I=>{const x=typeof I=="string"?I.charCodeAt(0):I,A=qi(x);_!==A&&(_=A,uy(w,A,m[k]))})}else if(fi(E.PATTERN))if(E.PATTERN.unicode)y=!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 _=V6(E.PATTERN,e.ensureOptimizations);tt(_)&&(y=!1),ve(_,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`),y=!1;return w},[])}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:g,hasCustom:i,canBeOptimized:y}}function J6(t,e){let n=[];const r=Q6(t);n=n.concat(r.errors);const i=e5(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Z6(s)),n=n.concat(c5(s)),n=n.concat(u5(s,e)),n=n.concat(l5(s)),n}function Z6(t){let e=[];const n=Pn(t,r=>fi(r[Ls]));return e=e.concat(n5(n)),e=e.concat(s5(n)),e=e.concat(o5(n)),e=e.concat(a5(n)),e=e.concat(r5(n)),e}function Q6(t){const e=Pn(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 e5(t){const e=Pn(t,i=>{const s=i[Ls];return!fi(s)&&!ci(s)&&!be(s,"exec")&&!Dn(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 t5=/[^\\][$]/;function n5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=Pn(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return t5.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 r5(t){const e=Pn(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 i5=/[^\\[][\^]|^\^/;function s5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=Pn(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return i5.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 o5(t){const e=Pn(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 a5(t){const e=[];let n=de(t,s=>cn(t,(o,a)=>(s.PATTERN.source===a.PATTERN.source&&!an(e,a)&&a.PATTERN!==kn.NA&&(e.push(a),o.push(a)),o),[]));n=Uc(n);const r=Pn(n,s=>s.length>1);return de(r,s=>{const o=de(s,c=>c.name);return{message:`The same RegExp pattern ->${hr(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:bt.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function c5(t){const e=Pn(t,r=>{if(!be(r,"GROUP"))return!1;const i=r.GROUP;return i!==kn.SKIPPED&&i!==kn.NA&&!Dn(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 u5(t,e){const n=Pn(t,i=>i.PUSH_MODE!==void 0&&!an(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 l5(t){const e=[],n=cn(t,(r,i,s)=>{const o=i.PATTERN;return o===kn.NA||(Dn(o)?r.push({str:o,idx:s,tokenType:i}):fi(o)&&f5(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&&d5(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 d5(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 f5(t){return Ho([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function OR(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function LR(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function h5(t,e,n){const r=[];return be(t,Hc)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Hc+`> 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,Hc)&&!be(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Hc}: <${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=qe(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];ve(c,u=>{!hi(u)&&!an(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 p5(t,e,n){const r=[];let i=!1;const s=Uc(Jn(Lt(t.modes))),o=Df(s,c=>c[Ls]===kn.NA),a=zR(n);return e&&ve(o,c=>{const u=MR(c,a);if(u!==!1){const d={message:v5(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 m5(t){const e={},n=Xn(t);return ve(n,r=>{const i=t[r];if(qe(i))e[r]=[];else throw Error("non exhaustive match")}),e}function FR(t){const e=t.PATTERN;if(fi(e))return!1;if(ci(e))return!0;if(be(e,"exec"))return!0;if(Dn(e))return!1;throw Error("non exhaustive match")}function g5(t){return Dn(t)&&t.length===1?t.charCodeAt(0):!1}const y5={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 MR(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(Dn(t.PATTERN))return!1;if(FR(t))return{issue:bt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function v5(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 zR(t){return de(t,n=>Dn(n)?n.charCodeAt(0):n)}function uy(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Vc=256;let xf=[];function qi(t){return t<Vc?t:xf[t]}function w5(){if(tt(xf)){xf=new Array(65536);for(let t=0;t<65536;t++)xf[t]=t>255?255+~~(t/255):t}}function Kc(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 BR=1;const qR={};function Yc(t){const e=b5(t);E5(e),T5(e),D5(e),ve(e,n=>{n.isParent=n.categoryMatches.length>0})}function b5(t){let e=Gt(t),n=t,r=!0;for(;r;){n=Uc(Jn(de(n,s=>s.CATEGORIES)));const i=Ef(n,e);e=e.concat(i),tt(i)?r=!1:n=i}return e}function E5(t){ve(t,e=>{UR(e)||(qR[BR]=e,e.tokenTypeIdx=BR++),GR(e)&&!qe(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),GR(e)||(e.CATEGORIES=[]),R5(e)||(e.categoryMatches=[]),S5(e)||(e.categoryMatchesMap={})})}function D5(t){ve(t,e=>{e.categoryMatches=[],ve(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(qR[r].tokenTypeIdx)})})}function T5(t){ve(t,e=>{jR([],e)})}function jR(t,e){ve(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),ve(e.CATEGORIES,n=>{const r=t.concat(e);an(r,n)||jR(r,n)})}function UR(t){return be(t,"tokenTypeIdx")}function GR(t){return be(t,"CATEGORIES")}function R5(t){return be(t,"categoryMatches")}function S5(t){return be(t,"categoryMatchesMap")}function k5(t){return be(t,"tokenTypeIdx")}const ly={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 Xc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ly,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Xc);class kn{constructor(e,n=Xc){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}=CR(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=In({},Xc,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===Xc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=y5;else if(this.config.lineTerminatorCharacters===Xc.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),qe(e)?i={modes:{defaultMode:Gt(e)},defaultMode:Hc}:(s=!1,i=Gt(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(h5(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(p5(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=Xn(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(J6(a,o))}),tt(this.lexerDefinitionErrors)){Yc(a);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=X6(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=In({},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=>{$R(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(NR?(this.chopInput=xs,this.match=this.matchWithTest):(this.updateLastIndex=Ot,this.match=this.matchWithExec),s&&(this.handleModes=Ot),this.trackStartLines===!1&&(this.computeNewColumn=xs),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Ot),/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=cn(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",()=>{H6()}),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,y,g;const w=e,E=w.length;let k=0,_=0;const I=this.hasCustom?0:Math.floor(e.length/10),x=new Array(I),A=[];let P=this.trackStartLines?1:void 0,O=this.trackStartLines?1:void 0;const C=m5(this.emptyGroups),D=this.trackStartLines,R=this.config.lineTerminatorsPattern;let F=0,W=[],V=[];const Z=[],Le=[];Object.freeze(Le);let oe;function K(){return W}function Te(ne){const fe=qi(ne),Ee=V[fe];return Ee===void 0?Le:Ee}const lt=ne=>{if(Z.length===1&&ne.tokenType.PUSH_MODE===void 0){const fe=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ne);A.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?oe=Te:oe=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?oe=Te:oe=K}H.call(this,n);let Y;const ee=this.config.recoveryEnabled;for(;k<E;){c=null;const ne=w.charCodeAt(k),fe=oe(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?(g=ge.exec(w,k,x,C),g!==null?(c=g[0],g.payload!==void 0&&(u=g.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]],ae=U.pattern;if(l=null,U.isCustom===!0?(g=ae.exec(w,k,x,C),g!==null?(o=g[0],g.payload!==void 0&&(l=g.payload)):o=null):(this.updateLastIndex(ae,k),o=this.match(ae,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?_=this.addToken(x,_,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,lt,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 ae=W[i],G=ae.pattern,Fe=ae.short;if(Fe!==!1?w.charCodeAt(k)===Fe&&(U=!0):ae.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),y=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w,ge,m,ce,M),A.push({offset:ge,line:ce,column:M,length:m,message:y}),ee===!1)break}}return this.hasCustom||(x.length=_),{tokens:x,groups:C,errors:A}}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}}kn.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.",kn.NA=/NOT_APPLICABLE/;function Yo(t){return WR(t)?t.LABEL:t.name}function WR(t){return Dn(t.LABEL)&&t.LABEL!==""}const $5="parent",HR="categories",VR="label",KR="group",YR="push_mode",XR="pop_mode",JR="longer_alt",ZR="line_breaks",QR="start_chars_hint";function e1(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,HR)&&(n.CATEGORIES=t[HR]),Yc([n]),be(t,VR)&&(n.LABEL=t[VR]),be(t,KR)&&(n.GROUP=t[KR]),be(t,XR)&&(n.POP_MODE=t[XR]),be(t,YR)&&(n.PUSH_MODE=t[YR]),be(t,JR)&&(n.LONGER_ALT=t[JR]),be(t,ZR)&&(n.LINE_BREAKS=t[ZR]),be(t,QR)&&(n.START_CHARS_HINT=t[QR]),n}const ji=e1({name:"EOF",pattern:kn.NA});Yc([ji]);function dy(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 t1(t,e){return Kc(t,e)}const Xo={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${WR(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: '`+hr(e).image+"'";if(r)return s+r+a;{const c=cn(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: '`+hr(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 at?l.terminalType.name:l instanceof un?l.nonTerminalName:""}const r=t.name,i=hr(e),s=i.idx,o=Mr(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=Mr(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(Lt(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:ln.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=Gt(this.path.ruleStack).reverse(),this.occurrenceStack=Gt(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 Tn({definition:i});this.possibleTokTypes=Wc(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=hr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof at&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class n1 extends Pf{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=hr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof at&&(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=hr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof at&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class r1 extends Pf{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=hr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof at&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function fy(t,e,n=[]){n=Gt(n);let r=[],i=0;function s(a){return a.concat(Wt(t,i+1))}function o(a){const c=fy(s(a),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const a=t[i];if(a instanceof Tn)return o(a.definition);if(a instanceof un)return o(a.definition);if(a instanceof Ht)r=o(a.definition);else if(a instanceof On){const c=a.definition.concat([new wt({definition:a.definition})]);return o(c)}else if(a instanceof Ln){const c=[new Tn({definition:a.definition}),new wt({definition:[new at({terminalType:a.separator})].concat(a.definition)})];return o(c)}else if(a instanceof Rn){const c=a.definition.concat([new wt({definition:[new at({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 Sn)return ve(a.definition,c=>{tt(c.definition)===!1&&(r=o(c.definition))}),r;if(a instanceof at)n.push(a.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Wt(t,i)}),r}function i1(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,y=f.occurrenceStack;if(tt(h))continue;const g=h[0];if(g===i){const w={idx:p,def:Wt(h),ruleStack:Gc(m),occurrenceStack:Gc(y)};d.push(w)}else if(g instanceof at)if(p<c-1){const w=p+1,E=e[w];if(n(E,g.terminalType)){const k={idx:w,def:Wt(h),ruleStack:m,occurrenceStack:y};d.push(k)}}else if(p===c-1)l.push({nextTokenType:g.terminalType,nextTokenOccurrence:g.idx,ruleStack:m,occurrenceStack:y}),a=!0;else throw Error("non exhaustive match");else if(g instanceof un){const w=Gt(m);w.push(g.nonTerminalName);const E=Gt(y);E.push(g.idx);const k={idx:p,def:g.definition.concat(s,Wt(h)),ruleStack:w,occurrenceStack:E};d.push(k)}else if(g instanceof Ht){const w={idx:p,def:Wt(h),ruleStack:m,occurrenceStack:y};d.push(w),d.push(o);const E={idx:p,def:g.definition.concat(Wt(h)),ruleStack:m,occurrenceStack:y};d.push(E)}else if(g instanceof On){const w=new wt({definition:g.definition,idx:g.idx}),E=g.definition.concat([w],Wt(h)),k={idx:p,def:E,ruleStack:m,occurrenceStack:y};d.push(k)}else if(g instanceof Ln){const w=new at({terminalType:g.separator}),E=new wt({definition:[w].concat(g.definition),idx:g.idx}),k=g.definition.concat([E],Wt(h)),_={idx:p,def:k,ruleStack:m,occurrenceStack:y};d.push(_)}else if(g instanceof Rn){const w={idx:p,def:Wt(h),ruleStack:m,occurrenceStack:y};d.push(w),d.push(o);const E=new at({terminalType:g.separator}),k=new wt({definition:[E].concat(g.definition),idx:g.idx}),_=g.definition.concat([k],Wt(h)),I={idx:p,def:_,ruleStack:m,occurrenceStack:y};d.push(I)}else if(g instanceof wt){const w={idx:p,def:Wt(h),ruleStack:m,occurrenceStack:y};d.push(w),d.push(o);const E=new wt({definition:g.definition,idx:g.idx}),k=g.definition.concat([E],Wt(h)),_={idx:p,def:k,ruleStack:m,occurrenceStack:y};d.push(_)}else if(g instanceof Sn)for(let w=g.definition.length-1;w>=0;w--){const E=g.definition[w],k={idx:p,def:E.definition.concat(Wt(h)),ruleStack:m,occurrenceStack:y};d.push(k),d.push(o)}else if(g instanceof Tn)d.push({idx:p,def:g.definition.concat(Wt(h)),ruleStack:m,occurrenceStack:y});else if(g instanceof Vo)d.push(L5(g,p,m,y));else throw Error("non exhaustive match")}return l}function L5(t,e,n,r){const i=Gt(n);i.push(t.name);const s=Gt(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 hy(t){if(t instanceof Ht||t==="Option")return pt.OPTION;if(t instanceof wt||t==="Repetition")return pt.REPETITION;if(t instanceof On||t==="RepetitionMandatory")return pt.REPETITION_MANDATORY;if(t instanceof Ln||t==="RepetitionMandatoryWithSeparator")return pt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Rn||t==="RepetitionWithSeparator")return pt.REPETITION_WITH_SEPARATOR;if(t instanceof Sn||t==="Alternation")return pt.ALTERNATION;throw Error("non exhaustive match")}function s1(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=hy(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=u1(o)?If:Kc;return s(o,r,a,i)}function M5(t,e,n,r,i,s){const o=Of(t,e,i,n),a=u1(o)?If:Kc;return s(o[0],a,r)}function z5(t,e,n,r){const i=t.length,s=fr(t,o=>fr(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 y=this.LA(m+1);if(n(y,h[m])===!1)continue e}return c}}};if(s&&!r){const o=de(t,c=>Jn(c)),a=cn(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=fr(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Jn(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=cn(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 o1 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 a1(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function py(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 c1(t,e){const n=de(t,o=>fy([o],1)),r=a1(n.length),i=de(n,o=>{const a={};return ve(o,c=>{const u=py(c.partialPath);ve(u,l=>{a[l]=!0})}),a});let s=n;for(let o=1;o<=e;o++){const a=s;s=a1(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=py(d);if(j5(i,h,c)||tt(f)||d.length===e){const m=r[c];if(my(m,d)===!1){m.push(d);for(let y=0;y<h.length;y++){const g=h[y];i[c][g]=!0}}}else{const m=fy(f,o+1,d);s[c]=s[c].concat(m),ve(m,y=>{const g=py(y.partialPath);ve(g,w=>{i[c][w]=!0})})}}}}return r}function Nf(t,e,n,r){const i=new o1(t,pt.ALTERNATION,r);return e.accept(i),c1(i.result,n)}function Of(t,e,n,r){const i=new o1(t,n);e.accept(i);const s=i.result,a=new q5(e,t,n).startWalking(),c=new Tn({definition:s}),u=new Tn({definition:a});return c1([c,u],r)}function my(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&&fr(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function u1(t){return fr(t,e=>fr(e,n=>fr(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:ln.CUSTOM_LOOKAHEAD_VALIDATION},n))}function W5(t,e,n,r){const i=Nn(t,c=>H5(c,n)),s=iq(t,e,n),o=Nn(t,c=>eq(c,n)),a=Nn(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=c6(r,V5),s=pr(i,a=>a.length>1);return de(Lt(s),a=>{const c=hr(a),u=e.buildDuplicateFoundError(t,a),l=Mr(c),d={message:u,type:ln.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:l,occurrence:c.idx},f=l1(c);return f&&(d.parameter=f),d})}function V5(t){return`${Mr(t)}_#_${t.idx}_#_${l1(t)}`}function l1(t){return t instanceof at?t.terminalType.name:t instanceof un?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(cn(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:ln.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function X5(t,e,n){const r=[];let i;return an(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:ln.INVALID_RULE_OVERRIDE,ruleName:t})),r}function d1(t,e,n,r=[]){const i=[],s=Lf(e.definition);if(tt(s))return[];{const o=t.name;an(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:ln.LEFT_RECURSION,ruleName:o});const c=Ef(s,r.concat([t])),u=Nn(c,l=>{const d=Gt(r);return d.push(l),d1(t,l,n,d)});return i.concat(u)}}function Lf(t){let e=[];if(tt(t))return e;const n=hr(t);if(n instanceof un)e.push(n.referencedRule);else if(n instanceof Tn||n instanceof Ht||n instanceof On||n instanceof Ln||n instanceof Rn||n instanceof wt)e=e.concat(Lf(n.definition));else if(n instanceof Sn)e=Jn(de(n.definition,s=>Lf(s.definition)));else if(!(n instanceof at))throw Error("non exhaustive match");const r=Rf(n),i=t.length>1;if(r&&i){const s=Wt(t);return e.concat(Lf(s))}else return e}class gy extends Ko{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function J5(t,e){const n=new gy;t.accept(n);const r=n.alternations;return Nn(r,s=>{const o=Gc(s.definition);return Nn(o,(a,c)=>{const u=i1([a],[],Kc,1);return tt(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:ln.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Z5(t,e,n){const r=new gy;t.accept(r);let i=r.alternations;return i=Df(i,o=>o.ignoreAmbiguities===!0),Nn(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 gy;t.accept(n);const r=n.alternations;return Nn(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:ln.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=hy(a),u=a.maxLookahead||e,l=a.idx,f=Of(l,i,c,u)[0];if(tt(Jn(f))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:a});r.push({message:h,type:ln.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function nq(t,e,n,r){const i=[],s=cn(t,(a,c,u)=>(e.definition[u].ignoreAmbiguities===!0||ve(c,l=>{const d=[u];ve(t,(f,h)=>{u!==h&&my(f,l)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!my(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:ln.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:a.alts}})}function rq(t,e,n,r){const i=cn(t,(o,a,c)=>{const u=de(a,l=>({idx:c,path:l}));return o.concat(u)},[]);return Uc(Nn(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];const c=o.idx,u=o.path,l=Pn(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:ln.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(an(i,o)){const a=n.buildNamespaceConflictError(s);r.push({message:a,type:ln.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 f1="MismatchedTokenException",h1="NoViableAltException",p1="EarlyExitException",m1="NotAllInputParsedException",g1=[f1,h1,p1,m1];Object.freeze(g1);function Ff(t){return an(g1,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 y1 extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=f1}}class aq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=h1}}class cq extends Mf{constructor(e,n){super(e,n),this.name=m1}}class uq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=p1}}const yy={},v1="InRuleRecoveryException";class lq extends Error{constructor(e){super(e),this.name=v1}}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=dy(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 y1(h,u,this.LA(0));p.resyncedTokens=Gc(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 an(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Ho(e,s=>t1(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return yy;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?yy:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=de(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Jn(e)}getFollowSetFromFollowKey(e){if(e===yy)return[ji];const n=e.ruleName+e.idxInCallingRule+xR+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 Gc(n)}attemptInRepetitionRecovery(e,n,r,i,s,o,a){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=Gt(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,w1=1<<Ui,b1=2<<Ui,vy=3<<Ui,wy=4<<Ui,by=5<<Ui,zf=6<<Ui;function Ey(t,e,n){return n|e|t}class Dy{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 Nn(e,n=>d1(n,n,Fs))}validateEmptyOrAlternatives(e){return Nn(e,n=>J5(n,Fs))}validateAmbiguousAlternationAlternatives(e,n){return Nn(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,hy(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 Dy({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(`${Mr(u)}${l}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=Ey(this.fullRuleNameToShort[n.name],w1,u.idx);this.setLaFuncCache(f,d)})}),ve(i,u=>{this.computeLookaheadFunc(n,u.idx,vy,"Repetition",u.maxLookahead,Mr(u))}),ve(s,u=>{this.computeLookaheadFunc(n,u.idx,b1,"Option",u.maxLookahead,Mr(u))}),ve(o,u=>{this.computeLookaheadFunc(n,u.idx,wy,"RepetitionMandatory",u.maxLookahead,Mr(u))}),ve(a,u=>{this.computeLookaheadFunc(n,u.idx,zf,"RepetitionMandatoryWithSeparator",u.maxLookahead,Mr(u))}),ve(c,u=>{this.computeLookaheadFunc(n,u.idx,by,"RepetitionWithSeparator",u.maxLookahead,Mr(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=Ey(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Ey(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 E1(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function D1(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 T1(t,e){Object.defineProperty(t,wq,{enumerable:!1,configurable:!0,writable:!1,value:e})}function bq(t,e){const n=Xn(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(){};T1(n,t+"BaseSemantics");const r={visit:function(i,s){if(qe(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(){};T1(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 Ty;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Ty||(Ty={}));function Tq(t,e){return Rq(t,e)}function Rq(t,e){const n=Pn(e,i=>ci(t[i])===!1),r=de(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Ty.MISSING_METHOD,methodName:i}));return Uc(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=Ot,this.cstFinallyStateUpdate=Ot,this.cstPostTerminal=Ot,this.cstPostNonTerminal=Ot,this.cstPostRule=Ot;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=D1,this.setNodeLocationFromNode=D1,this.cstPostRule=Ot,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ot,this.setNodeLocationFromNode=Ot,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=E1,this.setNodeLocationFromNode=E1,this.cstPostRule=Ot,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ot,this.setNodeLocationFromNode=Ot,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ot,this.setNodeLocationFromNode=Ot,this.cstPostRule=Ot,this.setInitialNodeLocation=Ot;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,Xn(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(hi(this.baseCstVisitorWithDefaultsConstructor)){const e=Dq(this.className,Xn(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(an(this.definedRulesNames,e)){const o={message:Fs.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ln.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 L6(Lt(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(qe(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(qe(e))this.tokensMap=cn(e,(s,o)=>(s[o.name]=o,s),{});else if(be(e,"modes")&&fr(Jn(Lt(e.modes)),k5)){const s=Jn(Lt(e.modes)),o=iy(s);this.tokensMap=cn(o,(a,c)=>(a[c.name]=c,a),{})}else if(Yn(e))this.tokensMap=Gt(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")?Jn(Lt(e.modes)):Lt(e),i=fr(r,s=>tt(s.categoryMatches));this.tokenMatcher=i?If:Kc,Yc(Lt(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(b1,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(wy,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,wy,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,r1],a,zf,e,r1)}else throw this.raiseEarlyExitException(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(vy,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,vy,e,N5,o)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(by,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,n1],a,by,e,n1)}}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(w1,n),i=qe(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 y1(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===v1?r:s}}else throw r}saveRecogState(){const e=this.errors,n=Gt(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:Gt(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Gt(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 i1([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=hr(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 R1=!0,S1=Math.pow(2,Ui)-1,k1=e1({name:"RECORDING_PHASE_TOKEN",pattern:kn.NA});Yc([k1]);const $1=dy(k1,`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($1);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 Jc.call(this,Ht,e,n)}atLeastOneInternalRecord(e,n){Jc.call(this,On,n,e)}atLeastOneSepFirstInternalRecord(e,n){Jc.call(this,Ln,n,e,R1)}manyInternalRecord(e,n){Jc.call(this,wt,n,e)}manySepFirstInternalRecord(e,n){Jc.call(this,Rn,n,e,R1)}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${C1(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 un({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),!UR(e)){const o=new Error(`<CONSUME${C1(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 at({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),$1}}function Jc(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=qe(t)===!1,i=r===!1?t:t.DEF,s=new Sn({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});be(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const o=SR(i,a=>ci(a.GATE));return s.hasPredicates=o,n.definition.push(s),ve(i,a=>{const c=new Tn({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 C1(t){return t===0?"":`${t}`}function jf(t){if(t<0||t>S1){const e=new Error(`Invalid DSL Method idx value: <${t}>
105
- Idx value must be a none negative value smaller than ${S1+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}=CR(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=dy(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 ln;(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"})(ln||(ln={}));function _1(t=void 0){return function(){return t}}class gd{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:Lt(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(tt(r)&&this.skipValidations===!1){const i=oq({rules:Lt(this.gastProductionsCache),tokenTypes:Lt(this.tokensMap),errMsgProvider:Fs,grammarName:n}),s=G5({lookaheadStrategy:this.lookaheadStrategy,rules:Lt(this.gastProductionsCache),tokenTypes:Lt(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),tt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=U6(Lt(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:Lt(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Lt(this.gastProductionsCache))})),!gd.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}}gd.DEFER_DEFINITION_ERRORS_HANDLING=!1,Oq(gd,[dq,pq,Sq,kq,Cq,$q,_q,Aq,Iq,Nq]);class Lq extends gd{constructor(e,n=pi){const r=Gt(n);r.outputCst=!1,super(e,r)}}function Jo(t,e,n){return`${t.name}_${e}_${n}`}const Gi=1,Fq=2,A1=4,x1=5,Zc=7,Mq=8,zq=9,Bq=10,qq=11,I1=12;class Ry{constructor(e){this.target=e}isEpsilon(){return!1}}class Sy extends Ry{constructor(e,n){super(e),this.tokenType=n}}class P1 extends Ry{constructor(e){super(e)}isEpsilon(){return!0}}class ky extends Ry{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=Bt(t,i,void 0,{type:Fq}),o=Bt(t,i,void 0,{type:Zc});s.stop=o,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,o)}}function N1(t,e,n){return n instanceof at?$y(t,e,n.terminalType,n):n instanceof un?Qq(t,e,n):n instanceof Sn?Kq(t,e,n):n instanceof Ht?Yq(t,e,n):n instanceof wt?Gq(t,e,n):n instanceof Rn?Wq(t,e,n):n instanceof On?Hq(t,e,n):n instanceof Ln?Vq(t,e,n):Ms(t,e,n)}function Gq(t,e,n){const r=Bt(t,e,n,{type:x1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return L1(t,e,n,i)}function Wq(t,e,n){const r=Bt(t,e,n,{type:x1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=$y(t,e,n.separator,n);return L1(t,e,n,i,s)}function Hq(t,e,n){const r=Bt(t,e,n,{type:A1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return O1(t,e,n,i)}function Vq(t,e,n){const r=Bt(t,e,n,{type:A1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=$y(t,e,n.separator,n);return O1(t,e,n,i,s)}function Kq(t,e,n){const r=Bt(t,e,n,{type:Gi});Wi(t,r);const i=de(n.definition,o=>N1(t,e,o));return Zo(t,e,r,n,...i)}function Yq(t,e,n){const r=Bt(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=Pn(de(n.definition,i=>N1(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Zq(t,r)}function O1(t,e,n,r,i){const s=r.left,o=r.right,a=Bt(t,e,n,{type:qq});Wi(t,a);const c=Bt(t,e,n,{type:I1});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 L1(t,e,n,r,i){const s=r.left,o=r.right,a=Bt(t,e,n,{type:Bq});Wi(t,a);const c=Bt(t,e,n,{type:I1}),u=Bt(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=Bt(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 Sn)return"Alternation";if(t instanceof Ht)return"Option";if(t instanceof wt)return"Repetition";if(t instanceof Rn)return"RepetitionWithSeparator";if(t instanceof On)return"RepetitionMandatory";if(t instanceof Ln)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 ky,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 $y(t,e,n,r){const i=Bt(t,e,r,{type:Gi}),s=Bt(t,e,r,{type:Gi});return Cy(i,new Sy(s,n)),{left:i,right:s}}function Qq(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Bt(t,e,n,{type:Gi}),o=Bt(t,e,n,{type:Gi}),a=new ky(i,r,o);return Cy(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 P1(e);Cy(t,n)}function Bt(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 Cy(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 _y{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=F1(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 F1(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 M1{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 z1=new M1;class rj extends Dy{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(s1({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),f=>de(f,h=>h[0]));if(B1(d,!1)&&!s){const f=cn(d,(h,p,m)=>(ve(p,y=>{y&&(h[y.tokenTypeIdx]=m,ve(y.categoryMatches,g=>{h[g]=m}))}),h),{});return i?function(h){var p;const m=this.LA(1),y=f[m.tokenTypeIdx];if(h!==void 0&&y!==void 0){const g=(p=h[y])===null||p===void 0?void 0:p.GATE;if(g!==void 0&&g.call(this)===!1)return}return y}:function(){const h=this.LA(1);return f[h.tokenTypeIdx]}}else return i?function(f){const h=new M1,p=f===void 0?0:f.length;for(let y=0;y<p;y++){const g=f?.[y].GATE;h.set(y,g===void 0||g.call(this))}const m=Ay.call(this,o,l,h,a);return typeof m=="number"?m:void 0}:function(){const f=Ay.call(this,o,l,z1,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(s1({maxLookahead:1,occurrence:n,prodType:i,rule:r}),f=>de(f,h=>h[0]));if(B1(d)&&d[0][0]&&!s){const f=d[0],h=Jn(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=cn(h,(m,y)=>(y!==void 0&&(m[y.tokenTypeIdx]=!0,ve(y.categoryMatches,g=>{m[g]=!0})),m),{});return function(){const m=this.LA(1);return p[m.tokenTypeIdx]===!0}}}return function(){const f=Ay.call(this,o,l,z1,a);return typeof f=="object"?!1:f===0}}}function B1(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 Ay(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const a=mj(i.atnStartState);s=U1(i,q1(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 j1(t,e,n,Wf),Wf;let a=q1(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=T6(o.alts);a.isAcceptState=!0,a.prediction=u,a.configs.uniqueAlt=u,aj.apply(this,[t,r,o.alts,s])}return a=j1(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 un)return"SUBRULE";if(t instanceof Ht)return"OPTION";if(t instanceof Sn)return"OR";if(t instanceof On)return"AT_LEAST_ONE";if(t instanceof Ln)return"AT_LEAST_ONE_SEP";if(t instanceof Rn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof at)return"CONSUME";throw Error("non exhaustive match")}function lj(t,e,n){const r=Nn(e.configs.elements,s=>s.state.transitions),i=P6(r.filter(s=>s instanceof Sy).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 _y,i=[];for(const o of t.elements){if(n.is(o.alt)===!1)continue;if(o.state.type===Zc){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 _y;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 Sy&&t1(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 q1(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function j1(t,e,n,r){return r=U1(t,r),e.edges[n.tokenTypeIdx]=r,r}function U1(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 _y,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===Zc){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 P1)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ky){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===Zc)return!0;return!1}function vj(t){for(const e of t.elements)if(e.state.type!==Zc)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=F1(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 G1;(function(t){function e(n){return typeof n=="string"}t.is=e})(G1||(G1={}));var xy;(function(t){function e(n){return typeof n=="string"}t.is=e})(xy||(xy={}));var W1;(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})(W1||(W1={}));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 Ve;(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})(Ve||(Ve={}));var ze;(function(t){function e(r,i,s,o){if(B.uinteger(r)&&B.uinteger(i)&&B.uinteger(s)&&B.uinteger(o))return{start:Ve.create(r,i),end:Ve.create(s,o)};if(Ve.is(r)&&Ve.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)&&Ve.is(i.start)&&Ve.is(i.end)}t.is=n})(ze||(ze={}));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)&&ze.is(i.range)&&(B.string(i.uri)||B.undefined(i.uri))}t.is=n})(Kf||(Kf={}));var H1;(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)&&ze.is(i.targetRange)&&B.string(i.targetUri)&&ze.is(i.targetSelectionRange)&&(ze.is(i.originSelectionRange)||B.undefined(i.originSelectionRange))}t.is=n})(H1||(H1={}));var Iy;(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})(Iy||(Iy={}));var V1;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&ze.is(i.range)&&Iy.is(i.color)}t.is=n})(V1||(V1={}));var K1;(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)||$n.is(i))&&(B.undefined(i.additionalTextEdits)||B.typedArray(i.additionalTextEdits,$n.is))}t.is=n})(K1||(K1={}));var Y1;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Y1||(Y1={}));var X1;(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})(X1||(X1={}));var Py;(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})(Py||(Py={}));var Qc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Qc||(Qc={}));var J1;(function(t){t.Unnecessary=1,t.Deprecated=2})(J1||(J1={}));var Z1;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&B.string(r.href)}t.is=e})(Z1||(Z1={}));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)&&ze.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,Py.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 $n;(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)&&ze.is(o.range)}t.is=i})($n||($n={}));var Ny;(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})(Ny||(Ny={}));var ea;(function(t){function e(n){const r=n;return B.string(r)}t.is=e})(ea||(ea={}));var Q1;(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 $n.is(o)&&(Ny.is(o.annotationId)||ea.is(o.annotationId))}t.is=i})(Q1||(Q1={}));var Oy;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&By.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Oy||(Oy={}));var Ly;(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})(Ly||(Ly={}));var Fy;(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})(Fy||(Fy={}));var My;(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})(My||(My={}));var zy;(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)?Ly.is(i)||Fy.is(i)||My.is(i):Oy.is(i)))}t.is=e})(zy||(zy={}));var eS;(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})(eS||(eS={}));var tS;(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})(tS||(tS={}));var By;(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})(By||(By={}));var nS;(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})(nS||(nS={}));var qy;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(qy||(qy={}));var eu;(function(t){function e(n){const r=n;return B.objectLiteral(n)&&qy.is(r.kind)&&B.string(r.value)}t.is=e})(eu||(eu={}));var Ft;(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})(Ft||(Ft={}));var mr;(function(t){t.PlainText=1,t.Snippet=2})(mr||(mr={}));var rS;(function(t){t.Deprecated=1})(rS||(rS={}));var iS;(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)&&ze.is(i.insert)&&ze.is(i.replace)}t.is=n})(iS||(iS={}));var sS;(function(t){t.asIs=1,t.adjustIndentation=2})(sS||(sS={}));var oS;(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})(oS||(oS={}));var aS;(function(t){function e(n){return{label:n}}t.create=e})(aS||(aS={}));var cS;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(cS||(cS={}));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 uS;(function(t){function e(n){let r=n;return!!r&&B.objectLiteral(r)&&(eu.is(r.contents)||Xf.is(r.contents)||B.typedArray(r.contents,Xf.is))&&(n.range===void 0||ze.is(n.range))}t.is=e})(uS||(uS={}));var lS;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(lS||(lS={}));var dS;(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})(dS||(dS={}));var fS;(function(t){t.Text=1,t.Read=2,t.Write=3})(fS||(fS={}));var hS;(function(t){function e(n,r){let i={range:n};return B.number(r)&&(i.kind=r),i}t.create=e})(hS||(hS={}));var gr;(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})(gr||(gr={}));var pS;(function(t){t.Deprecated=1})(pS||(pS={}));var mS;(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})(mS||(mS={}));var gS;(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})(gS||(gS={}));var yS;(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)&&ze.is(i.range)&&ze.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})(yS||(yS={}));var vS;(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"})(vS||(vS={}));var Jf;(function(t){t.Invoked=1,t.Automatic=2})(Jf||(Jf={}));var wS;(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})(wS||(wS={}));var bS;(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||zy.is(i.edit))}t.is=n})(bS||(bS={}));var ES;(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)&&ze.is(i.range)&&(B.undefined(i.command)||Qo.is(i.command))}t.is=n})(ES||(ES={}));var DS;(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})(DS||(DS={}));var TS;(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)&&ze.is(i.range)&&(B.undefined(i.target)||B.string(i.target))}t.is=n})(TS||(TS={}));var RS;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&ze.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(RS||(RS={}));var je;(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"})(je||(je={}));var dt;(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"})(dt||(dt={}));var SS;(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})(SS||(SS={}));var kS;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&ze.is(i.range)&&B.string(i.text)}t.is=n})(kS||(kS={}));var $S;(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&&ze.is(i.range)&&B.boolean(i.caseSensitiveLookup)&&(B.string(i.variableName)||i.variableName===void 0)}t.is=n})($S||($S={}));var CS;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&ze.is(i.range)&&(B.string(i.expression)||i.expression===void 0)}t.is=n})(CS||(CS={}));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)&&ze.is(r.stoppedLocation)}t.is=n})(_S||(_S={}));var jy;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(jy||(jy={}));var Uy;(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)||eu.is(i.tooltip))&&(i.location===void 0||Kf.is(i.location))&&(i.command===void 0||Qo.is(i.command))}t.is=n})(Uy||(Uy={}));var AS;(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)&&Ve.is(i.position)&&(B.string(i.label)||B.typedArray(i.label,Uy.is))&&(i.kind===void 0||jy.is(i.kind))&&i.textEdits===void 0||B.typedArray(i.textEdits,$n.is)&&(i.tooltip===void 0||B.string(i.tooltip)||eu.is(i.tooltip))&&(i.paddingLeft===void 0||B.boolean(i.paddingLeft))&&(i.paddingRight===void 0||B.boolean(i.paddingRight))}t.is=n})(AS||(AS={}));var xS;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(xS||(xS={}));var IS;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(IS||(IS={}));var PS;(function(t){function e(n){return{items:n}}t.create=e})(PS||(PS={}));var NS;(function(t){t.Invoked=0,t.Automatic=1})(NS||(NS={}));var OS;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(OS||(OS={}));var LS;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(LS||(LS={}));var FS;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&xy.is(r.uri)&&B.string(r.name)}t.is=e})(FS||(FS={}));var MS;(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}})(MS||(MS={}));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 Ve.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 Ve.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 BS(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Wy;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Gy(e.startOffset,e.image.length,zd(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 Gy(n.startOffset,n.image.length,zd(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 zS{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 Gy extends zS{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 Wy extends zS{constructor(){super(...arguments),this.content=new G0(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:Ve.create(0,0),end:Ve.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 G0 extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,G0.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 BS extends Wy{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Hy=Symbol("Datatype");function Vy(t){return t.$type===Hy}const qS="\u200B",jS=t=>t.endsWith(qS)?t:t+qS;class US{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new _j(n,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,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 US{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(jS(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 Hy;{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===Hy&&(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=Ir(r)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,u,s,a)}else if(Vy(c)){let u=i.image;Ir(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(Vy(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.removeNode(r.$cstNode),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(),Vy(e)?this.converter.convert(e.value,e.$cstNode):(bg(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=En(e,xr);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?mc(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 GS 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 US{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(jS(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 GS};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 Dy({maxLookahead:n.maxLookahead}):new rj({logging:n.skipValidations?()=>{}:void 0})}),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 WS(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(Zt).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(Ir(e))r=Fj(t,e);else if(_s(e))r=xj(t,e);else if(xr(e))r=zs(t,e.terminal);else if(mc(e))r=HS(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(SM(e)){const i=t.consume++;r=()=>t.parser.consume(i,ji,e)}else throw new YD(e.$cstNode,`Unexpected element type: ${e.$type}`);return VS(t,n?void 0:Zf(e),r,e.cardinality)}function xj(t,e){const n=Ic(e);return()=>t.parser.action(n,e)}function Ij(t,e){const n=e.rule.ref;if(Zt(n)){const r=t.subrule++,i=e.arguments.length>0?Pj(n,e.arguments):()=>({});return s=>t.parser.subrule(r,KS(t,n),e,i(s))}else if(ii(n)){const r=t.consume++,i=Ky(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Ya();else throw new YD(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(vM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)||n(r)}else if(yM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)&&n(r)}else if(wM(t)){const e=mi(t.value);return n=>!e(n)}else if(bM(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(gM(t)){const e=!!t.true;return()=>e}Ya()}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=VS(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 HS(t,e,n=e.terminal){if(n)if(si(n)&&Zt(n.rule.ref)){const r=t.subrule++;return i=>t.parser.subrule(r,KS(t,n.rule.ref),e,i)}else if(si(n)&&ii(n.rule.ref)){const r=t.consume++,i=Ky(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Ir(n)){const r=t.consume++,i=Ky(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: "+Ic(e.type.ref));return HS(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 VS(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 Ya()}function KS(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(Zt(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Zt(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 Ky(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 WS(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 WS(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=Pc(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Rg(n)?kn.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(Zt).flatMap(i=>Pr(i).filter(Ir)).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){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(BM(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&qM("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Uj{convert(e,n){let r=n.grammarSource;if(mc(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=gT(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={},YS;function qs(){if(YS)return Qf;YS=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 Vt={},XS;function tu(){if(XS)return Vt;XS=1,Object.defineProperty(Vt,"__esModule",{value:!0}),Vt.stringArray=Vt.array=Vt.func=Vt.error=Vt.number=Vt.string=Vt.boolean=void 0;function t(a){return a===!0||a===!1}Vt.boolean=t;function e(a){return typeof a=="string"||a instanceof String}Vt.string=e;function n(a){return typeof a=="number"||a instanceof Number}Vt.number=n;function r(a){return a instanceof Error}Vt.error=r;function i(a){return typeof a=="function"}Vt.func=i;function s(a){return Array.isArray(a)}Vt.array=s;function o(a){return s(a)&&a.every(c=>e(c))}return Vt.stringArray=o,Vt}var js={},JS;function ta(){if(JS)return js;JS=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 ZS;function eh(){if(ZS)return Bs;ZS=1,Object.defineProperty(Bs,"__esModule",{value:!0}),Bs.CancellationTokenSource=Bs.CancellationToken=void 0;const t=qs(),e=tu(),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 nt=eh();function Gj(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Yy=0,Wj=10;function Hj(){return Yy=performance.now(),new nt.CancellationTokenSource}const th=Symbol("OperationCancelled");function nh(t){return t===th}async function At(t){if(t===nt.CancellationToken.None)return;const e=performance.now();if(e-Yy>=Wj&&(Yy=e,await Gj()),t.isCancellationRequested)throw th}class Xy{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class vd{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(vd.isIncremental(r)){const i=ek(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=QS(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(vd.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=QS(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 vd(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof vd)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=Jy(s.map(Vj),(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 Jy(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Jy(r,e),Jy(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 QS(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 ek(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 Vj(t){const e=ek(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var tk;(()=>{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 y=d.lastIndexOf("/");if(y!==d.length-1){y===-1?(d="",f=0):f=(d=d.slice(0,y)).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,y=-1,g=0;g<=m;++g){if(g===m){if(p>m){if(u.charCodeAt(h+g)===47)return u.slice(h+g+1);if(g===0)return u.slice(h+g)}else f>m&&(c.charCodeAt(l+g)===47?y=g:g===0&&(y=0));break}var w=c.charCodeAt(l+g);if(w!==u.charCodeAt(h+g))break;w===47&&(y=g)}var E="";for(g=l+y+1;g<=d;++g)g!==d&&c.charCodeAt(g)!==47||(E.length===0?E+="..":E+="/..");return E.length>0?E+u.slice(h+y):(h+=y,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 y=c.charCodeAt(l);if(y===47){if(!h){d=l+1;break}}else m===-1&&(h=!1,m=l+1),p>=0&&(y===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,y=!0,g=c.length-1,w=0;g>=l;--g)if((d=c.charCodeAt(g))!==47)m===-1&&(y=!1,m=g+1),d===46?h===-1?h=g:w!==1&&(w=1):h!==-1&&(w=-1);else if(!y){p=g+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,oe){return Le||oe?Le:"file"}(D,Z),this.authority=R||u,this.path=function(Le,oe){switch(Le){case"https":case"http":case"file":oe?oe[0]!==l&&(oe=l+oe):oe=l}return oe}(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 y(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 g(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?g:y;let F="",{scheme:W,authority:V,path:Z,query:Le,fragment:oe}=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)),oe&&(F+="#",F+=D?oe:y(oe,!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 _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function I(C){return C.match(_)?C.replace(_,D=>k(D)):C}var x=n(470);const A=x.posix||x,P="/";var O;(function(C){C.joinPath=function(D,...R){return D.with({path:A.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=A.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=A.dirname(D.path);return R.length===1&&R.charCodeAt(0)===46&&(R=""),D.with({path:R})},C.basename=function(D){return A.basename(D.path)},C.extname=function(D){return A.extname(D.path)}})(O||(O={}))})(),tk=r})();const{URI:Kt,Utils:nu}=tk;var Et;(function(t){t.basename=nu.basename,t.dirname=nu.dirname,t.extname=nu.extname,t.joinPath=nu.joinPath,t.resolvePath=nu.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 Kt.parse(i.toString()).toString()}t.normalize=r})(Et||(Et={}));var Ke;(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"})(Ke||(Ke={}));class Kj{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=nt.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Kt.parse(e.uri),nt.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return nt.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:Ke.Parsed,references:[],textDocument:r};else{const o=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:Ke.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=Ke.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 Yj{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=Ke.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=Ke.Changed,this.documentMap.delete(n)),r}}const Zy=Symbol("ref_resolving");class Xj{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=nt.CancellationToken.None){for(const r of oi(e.parseResult.value))await At(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=Zy;try{const s=this.getCandidate(e);if(Fd(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(lM(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=Zy;const c=Xd(e).$document,u=s.getLinkedNode({reference:o,container:e,property:n});if(u.error&&c&&c.state<Ke.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===Zy)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 Fd(this._ref)?this._ref:void 0}};return o}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Fd(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<Ke.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 nk(t){return typeof t.name=="string"}class Jj{getName(e){if(nk(e))return e.name}getNameNode(e){return xn(e.$cstNode,"name")}}class Zj{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=lT(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Vn(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Vn(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||jD(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=on(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Ka(n),local:!0}}}}class zr{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 rk{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 ik{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=nt.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=_c,i=nt.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const o of r(e))await At(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=nt.CancellationToken.None){const r=e.parseResult.value,i=new zr;for(const s of Pr(r))await At(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 ru{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 sk{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 ok={getElement(){},getAllElements(){return Lo}};class ak{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 Qj extends ak{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 eU extends ak{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 ck extends Qj{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class uk{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 ck(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=on(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 ru(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 ru(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new sk(this.indexManager.allElements(e)))}}function tU(t){return typeof t.$comment=="string"}function lk(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class nU{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=on(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(Vn(n)){const f=n.ref,h=r?n.$refText:void 0;if(f){const p=on(f);let m="";this.currentDocument&&this.currentDocument!==p&&(a?m=a(p.uri,n):m=p.uri.toString());const y=this.astNodeLocator.getAstNodePath(f);return{$ref:`${m}#${y}`,$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];lk(d)?u[l]=this.reviveReference(e,c,n,d,r):vt(d)&&this.linkNode(d,n,r,e,c,l)}else lk(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):Kt.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)):Kt.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 rU{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 iu(t){return{code:t}}var ih;(function(t){t.all=["fast","slow","built-in"]})(ih||(ih={}));class iU{constructor(e){this.entries=new zr,this.entriesBefore=[],this.entriesAfter=[],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)}else Ya()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(nh(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const o=s instanceof Error?s.message:String(s);r("error",`${n}: ${o}`,{node:i})}}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)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,o,a)=>{await this.handleException(()=>e.call(r,i,s,o,a),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class sU{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=nt.CancellationToken.None){const i=e.parseResult,s=[];if(await At(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)===yr.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)===yr.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)===yr.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 At(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:Qy(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:aU(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=zd(i.token);if(s){const o={severity:Qy("error"),range:s,message:i.message,data:iu(yr.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:yr.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=nt.CancellationToken.None){const i=[],s=(o,a,c)=>{i.push(this.toDiagnostic(o,a,c))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=nt.CancellationToken.None){var s;const o=this.validationRegistry.checksBefore;for(const a of o)await At(i),await a(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,n,r,i=nt.CancellationToken.None){await Promise.all(oi(e).map(async s=>{await At(i);const o=this.validationRegistry.getChecks(s.$type,n.categories);for(const a of o)await a(s,r,i)}))}async validateAstAfter(e,n,r,i=nt.CancellationToken.None){var s;const o=this.validationRegistry.checksAfter;for(const a of o)await At(i),await a(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,n,r){return{message:n,range:oU(r),severity:Qy(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 oU(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xn(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=xc(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 Qy(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 aU(t){switch(t){case"error":return iu(yr.LexingError);case"warning":return iu(yr.LexingWarning);case"info":return iu(yr.LexingInfo);case"hint":return iu(yr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var yr;(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"})(yr||(yr={}));class cU{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??on(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 uU{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=nt.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of oi(i))await At(n),Jd(s).filter(o=>!Fd(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=on(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 lU{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 dU=ta();class fU{constructor(e){this._ready=new Xy,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new dU.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 hU{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new zr,this.documentPhaseListeners=new zr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ke.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=nt.CancellationToken.None){var i,s;for(const o of e){const a=o.uri.toString();if(o.state===Ke.Validated){if(typeof n.validation=="boolean"&&n.validation)o.state=Ke.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=Ke.IndexedReferences)}}}else this.buildState.delete(a)}this.currentState=Ke.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=nt.CancellationToken.None){this.currentState=Ke.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=Ke.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,Ke.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,n),await At(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(o=>{var a;return o.state<Ke.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,Ke.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,Ke.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,Ke.ComputedScopes,r,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await o.computeLocalScopes(s,r)}),await this.runCancelable(e,Ke.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,Ke.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,Ke.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 At(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=nt.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 s=this.documentPhaseListeners.get(n).slice();for(const o of s)try{await o(e,r)}catch(a){if(!nh(a))throw a}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const o of s)await At(r),await o(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 pU{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new eU,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=on(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=nt.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=nt.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 dk{constructor(e){this.initialBuildOptions={},this._ready=new Xy,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}get workspaceFolders(){return this.folders}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=nt.CancellationToken.None){const r=await this.performStartup(e);await At(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 Kt.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}}class mU{buildUnexpectedCharactersMessage(e,n,r,i,s){return ly.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return ly.buildUnableToPopLexerModeMessage(e)}}const gU={mode:"full"};class yU{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=hk(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new kn(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=gU){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(hk(e))return e;const n=fk(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function vU(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function fk(t){return t&&"modes"in t&&"defaultMode"in t}function hk(t){return!vU(t)&&!fk(t)}function wU(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=Ve.create(0,0));const s=pk(t),o=tv(r),a=DU({lines:s,position:i,options:o});return $U({index:0,tokens:a,position:i})}function bU(t,e){const n=tv(e),r=pk(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 pk(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(oT)}const mk=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,EU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function DU(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,kU(l)),ev(l,d)>=l.length){if(i.length>0){const h=Ve.create(s,o);i.push({type:"break",content:"",range:ze.create(h,h)})}}else{mk.lastIndex=d;const h=mk.exec(l);if(h){const p=h[0],m=h[1],y=Ve.create(s,o+d),g=Ve.create(s,o+d+p.length);i.push({type:"tag",content:m,range:ze.create(y,g)}),d+=p.length,d=ev(l,d)}if(d<l.length){const p=l.substring(d),m=Array.from(p.matchAll(EU));i.push(...TU(m,p,s,o+d))}}s++,o=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function TU(t,e,n,r){const i=[];if(t.length===0){const s=Ve.create(n,r),o=Ve.create(n,r+e.length);i.push({type:"text",content:e,range:ze.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:ze.create(Ve.create(n,s+r),Ve.create(n,c+r))});let l=u.length+1;const d=a[1];if(i.push({type:"inline-tag",content:d,range:ze.create(Ve.create(n,s+l+r),Ve.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:ze.create(Ve.create(n,s+l+r),Ve.create(n,s+l+f.length+r))})}else i.push({type:"text",content:"",range:ze.create(Ve.create(n,s+l+r),Ve.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:ze.create(Ve.create(n,s+r),Ve.create(n,s+r+o.length))})}return i}const RU=/\S/,SU=/\s*$/;function ev(t,e){const n=t.substring(e).match(RU);return n?e+n.index:t.length}function kU(t){const e=t.match(SU);if(e&&typeof e.index=="number")return e.index}function $U(t){var e,n,r,i;const s=Ve.create(t.position.line,t.position.character);if(t.tokens.length===0)return new wk([],ze.create(s,s));const o=[];for(;t.index<t.tokens.length;){const u=CU(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 wk(o,ze.create(a,c))}function CU(t,e){const n=t.tokens[t.index];if(n.type==="tag")return yk(t,!1);if(n.type==="text"||n.type==="inline-tag")return gk(t);_U(n,e),t.index++}function _U(t,e){if(e){const n=new bk("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function gk(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(AU(t)),r=e,e=t.tokens[t.index];return new iv(i,ze.create(n.range.start,r.range.end))}function AU(t){return t.tokens[t.index].type==="inline-tag"?yk(t,!0):vk(t)}function yk(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=vk(t);return new rv(r,new iv([s],s.range),e,ze.create(n.range.start,s.range.end))}else{const s=gk(t);return new rv(r,s,e,ze.create(n.range.start,s.range.end))}else{const s=n.range;return new rv(r,new iv([],s),e,s)}}function vk(t){const e=t.tokens[t.index++];return new bk(e.content,e.range)}function tv(t){if(!t)return tv({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:nv(e,!0),end:nv(n,!1),line:nv(r,!0)}}function nv(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 wk{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+=Ek(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+=Ek(n)+i}return n.trim()}}class rv{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=xU(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 xU(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=ev(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:IU(e,o)}}function IU(t,e){try{return Kt.parse(t,!0),`[${e}](${t})`}catch{return t}}class iv{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 bk{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Ek(t){return t.endsWith(`
122
- `)?`
123
- `:`
124
-
125
- `}class PU{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&bU(n))return wU(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=on(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 NU{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return tU(e)?e.$comment:(n=Bd(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class OU{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class LU{constructor(){this.previousTokenSource=new nt.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Hj();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=nt.CancellationToken.None){const i=new Xy,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 FU{constructor(e){this.grammarElementIdMap=new rk,this.tokenTypeIdMap=new rk,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)):Vn(a)?o.push(this.dehydrateReference(a,n)):o.push(a)}else vt(s)?r[i]=this.dehydrateAstNode(s,n):Vn(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 BD(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 BS(s.fullText),i=o):"content"in s?o=new Wy:"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)):Vn(a)?o.push(this.hydrateReference(a,r,i,n)):o.push(a)}else vt(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Vn(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 Gy(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 Dk(t){return{documentation:{CommentProvider:e=>new NU(e),DocumentationProvider:e=>new PU(e)},parser:{AsyncParser:e=>new OU(e),GrammarConfig:e=>JM(e),LangiumParser:e=>Bj(e),CompletionParser:e=>zj(e),ValueConverter:()=>new Uj,TokenBuilder:()=>new jj,Lexer:e=>new yU(e),ParserErrorMessageProvider:()=>new GS,LexerErrorMessageProvider:()=>new mU},workspace:{AstNodeLocator:()=>new lU,AstNodeDescriptionProvider:e=>new cU(e),ReferenceDescriptionProvider:e=>new uU(e)},references:{Linker:e=>new Xj(e),NameProvider:()=>new Jj,ScopeProvider:e=>new uk(e),ScopeComputation:e=>new ik(e),References:e=>new Zj(e)},serializer:{Hydrator:e=>new FU(e),JsonSerializer:e=>new nU(e)},validation:{DocumentValidator:e=>new sU(e),ValidationRegistry:e=>new iU(e)},shared:()=>t.shared}}function Tk(t){return{ServiceRegistry:e=>new rU(e),workspace:{LangiumDocuments:e=>new Yj(e),LangiumDocumentFactory:e=>new Kj(e),DocumentBuilder:e=>new hU(e),IndexManager:e=>new pU(e),WorkspaceManager:e=>new dk(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new LU,ConfigurationProvider:e=>new fU(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 Sk(u)}const Rk=Symbol("isProxy");function sv(t){if(t&&t[Rk])for(const e of Object.values(t))sv(e);return t}function Sk(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Rk?!0:$k(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>($k(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const kk=Symbol();function $k(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]===kk)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]=kk;try{t[e]=typeof i=="function"?i(r):Sk(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 MU{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Ck={fileSystemProvider:()=>new MU},zU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},BU={AstReflection:()=>new tT};function qU(){const t=oh(Tk(Ck),BU),e=oh(Dk({shared:t}),zU);return t.ServiceRegistry.register(e),e}function jU(t){var e;const n=qU(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Kt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}function UU(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 UU(t,e,n);throw new Error("Wrong number of arguments")}function ch(...t){return Je(Object.values,t)}var GU={done:!0,hasNext:!1},na={done:!1,hasNext:!1},_k=()=>GU,WU=t=>({hasNext:!0,next:t,done:!1});function Me(t,...e){let n=t,r=e.map(s=>"lazy"in s?HU(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!VU(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(Ak(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function Ak(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(Ak(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 HU(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function VU(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function ov(t,e){let n=e.length-t.length;if(n===1){let[r,...i]=e;return Me(r,{lazy:t,lazyArgs:i})}if(n===0){let r={lazy:t,lazyArgs:e};return Object.assign(i=>Me(i,r),r)}throw new Error("Wrong number of arguments")}function dn(...t){return ov(KU,t)}function KU(){let t=new Set;return e=>t.has(e)?na:(t.add(e),{done:!1,hasNext:!0,next:e})}function YU(...t){return Je(XU,t,JU)}var XU=(t,e)=>e<0?[]:t.slice(0,e);function JU(t){if(t<=0)return _k;let e=t;return n=>(e-=1,{done:e<=0,hasNext:!0,next:n})}function Hi(...t){return Je(ZU,t)}var ZU=(t,e)=>t.length>=e,xk={asc:(t,e)=>t>e,desc:(t,e)=>t<e};function QU(t,e){let[n,...r]=e;if(!e9(n)){let s=av(...r);return t(n,s)}let i=av(n,...r);return s=>t(s,i)}function av(t,e,...n){let r=typeof t=="function"?t:t[0],i=typeof t=="function"?"asc":t[1],{[i]:s}=xk,o=e===void 0?void 0:av(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 e9(t){if(Ik(t))return!0;if(typeof t!="object"||!Array.isArray(t))return!1;let[e,n,...r]=t;return Ik(e)&&typeof n=="string"&&n in xk&&r.length===0}var Ik=t=>typeof t=="function"&&t.length===1;function t9(...t){return Je(n9,t)}function n9(t,e){return e(t),t}function ra(...t){return Je(r9,t)}function r9(t,e){let n=[...t];return n.sort(e),n}function i9(...t){return QU(s9,t)}var s9=(t,e)=>[...t].sort(e);function Pk(...t){return Je(o9,t)}var o9=(t,e,n)=>t.reduce(e,n);function uh(...t){return Je(a9,t)}function a9(t){return[...t].reverse()}function cv(...t){return Je(c9,t)}function c9(t,e){let n={};for(let r of e)r in t&&(n[r]=t[r]);return n}function uv(...t){return e=>Me(e,...t)}function yi(...t){return Je(u9,t)}var u9=(t,e)=>t[e];function Nk(...t){return Je(l9,t)}function l9(t,e){let n={...t};for(let[r,i]of Object.entries(n))e(i,r,t)&&delete n[r];return n}function Mt(...t){return Je(d9,t)}var d9=t=>t.length===1?t[0]:void 0;function ia(...t){return Je(f9,t)}var f9=t=>t.at(-1);function Dt(...t){return Je(h9,t,p9)}var h9=(t,e)=>t.map(e),p9=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function vi(...t){return Je(m9,t)}function m9(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(g9,t)}function g9(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 se(t){return!!t}function y9(t){return t!==null}function Br(t){return t!=null}function v9(t){return e=>!t(e)}function ct(t){return t==null}function lh(t){return typeof t=="number"&&!Number.isNaN(t)}function Ok(t){return Array.isArray(t)}function xt(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 lv(t){return t instanceof Error}function dv(...t){return Je(w9,t)}function w9(t,e){let n={};for(let[r,i]of t.entries()){let s=e(i,r,t);n[s]=i}return n}function b9(...t){return ov(E9,t)}function E9(t){if(t.length===0)return _k;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(D9,t,T9)}var D9=(t,e)=>t.flatMap(e),T9=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 R9(...t){return Je(S9,t,k9)}function S9(t,e){return t.forEach(e),t}var k9=t=>(e,n,r)=>(t(e,n,r),{done:!1,hasNext:!0,next:e});function dh(...t){return Je($9,t)}var $9=(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 rt(...t){return Je(C9,t,_9)}var C9=(t,e)=>t.filter(e),_9=t=>(e,n,r)=>t(e,n,r)?{done:!1,hasNext:!0,next:e}:na,Lk=t=>Object.assign(t,{single:!0});function Fk(...t){return Je(A9,t,Lk(x9))}var A9=(t,e)=>t.find(e),x9=t=>(e,n,r)=>t(e,n,r)?{done:!0,hasNext:!0,next:e}:na;function I9(...t){return Je(P9,t)}var P9=(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(N9,t,Lk(O9))}var N9=([t])=>t,O9=()=>L9,L9=t=>({hasNext:!0,next:t,done:!0});function oa(...t){return Je(Object.entries,t)}function F9(...t){return Je(M9,t)}var M9=(t,e)=>[...t,...e];function z9(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 Mk(...t){return ov(B9,t)}function B9(t){if(t.length===0)return WU;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 zk(...t){return Je(q9,t)}var q9=(t,e)=>e.every(n=>n(t));function fv(...t){return Je(j9,t)}var j9=(t,e)=>e.some(n=>n(t));function U9(...t){return Je(G9,t)}function G9(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 Bk(...t){return Je(W9,t)}var W9=(t,{min:e,max:n})=>e!==void 0&&t<e?e:n!==void 0&&t>n?n:t,H9={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]},V9=Object.entries(H9);function hv(t){return String(t)}hv.open="",hv.close="";function K9(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 Y9(t=!1){let e=K9(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 V9)i[o]=e?r(s(a[0]),s(a[1]),a[2]):hv;return i}var ft=Y9(_2(1)),Gs={};const X9=ui(A2);var Tt={},qk;function pv(){if(qk)return Tt;qk=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 Ue={},Ws={},Hs={},fh={};const J9=ui(L2);var mv={},pe={},jk;function Uk(){if(jk)return pe;jk=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=tu();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 y extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.NotificationType=y;class g extends i{constructor(R){super(R,0)}}pe.NotificationType0=g;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 _ extends i{constructor(R){super(R,4)}}pe.NotificationType4=_;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 A extends i{constructor(R){super(R,7)}}pe.NotificationType7=A;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={},Gk;function Wk(){if(Gk)return bi;Gk=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 su={},Hk;function Z9(){if(Hk)return su;Hk=1,Object.defineProperty(su,"__esModule",{value:!0}),su.Disposable=void 0;var t;return function(e){function n(r){return{dispose:r}}e.create=n}(t||(su.Disposable=t={})),su}var Vs={},Vk;function Q9(){if(Vk)return Vs;Vk=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={},ou={},Kk;function Yk(){if(Kk)return ou;Kk=1,Object.defineProperty(ou,"__esModule",{value:!0}),ou.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 ou.Semaphore=e,ou}var Xk;function e7(){if(Xk)return Ei;Xk=1,Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.ReadableStreamMessageReader=Ei.AbstractMessageReader=Ei.MessageReader=void 0;const t=qs(),e=tu(),n=ta(),r=Yk();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 y of l.contentDecoders)h.set(y.name,y);if(l.contentTypeDecoder!==void 0&&(p=l.contentTypeDecoder,m.set(p.name,p)),l.contentTypeDecoders!==void 0)for(const y of l.contentTypeDecoders)m.set(y.name,y)}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={},Jk;function t7(){if(Jk)return Di;Jk=1,Object.defineProperty(Di,"__esModule",{value:!0}),Di.WriteableStreamMessageWriter=Di.AbstractMessageWriter=Di.MessageWriter=void 0;const t=qs(),e=tu(),n=Yk(),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 au={},Zk;function n7(){if(Zk)return au;Zk=1,Object.defineProperty(au,"__esModule",{value:!0}),au.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 y=p.substr(0,m),g=p.substr(m+1).trim();d.set(s?y.toLowerCase():y,g)}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 au.AbstractMessageBuffer=r,au}var gv={},Qk;function r7(){return Qk||(Qk=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=tu(),r=Uk(),i=Wk(),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 y;(function(R){R.type=new r.NotificationType("$/logTrace")})(y||(t.LogTraceNotification=y={}));var g;(function(R){R[R.Closed=1]="Closed",R[R.Disposed=2]="Disposed",R[R.AlreadyListening=3]="AlreadyListening"})(g||(t.ConnectionErrors=g={}));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 _;(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})(_||(t.RequestCancellationReceiverStrategy=_={}));var I;(function(R){R.Message=Object.freeze({createCancellationTokenSource(W){return new o.CancellationTokenSource}});function F(W){return k.is(W)||_.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 A;(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})(A||(t.CancellationStrategy=A={}));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&&(A.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,oe=0,K=0;const Te="2.0";let lt;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,ae=p.Text,G,Fe=C.New;const yt=new s.Emitter,yn=new s.Emitter,rr=new s.Emitter,ir=new s.Emitter,sr=new s.Emitter,jt=V&&V.cancellationStrategy?V.cancellationStrategy:A.Message;function An(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 Bn(){return"not-"+(++oe).toString()}function vn(S,q){r.Message.isRequest(q)?S.set(An(q.id),q):r.Message.isResponse(q)?S.set(Yr(q.id),q):S.set(Bn(),q)}function qn(S){}function nn(){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,yn.fire(void 0))}function Ut(S){yt.fire([S,void 0,void 0])}function zt(S){yt.fire(S)}R.onClose(le),R.onError(Ut),F.onClose(le),F.onError(zt);function Sr(){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{Sr()}}const hs=S=>{try{if(r.Message.isNotification(S)&&S.method===a.type.method){const q=S.params.id,te=An(q),ie=Ee.get(te);if(r.Message.isRequest(ie)){const _e=V?.connectionStrategy,Ge=_e&&_e.cancelUndispatched?_e.cancelUndispatched(ie,qn):void 0;if(Ge&&(Ge.error!==void 0||Ge.result!==void 0)){Ee.delete(te),M.delete(q),Ge.id=ie.id,kr(Ge,S.method,Date.now()),F.write(Ge).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)}vn(Ee,S)}finally{Sr()}};function ps(S){if(J())return;function q($e,Ze,We){const Nt={jsonrpc:Te,id:S.id};$e instanceof r.ResponseError?Nt.error=$e.toJson():Nt.result=$e===void 0?null:$e,kr(Nt,Ze,We),F.write(Nt).catch(()=>Z.error("Sending response failed."))}function te($e,Ze,We){const Nt={jsonrpc:Te,id:S.id,error:$e.toJson()};kr(Nt,Ze,We),F.write(Nt).catch(()=>Z.error("Sending response failed."))}function ie($e,Ze,We){$e===void 0&&($e=null);const Nt={jsonrpc:Te,id:S.id,result:$e};kr(Nt,Ze,We),F.write(Nt).catch(()=>Z.error("Sending response failed."))}vs(S);const xe=H.get(S.method);let _e,Ge;xe&&(_e=xe.type,Ge=xe.handler);const he=Date.now();if(Ge||lt){const $e=S.id??String(Date.now()),Ze=k.is(jt.receiver)?jt.receiver.createCancellationTokenSource($e):jt.receiver.createCancellationTokenSource(S);S.id!==null&&ce.has(S.id)&&Ze.cancel(),S.id!==null&&M.set($e,Ze);try{let We;if(Ge)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}We=Ge(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}We=Ge(...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}We=Ge(S.params,Ze.token)}else lt&&(We=lt(S.method,S.params,Ze.token));const Nt=We;We?Nt.then?Nt.then(rn=>{M.delete($e),q(rn,S.method,he)},rn=>{M.delete($e),rn instanceof r.ResponseError?te(rn,S.method,he):rn&&n.string(rn.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${rn.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(We,S.method,he)):(M.delete($e),ie(We,S.method,he))}catch(We){M.delete($e),We instanceof r.ResponseError?q(We,S.method,he):We&&n.string(We.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${We.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 rr.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 wn(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(ae===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${wn(S.params)}
132
-
133
- `),G.log(`Sending request '${S.method} - (${S.id})'.`,q)}else jn("send-request",S)}function ys(S){if(!(U===f.Off||!G))if(ae===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${wn(S.params)}
134
-
135
- `:q=`No parameters provided.
136
-
137
- `),G.log(`Sending notification '${S.method}'.`,q)}else jn("send-notification",S)}function kr(S,q,te){if(!(U===f.Off||!G))if(ae===p.Text){let ie;(U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?ie=`Error data: ${wn(S.error.data)}
138
-
139
- `:S.result?ie=`Result: ${wn(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 jn("send-response",S)}function vs(S){if(!(U===f.Off||!G))if(ae===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${wn(S.params)}
144
-
145
- `),G.log(`Received request '${S.method} - (${S.id})'.`,q)}else jn("receive-request",S)}function Xr(S){if(!(U===f.Off||!G||S.method===y.type.method))if(ae===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${wn(S.params)}
146
-
147
- `:q=`No parameters provided.
148
-
149
- `),G.log(`Received notification '${S.method}'.`,q)}else jn("receive-notification",S)}function ws(S,q){if(!(U===f.Off||!G))if(ae===p.Text){let te;if((U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?te=`Error data: ${wn(S.error.data)}
150
-
151
- `:S.result?te=`Result: ${wn(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 jn("receive-response",S)}function jn(S,q){if(!G||U===f.Off)return;const te={isLSPMessage:!0,type:S,message:q,timestamp:Date.now()};G.log(te)}function or(){if(X())throw new w(g.Closed,"Connection is closed.");if(J())throw new w(g.Disposed,"Connection is disposed.")}function Eo(){if(nn())throw new w(g.AlreadyListening,"Connection is already listening")}function z(){if(!nn())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)=>{or();let te,ie;if(n.string(S)){te=S;const _e=q[0];let Ge=0,he=r.ParameterStructures.auto;r.ParameterStructures.is(_e)&&(Ge=1,he=_e);let $e=q.length;const Ze=$e-Ge;switch(Ze){case 0:ie=void 0;break;case 1:ie=$(he,q[Ge]);break;default:if(he===r.ParameterStructures.byName)throw new Error(`Received ${Ze} parameters for 'by Name' notification parameter structure.`);ie=q.slice(Ge,$e).map(We=>T(We));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)=>{or();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:ir.event,sendRequest:(S,...q)=>{or(),z();let te,ie,xe;if(n.string(S)){te=S;const $e=q[0],Ze=q[q.length-1];let We=0,Nt=r.ParameterStructures.auto;r.ParameterStructures.is($e)&&(We=1,Nt=$e);let rn=q.length;o.CancellationToken.is(Ze)&&(rn=rn-1,xe=Ze);const $r=rn-We;switch($r){case 0:ie=void 0;break;case 1:ie=$(Nt,q[We]);break;default:if(Nt===r.ParameterStructures.byName)throw new Error(`Received ${$r} parameters for 'by Name' request parameter structure.`);ie=q.slice(We,rn).map(w2=>T(w2));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 Ge;xe&&(Ge=xe.onCancellationRequested(()=>{const $e=jt.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 jt.sender.enableCancellation=="function"&&jt.sender.enableCancellation(he),new Promise(async($e,Ze)=>{const We=$r=>{$e($r),jt.sender.cleanup(_e),Ge?.dispose()},Nt=$r=>{Ze($r),jt.sender.cleanup(_e),Ge?.dispose()},rn={method:te,timerStart:Date.now(),resolve:We,reject:Nt};try{await F.write(he),ge.set(_e,rn)}catch($r){throw Z.error("Sending request failed."),rn.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,$r.message?$r.message:"Unknown reason")),$r}})},onRequest:(S,q)=>{or();let te=null;return d.is(S)?(te=void 0,lt=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):lt=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,ae=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:yn.event,onUnhandledNotification:rr.event,onDispose:sr.event,end:()=>{F.end()},dispose:()=>{if(J())return;Fe=C.Disposed,sr.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:()=>{or(),Eo(),Fe=C.Listening,R.listen(hs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return L.onNotification(y.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):ir.fire(S)}),L}t.createMessageConnection=D}(gv)),gv}var e$;function yv(){return e$||(e$=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=Uk();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=Wk();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=Z9();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=Q9();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return o.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return o.SharedArrayReceiverStrategy}});const a=e7();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=t7();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=n7();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const l=r7();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}(mv)),mv}var t$;function i7(){if(t$)return fh;t$=1,Object.defineProperty(fh,"__esModule",{value:!0});const t=J9,e=yv();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 cu=ui(F2),s7=ui(M2),n$=ui(z2),o7=ui(B2);var r$;function Ks(){return r$||(r$=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=i7();r.default.install();const i=cu,s=s7,o=n$,a=o7,c=yv();n(yv(),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 y extends c.WriteableStreamMessageWriter{constructor(D,R){super((0,r.default)().stream.asWritableStream(D),R)}}t.StreamMessageWriter=y;const g=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;g?D=i.join(g,`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 _(C,D="utf-8"){const R=(0,a.createConnection)(C);return[new h(R,D),new p(R,D)]}t.createServerPipeTransport=_;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 A(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=A(C)?new m(C):C,V=P(D)?new y(D):D;return c.ConnectionStrategy.is(F)&&(F={connectionStrategy:F}),(0,c.createMessageConnection)(W,V,R,F)}t.createMessageConnection=O}(Hs)),Hs}var vv,i$;function s$(){return i$||(i$=1,vv=Ks()),vv}var Ys={};function o$(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:{}},a$;function wv(){return a$||(a$=1,function(t,e){(function(n){{var r=n(o$,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 y;(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})(y||(r.FoldingRange=y={}));var g;(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})(g||(r.DiagnosticRelatedInformation=g={}));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 _;(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,g.is))}T.is=v})(_||(r.Diagnostic=_={}));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 A;(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})(A||(r.ChangeAnnotation=A={}));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)&&(A.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;A.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;A.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;A.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 oe;(function(T){function N($){return{uri:$}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)}T.is=v})(oe||(r.TextDocumentIdentifier=oe={}));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 lt;(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})(lt||(r.TextDocumentItem=lt={}));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 ae;(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})(ae||(r.MarkedString=ae={}));var G;(function(T){function N(v){var $=v;return!!$&&z.objectLiteral($)&&(Y.is($.contents)||ae.is($.contents)||z.typedArray($.contents,ae.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 yn;(function(T){T.Text=1,T.Read=2,T.Write=3})(yn||(r.DocumentHighlightKind=yn={}));var rr;(function(T){function N(v,$){var b={range:v};return z.number($)&&(b.kind=$),b}T.create=N})(rr||(r.DocumentHighlight=rr={}));var ir;(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})(ir||(r.SymbolKind=ir={}));var sr;(function(T){T.Deprecated=1})(sr||(r.SymbolTag=sr={}));var jt;(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})(jt||(r.SymbolInformation=jt={}));var An;(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})(An||(r.WorkspaceSymbol=An={}));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 Bn;(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"})(Bn||(r.CodeActionKind=Bn={}));var vn;(function(T){T.Invoked=1,T.Automatic=2})(vn||(r.CodeActionTriggerKind=vn={}));var qn;(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,_.is)&&(b.only===void 0||z.typedArray(b.only,z.string))&&(b.triggerKind===void 0||b.triggerKind===vn.Invoked||b.triggerKind===vn.Automatic)}T.is=v})(qn||(r.CodeActionContext=qn={}));var nn;(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,_.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})(nn||(r.CodeAction=nn={}));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 Ut;(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})(Ut||(r.SelectionRange=Ut={}));var zt;(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"})(zt||(r.SemanticTokenTypes=zt={}));var Sr;(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"})(Sr||(r.SemanticTokenModifiers=Sr={}));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 wn;(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})(wn||(r.InlayHint=wn={}));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 kr;(function(T){function N(v){return{items:v}}T.create=N})(kr||(r.InlineCompletionList=kr={}));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 jn;(function(T){function N(v){var $=v;return z.objectLiteral($)&&s.is($.uri)&&z.string($.name)}T.is=N})(jn||(r.WorkspaceFolder=jn={})),r.EOL=[`
156
- `,`\r
157
- `,"\r"];var or;(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 We=$e.range.start.line-Ze.range.start.line;return We===0?$e.range.start.character-Ze.range.start.character:We}),ie=q.length,xe=te.length-1;xe>=0;xe--){var _e=te[xe],Ge=L.offsetAt(_e.range.start),he=L.offsetAt(_e.range.end);if(he<=ie)q=q.substring(0,Ge)+_e.newText+q.substring(he,q.length);else throw new Error("Overlapping edit");ie=Ge}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,Ge=0;xe<te.length&&_e<ie.length;){var he=S(te[xe],ie[_e]);he<=0?L[Ge++]=te[xe++]:L[Ge++]=ie[_e++]}for(;xe<te.length;)L[Ge++]=te[xe++];for(;_e<ie.length;)L[Ge++]=ie[_e++];return L}})(or||(r.TextDocument=or={}));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 Ge(he,$e){return Array.isArray(he)&&he.every($e)}T.typedArray=Ge})(z||(z={}))})}(hh,hh.exports)),hh.exports}var fn={},c$;function mt(){if(c$)return fn;c$=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.ProtocolNotificationType=fn.ProtocolNotificationType0=fn.ProtocolRequestType=fn.ProtocolRequestType0=fn.RegistrationType=fn.MessageDirection=void 0;const t=Ks();var e;(function(a){a.clientToServer="clientToServer",a.serverToClient="serverToClient",a.both="both"})(e||(fn.MessageDirection=e={}));class n{constructor(c){this.method=c}}fn.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}fn.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}fn.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}fn.ProtocolNotificationType0=s;class o extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return fn.ProtocolNotificationType=o,fn}var bv={},Rt={},u$;function Ev(){if(u$)return Rt;u$=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 uu={},l$;function a7(){if(l$)return uu;l$=1,Object.defineProperty(uu,"__esModule",{value:!0}),uu.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||(uu.ImplementationRequest=e={})),uu}var lu={},d$;function c7(){if(d$)return lu;d$=1,Object.defineProperty(lu,"__esModule",{value:!0}),lu.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||(lu.TypeDefinitionRequest=e={})),lu}var Xs={},f$;function u7(){if(f$)return Xs;f$=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 du={},h$;function l7(){if(h$)return du;h$=1,Object.defineProperty(du,"__esModule",{value:!0}),du.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||(du.ConfigurationRequest=e={})),du}var Js={},p$;function d7(){if(p$)return Js;p$=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={},m$;function f7(){if(m$)return Zs;m$=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 fu={},g$;function h7(){if(g$)return fu;g$=1,Object.defineProperty(fu,"__esModule",{value:!0}),fu.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||(fu.DeclarationRequest=e={})),fu}var hu={},y$;function p7(){if(y$)return hu;y$=1,Object.defineProperty(hu,"__esModule",{value:!0}),hu.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||(hu.SelectionRangeRequest=e={})),hu}var Ti={},v$;function m7(){if(v$)return Ti;v$=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={},w$;function g7(){if(w$)return Ri;w$=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 hn={},b$;function y7(){if(b$)return hn;b$=1,Object.defineProperty(hn,"__esModule",{value:!0}),hn.SemanticTokensRefreshRequest=hn.SemanticTokensRangeRequest=hn.SemanticTokensDeltaRequest=hn.SemanticTokensRequest=hn.SemanticTokensRegistrationType=hn.TokenFormat=void 0;const t=mt();var e;(function(a){a.Relative="relative"})(e||(hn.TokenFormat=e={}));var n;(function(a){a.method="textDocument/semanticTokens",a.type=new t.RegistrationType(a.method)})(n||(hn.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||(hn.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||(hn.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||(hn.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||(hn.SemanticTokensRefreshRequest=o={})),hn}var pu={},E$;function v7(){if(E$)return pu;E$=1,Object.defineProperty(pu,"__esModule",{value:!0}),pu.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||(pu.ShowDocumentRequest=e={})),pu}var mu={},D$;function w7(){if(D$)return mu;D$=1,Object.defineProperty(mu,"__esModule",{value:!0}),mu.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||(mu.LinkedEditingRangeRequest=e={})),mu}var Yt={},T$;function b7(){if(T$)return Yt;T$=1,Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.WillDeleteFilesRequest=Yt.DidDeleteFilesNotification=Yt.DidRenameFilesNotification=Yt.WillRenameFilesRequest=Yt.DidCreateFilesNotification=Yt.WillCreateFilesRequest=Yt.FileOperationPatternKind=void 0;const t=mt();var e;(function(c){c.file="file",c.folder="folder"})(e||(Yt.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(Yt.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(Yt.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(Yt.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(Yt.DidRenameFilesNotification=s={}));var o;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(o||(Yt.DidDeleteFilesNotification=o={}));var a;return function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)}(a||(Yt.WillDeleteFilesRequest=a={})),Yt}var Si={},R$;function E7(){if(R$)return Si;R$=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={},S$;function D7(){if(S$)return ki;S$=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={},k$;function T7(){if(k$)return Qs;k$=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={},$$;function R7(){if($$)return $i;$$=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 Fn={},C$;function S7(){if(C$)return Fn;C$=1,Object.defineProperty(Fn,"__esModule",{value:!0}),Fn.DiagnosticRefreshRequest=Fn.WorkspaceDiagnosticRequest=Fn.DocumentDiagnosticRequest=Fn.DocumentDiagnosticReportKind=Fn.DiagnosticServerCancellationData=void 0;const t=Ks(),e=Ev(),n=mt();var r;(function(c){function u(l){const d=l;return d&&e.boolean(d.retriggerRequest)}c.is=u})(r||(Fn.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(Fn.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||(Fn.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||(Fn.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||(Fn.DiagnosticRefreshRequest=a={})),Fn}var gt={},_$;function k7(){if(_$)return gt;_$=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=wv(),e=Ev(),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(g,w){const E={executionOrder:g};return(w===!0||w===!1)&&(E.success=w),E}h.create=p;function m(g){const w=g;return e.objectLiteral(w)&&t.uinteger.is(w.executionOrder)&&(w.success===void 0||e.boolean(w.success))}h.is=m;function y(g,w){return g===w?!0:g==null||w===null||w===void 0?!1:g.executionOrder===w.executionOrder&&g.success===w.success}h.equals=y})(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 y(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)&&!g(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=y;function g(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),_=Array.isArray(E);if(k!==_)return!1;if(k&&_){if(w.length!==E.length)return!1;for(let I=0;I<w.length;I++)if(!g(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(),!g(I,x)))return!1;for(let A=0;A<I.length;A++){const P=I[A];if(!g(w[P],E[P]))return!1}}return!0}})(s||(gt.NotebookCell=s={}));var o;(function(h){function p(y,g,w,E){return{uri:y,notebookType:g,version:w,cells:E}}h.create=p;function m(y){const g=y;return e.objectLiteral(g)&&e.string(g.uri)&&t.integer.is(g.version)&&e.typedArray(g.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(y){const g=y;return e.objectLiteral(g)&&t.uinteger.is(g.start)&&t.uinteger.is(g.deleteCount)&&(g.cells===void 0||e.typedArray(g.cells,s.is))}h.is=p;function m(y,g,w){const E={start:y,deleteCount:g};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 gu={},A$;function $7(){if(A$)return gu;A$=1,Object.defineProperty(gu,"__esModule",{value:!0}),gu.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||(gu.InlineCompletionRequest=e={})),gu}var x$;function C7(){return x$||(x$=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=wv(),r=Ev(),i=a7();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=c7();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const o=u7();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return o.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return o.DidChangeWorkspaceFoldersNotification}});const a=l7();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return a.ConfigurationRequest}});const c=d7();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=f7();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return u.FoldingRangeRefreshRequest}});const l=h7();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return l.DeclarationRequest}});const d=p7();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const f=m7();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=g7();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=y7();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=v7();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const y=w7();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const g=b7();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return g.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return g.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return g.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return g.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return g.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return g.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return g.WillDeleteFilesRequest}});const w=E7();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=D7();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=T7();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return k.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return k.InlineValueRefreshRequest}});const _=R7();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return _.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return _.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return _.InlayHintRefreshRequest}});const I=S7();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=k7();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 A=$7();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return A.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 oe;(function(v){function $(b){const L=b;return L&&(L.documentSelector===null||D.is(L.documentSelector))}v.is=$})(oe||(t.TextDocumentRegistrationOptions=oe={}));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 lt;(function(v){v.unknownProtocolVersion=1})(lt||(t.InitializeErrorCodes=lt={}));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 ae;(function(v){v.method="textDocument/didOpen",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(ae||(t.DidOpenTextDocumentNotification=ae={}));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 yn;(function(v){v.method="textDocument/didSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(yn||(t.DidSaveTextDocumentNotification=yn={}));var rr;(function(v){v.Manual=1,v.AfterDelay=2,v.FocusOut=3})(rr||(t.TextDocumentSaveReason=rr={}));var ir;(function(v){v.method="textDocument/willSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(ir||(t.WillSaveTextDocumentNotification=ir={}));var sr;(function(v){v.method="textDocument/willSaveWaitUntil",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(sr||(t.WillSaveTextDocumentWaitUntilRequest=sr={}));var jt;(function(v){v.method="workspace/didChangeWatchedFiles",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(jt||(t.DidChangeWatchedFilesNotification=jt={}));var An;(function(v){v.Created=1,v.Changed=2,v.Deleted=3})(An||(t.FileChangeType=An={}));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 Bn;(function(v){v.Create=1,v.Change=2,v.Delete=4})(Bn||(t.WatchKind=Bn={}));var vn;(function(v){v.method="textDocument/publishDiagnostics",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(vn||(t.PublishDiagnosticsNotification=vn={}));var qn;(function(v){v.Invoked=1,v.TriggerCharacter=2,v.TriggerForIncompleteCompletions=3})(qn||(t.CompletionTriggerKind=qn={}));var nn;(function(v){v.method="textDocument/completion",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(nn||(t.CompletionRequest=nn={}));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 Ut;(function(v){v.method="textDocument/signatureHelp",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ut||(t.SignatureHelpRequest=Ut={}));var zt;(function(v){v.method="textDocument/definition",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(zt||(t.DefinitionRequest=zt={}));var Sr;(function(v){v.method="textDocument/references",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Sr||(t.ReferencesRequest=Sr={}));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 wn;(function(v){v.method="codeLens/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(wn||(t.CodeLensResolveRequest=wn={}));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 kr;(function(v){v.method="documentLink/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(kr||(t.DocumentLinkResolveRequest=kr={}));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 jn;(function(v){v.method="textDocument/onTypeFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(jn||(t.DocumentOnTypeFormattingRequest=jn={}));var or;(function(v){v.Identifier=1})(or||(t.PrepareSupportDefaultBehavior=or={}));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={}))}(bv)),bv}var yu={},I$;function _7(){if(I$)return yu;I$=1,Object.defineProperty(yu,"__esModule",{value:!0}),yu.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 yu.createProtocolConnection=e,yu}var P$;function A7(){return P$||(P$=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(wv(),t),n(mt(),t),n(C7(),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 N$;function St(){return N$||(N$=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=s$();n(s$(),t),n(A7(),t);function i(s,o,a,c){return(0,r.createMessageConnection)(s,o,a,c)}t.createProtocolConnection=i}(Ws)),Ws}var Mn={},O$;function L$(){if(O$)return Mn;O$=1,Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.generateUuid=Mn.parse=Mn.isUUID=Mn.v4=Mn.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"],Mn.empty=new t("00000000-0000-0000-0000-000000000000");function n(){return new e}Mn.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)}Mn.isUUID=i;function s(a){if(!i(a))throw new Error("invalid uuid");return new t(a)}Mn.parse=s;function o(){return n().asHex()}return Mn.generateUuid=o,Mn}var Ci={},F$;function x7(){if(F$)return Ci;F$=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.attachPartialResult=Ci.ProgressFeature=Ci.attachWorkDone=void 0;const t=St(),e=L$();class n{constructor(f,h){this._connection=f,this._token=h,n.Instances.set(this._token,this)}begin(f,h,p,m){let y={kind:"begin",title:f,percentage:h,message:p,cancellable:m};this._connection.sendProgress(t.WorkDoneProgress.type,this._token,y)}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 vu={},M$;function I7(){if(M$)return vu;M$=1,Object.defineProperty(vu,"__esModule",{value:!0}),vu.ConfigurationFeature=void 0;const t=St(),e=pv(),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 vu.ConfigurationFeature=n,vu}var wu={},z$;function P7(){if(z$)return wu;z$=1,Object.defineProperty(wu,"__esModule",{value:!0}),wu.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 wu.WorkspaceFoldersFeature=e,wu}var bu={},B$;function N7(){if(B$)return bu;B$=1,Object.defineProperty(bu,"__esModule",{value:!0}),bu.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 bu.CallHierarchyFeature=e,bu}var _i={},q$;function j$(){if(q$)return _i;q$=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 Eu={},U$;function O7(){if(U$)return Eu;U$=1,Object.defineProperty(Eu,"__esModule",{value:!0}),Eu.ShowDocumentFeature=void 0;const t=St(),e=n=>class extends n{showDocument(r){return this.connection.sendRequest(t.ShowDocumentRequest.type,r)}};return Eu.ShowDocumentFeature=e,Eu}var Du={},G$;function L7(){if(G$)return Du;G$=1,Object.defineProperty(Du,"__esModule",{value:!0}),Du.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 Du.FileOperationsFeature=e,Du}var Tu={},W$;function F7(){if(W$)return Tu;W$=1,Object.defineProperty(Tu,"__esModule",{value:!0}),Tu.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 Tu.LinkedEditingRangeFeature=e,Tu}var Ru={},H$;function M7(){if(H$)return Ru;H$=1,Object.defineProperty(Ru,"__esModule",{value:!0}),Ru.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 Ru.TypeHierarchyFeature=e,Ru}var Su={},V$;function z7(){if(V$)return Su;V$=1,Object.defineProperty(Su,"__esModule",{value:!0}),Su.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 Su.InlineValueFeature=e,Su}var ku={},K$;function B7(){if(K$)return ku;K$=1,Object.defineProperty(ku,"__esModule",{value:!0}),ku.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 ku.FoldingRangeFeature=e,ku}var $u={},Y$;function q7(){if(Y$)return $u;Y$=1,Object.defineProperty($u,"__esModule",{value:!0}),$u.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 $u.InlayHintFeature=e,$u}var Cu={},X$;function j7(){if(X$)return Cu;X$=1,Object.defineProperty(Cu,"__esModule",{value:!0}),Cu.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 Cu.DiagnosticFeature=e,Cu}var eo={},_u={},J$;function Z$(){if(J$)return _u;J$=1,Object.defineProperty(_u,"__esModule",{value:!0}),_u.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 _u.TextDocuments=e,_u}var Q$;function eC(){if(Q$)return eo;Q$=1,Object.defineProperty(eo,"__esModule",{value:!0}),eo.NotebookDocuments=eo.NotebookSyncFeature=void 0;const t=St(),e=Z$(),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=[],y=[],g=[];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 A of I.structure.didOpen)a.openTextDocument({textDocument:A}),p.push(A.uri);if(I.structure.didClose)for(const A of I.structure.didClose)a.closeTextDocument({textDocument:A}),m.push(A.uri)}if(I.data!==void 0){const x=new Map(I.data.map(A=>[A.document,A]));for(let A=0;A<=l.cells.length;A++){const P=x.get(l.cells[A].document);if(P!==void 0){const O=l.cells.splice(A,1,P);if(y.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}),g.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 _=[];for(const I of g)_.push(this.getNotebookCell(I));(E.length>0||k.length>0||y.length>0||_.length>0)&&(w.cells={added:E,removed:k,changed:{data:y,textContent:_}}),(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 Au={},tC;function U7(){if(tC)return Au;tC=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.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 Au.MonikerFeature=e,Au}var nC;function rC(){if(nC)return Ue;nC=1,Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.createConnection=Ue.combineFeatures=Ue.combineNotebooksFeatures=Ue.combineLanguagesFeatures=Ue.combineWorkspaceFeatures=Ue.combineWindowFeatures=Ue.combineClientFeatures=Ue.combineTracerFeatures=Ue.combineTelemetryFeatures=Ue.combineConsoleFeatures=Ue._NotebooksImpl=Ue._LanguagesImpl=Ue.BulkUnregistration=Ue.BulkRegistration=Ue.ErrorMessageTracker=void 0;const t=St(),e=pv(),n=L$(),r=x7(),i=I7(),s=P7(),o=N7(),a=j$(),c=O7(),u=L7(),l=F7(),d=M7(),f=z7(),h=B7(),p=q7(),m=j7(),y=eC(),g=U7();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)})}}Ue.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 _{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 ae={type:t.MessageType.Error,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,ae).then(w)}showWarningMessage(M,...U){let ae={type:t.MessageType.Warning,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,ae).then(w)}showInformationMessage(M,...U){let ae={type:t.MessageType.Info,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,ae).then(w)}}const I=(0,c.ShowDocumentFeature)((0,r.ProgressFeature)(_));var x;(function(ce){function M(){return new A}ce.create=M})(x||(Ue.BulkRegistration=x={}));class A{constructor(){this._registrations=[],this._registered=new Set}add(M,U){const ae=e.string(M)?M:M.method;if(this._registered.has(ae))throw new Error(`${ae} is already added to this registration`);const G=n.generateUuid();this._registrations.push({id:G,method:ae,registerOptions:U||{}}),this._registered.add(ae)}asRegistrationParams(){return{registrations:this._registrations}}}var P;(function(ce){function M(){return new O(void 0,[])}ce.create=M})(P||(Ue.BulkUnregistration=P={}));class O{constructor(M,U){this._connection=M,this._unregistrations=new Map,U.forEach(ae=>{this._unregistrations.set(ae.method,ae)})}get isAttached(){return!!this._connection}attach(M){this._connection=M}add(M){this._unregistrations.set(M.method,M)}dispose(){let M=[];for(let ae of this._unregistrations.values())M.push(ae);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,ae=this._unregistrations.get(U);if(!ae)return!1;let G={unregisterations:[ae]};return this._connection.sendRequest(t.UnregistrationRequest.type,G).then(()=>{this._unregistrations.delete(U)},Fe=>{this._connection.console.info(`Un-registering request handler for ${ae.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,ae){return M instanceof A?this.registerMany(M):M instanceof O?this.registerSingle1(M,U,ae):this.registerSingle2(M,U)}registerSingle1(M,U,ae){const G=e.string(U)?U:U.method,Fe=n.generateUuid();let yt={registrations:[{id:Fe,method:G,registerOptions:ae||{}}]};return M.isAttached||M.attach(this.connection),this.connection.sendRequest(t.RegistrationRequest.type,yt).then(yn=>(M.add({id:Fe,method:G}),M),yn=>(this.connection.console.info(`Registering request handler for ${G} failed.`),Promise.reject(yn)))}registerSingle2(M,U){const ae=e.string(M)?M:M.method,G=n.generateUuid();let Fe={registrations:[{id:G,method:ae,registerOptions:U||{}}]};return this.connection.sendRequest(t.RegistrationRequest.type,Fe).then(yt=>t.Disposable.create(()=>{this.unregisterSingle(G,ae).catch(()=>{this.connection.console.info(`Un-registering capability with id ${G} failed.`)})}),yt=>(this.connection.console.info(`Registering request handler for ${ae} failed.`),Promise.reject(yt)))}unregisterSingle(M,U){let ae={unregisterations:[{id:M,method:U}]};return this.connection.sendRequest(t.UnregistrationRequest.type,ae).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(ae=>({id:ae.id,method:ae.method}))),ae=>(this.connection.console.info("Bulk registration failed."),Promise.reject(ae)))}}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 ae=U(M)?M:{edit:M};return this.connection.sendRequest(t.ApplyWorkspaceEditRequest.type,ae)}}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)}}Ue._LanguagesImpl=V;const Z=(0,h.FoldingRangeFeature)((0,g.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)}}Ue._NotebooksImpl=Le;const oe=(0,y.NotebookSyncFeature)(Le);function K(ce,M){return function(U){return M(ce(U))}}Ue.combineConsoleFeatures=K;function Te(ce,M){return function(U){return M(ce(U))}}Ue.combineTelemetryFeatures=Te;function lt(ce,M){return function(U){return M(ce(U))}}Ue.combineTracerFeatures=lt;function H(ce,M){return function(U){return M(ce(U))}}Ue.combineClientFeatures=H;function Y(ce,M){return function(U){return M(ce(U))}}Ue.combineWindowFeatures=Y;function ee(ce,M){return function(U){return M(ce(U))}}Ue.combineWorkspaceFeatures=ee;function ne(ce,M){return function(U){return M(ce(U))}}Ue.combineLanguagesFeatures=ne;function fe(ce,M){return function(U){return M(ce(U))}}Ue.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,lt),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)}}Ue.combineFeatures=Ee;function ge(ce,M,U){const ae=U&&U.console?new(U.console(k)):new k,G=ce(ae);ae.rawAttach(G);const Fe=U&&U.tracer?new(U.tracer(F)):new F,yt=U&&U.telemetry?new(U.telemetry(W)):new W,yn=U&&U.client?new(U.client(C)):new C,rr=U&&U.window?new(U.window(I)):new I,ir=U&&U.workspace?new(U.workspace(R)):new R,sr=U&&U.languages?new(U.languages(Z)):new Z,jt=U&&U.notebooks?new(U.notebooks(oe)):new oe,An=[ae,Fe,yt,yn,rr,ir,sr,jt];function Yr(X){return X instanceof Promise?X:e.thenable(X)?new Promise((J,le)=>{X.then(Ut=>J(Ut),Ut=>le(Ut))}):Promise.resolve(X)}let Bn,vn,qn,nn={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=>(vn=X,{dispose:()=>{vn=void 0}}),onInitialized:X=>G.onNotification(t.InitializedNotification.type,X),onShutdown:X=>(Bn=X,{dispose:()=>{Bn=void 0}}),onExit:X=>(qn=X,{dispose:()=>{qn=void 0}}),get console(){return ae},get telemetry(){return yt},get tracer(){return Fe},get client(){return yn},get window(){return rr},get workspace(){return ir},get languages(){return sr},get notebooks(){return jt},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 An)X.attach(nn);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 An)J.initialize(X.capabilities);if(vn){let J=vn(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 Ut=le;Ut||(Ut={capabilities:{}});let zt=Ut.capabilities;zt||(zt={},Ut.capabilities=zt),zt.textDocumentSync===void 0||zt.textDocumentSync===null?zt.textDocumentSync=e.number(nn.__textDocumentSync)?nn.__textDocumentSync:t.TextDocumentSyncKind.None:!e.number(zt.textDocumentSync)&&!e.number(zt.textDocumentSync.change)&&(zt.textDocumentSync.change=e.number(nn.__textDocumentSync)?nn.__textDocumentSync:t.TextDocumentSyncKind.None);for(let Sr of An)Sr.fillServerCapabilities(zt);return Ut})}else{let J={capabilities:{textDocumentSync:t.TextDocumentSyncKind.None}};for(let le of An)le.fillServerCapabilities(J.capabilities);return J}}),G.onRequest(t.ShutdownRequest.type,()=>{if(M.shutdownReceived=!0,Bn)return Bn(new t.CancellationTokenSource().token)}),G.onNotification(t.ExitNotification.type,()=>{try{qn&&qn()}finally{M.shutdownReceived?M.exit(0):M.exit(1)}}),G.onNotification(t.SetTraceNotification.type,X=>{Fe.trace=t.Trace.fromString(X.value)}),nn}return Ue.createConnection=ge,Ue}var pn={};const G7=ui(q2),ph=ui(j2),iC=ui(U2);var sC;function W7(){if(sC)return pn;sC=1,Object.defineProperty(pn,"__esModule",{value:!0}),pn.resolveModulePath=pn.FileSystem=pn.resolveGlobalYarnPath=pn.resolveGlobalNodePath=pn.resolve=pn.uriToFilePath=void 0;const t=G7,e=cu,n=ph,r=iC;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 y=h[0],g=h[1];y.length===0&&g.length>1&&g[1]===":"&&h.shift()}return e.normalize(h.join("/"))}pn.uriToFilePath=i;function s(){return process.platform==="win32"}function o(d,f,h,p){const m="NODE_PATH",y=["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((g,w)=>{let E=process.env,k=Object.create(null);Object.keys(E).forEach(_=>k[_]=E[_]),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 _=(0,r.fork)("",[],{cwd:h,env:k,execArgv:["-e",y]});if(_.pid===void 0){w(new Error(`Starting process to resolve node module ${d} failed`));return}_.on("error",x=>{w(x)}),_.on("message",x=>{x.c==="r"&&(_.send({c:"e"}),x.s?g(x.r):w(new Error(`Failed to resolve module: ${d}`)))});let I={c:"rs",a:d};_.send(I)}catch(_){w(_)}})}pn.resolve=o;function a(d){let f="npm";const h=Object.create(null);Object.keys(process.env).forEach(y=>h[y]=process.env[y]),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 y=(0,r.spawnSync)(f,["config","get","prefix"],p).stdout;if(!y){d&&d("'npm config get prefix' didn't return a value.");return}let g=y.trim();return d&&d(`'npm config get prefix' value is: ${g}`),g.length>0?s()?e.join(g,"node_modules"):e.join(g,"lib","node_modules"):void 0}catch{return}finally{process.removeListener("SIGPIPE",m)}}pn.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),y=m.stdout;if(!y){d&&(d("'yarn global dir' didn't return a value."),m.stderr&&d(m.stderr));return}let g=y.trim().split(/\r?\n/);for(let w of g)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)}}pn.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,y){return h()?e.normalize(y).indexOf(e.normalize(m))===0:e.normalize(y).toLowerCase().indexOf(e.normalize(m).toLowerCase())===0}d.isParent=p})(u||(pn.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 pn.resolveModulePath=l,pn}var Dv,oC;function aC(){return oC||(oC=1,Dv=St()),Dv}var to={},xu={},cC;function H7(){if(cC)return xu;cC=1,Object.defineProperty(xu,"__esModule",{value:!0}),xu.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 xu.InlineCompletionFeature=e,xu}var uC;function V7(){return uC||(uC=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=j$();Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return r.SemanticTokensBuilder}});const i=H7();n(St(),t);const s=Z$();Object.defineProperty(t,"TextDocuments",{enumerable:!0,get:function(){return s.TextDocuments}});const o=eC();Object.defineProperty(t,"NotebookDocuments",{enumerable:!0,get:function(){return o.NotebookDocuments}}),n(rC(),t);var a;(function(c){c.all={__brand:"features",languages:i.InlineCompletionFeature}})(a||(t.ProposedFeatures=a={}))}(to)),to}var lC;function dC(){return lC||(lC=1,function(t){var e=Gs&&Gs.__createBinding||(Object.create?function(g,w,E,k){k===void 0&&(k=E);var _=Object.getOwnPropertyDescriptor(w,E);(!_||("get"in _?!w.__esModule:_.writable||_.configurable))&&(_={enumerable:!0,get:function(){return w[E]}}),Object.defineProperty(g,k,_)}:function(g,w,E,k){k===void 0&&(k=E),g[k]=w[E]}),n=Gs&&Gs.__exportStar||function(g,w){for(var E in g)E!=="default"&&!Object.prototype.hasOwnProperty.call(w,E)&&e(w,g,E)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const r=X9,i=pv(),s=rC(),o=W7(),a=aC();n(aC(),t),n(V7(),t);var c;(function(g){g.uriToFilePath=o.uriToFilePath,g.resolveGlobalNodePath=o.resolveGlobalNodePath,g.resolveGlobalYarnPath=o.resolveGlobalYarnPath,g.resolve=o.resolve,g.resolveModulePath=o.resolveModulePath})(c||(t.Files=c={}));function u(){}let l=!1,d;function f(){const g="--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===g&&E+1<process.argv.length){w(process.argv[E+1]);return}else{let _=k.split("=");_[0]===g&&w(_[1])}}}f();const h={initialize:g=>{const w=g.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(g){l=g},exit:g=>{process.exit(g)}};function p(g,w,E,k){let _,I,x,A;return g!==void 0&&g.__brand==="features"&&(_=g,g=w,w=E,E=k),a.ConnectionStrategy.is(g)||a.ConnectionOptions.is(g)?A=g:(I=g,x=w,A=E),m(I,x,A,_)}t.createConnection=p;function m(g,w,E,k){let _=!1;if(!g&&!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"){g=new a.IPCMessageReader(process),w=new a.IPCMessageWriter(process);break}else if(R==="--stdio"){_=!0,g=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);g=D[0],w=D[1]}else if(O){let D=(0,a.createServerPipeTransport)(O);g=D[0],w=D[1]}}var x="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!g)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(g.read)&&i.func(g.on)){let P=g;P.on("end",()=>{process.exit(l?0:1)}),P.on("close",()=>{process.exit(l?0:1)})}const A=P=>{const O=(0,a.createProtocolConnection)(g,w,P,E);return _&&y(P),O};return(0,s.createConnection)(A,h,k)}function y(g){function w(k){return k.map(_=>typeof _=="string"?_:(0,r.inspect)(_)).join(" ")}const E=new Map;console.assert=function(_,...I){if(!_)if(I.length===0)g.error("Assertion failed");else{const[x,...A]=I;g.error(`Assertion failed: ${x} ${w(A)}`)}},console.count=function(_="default"){const I=String(_);let x=E.get(I)??0;x+=1,E.set(I,x),g.log(`${I}: ${I}`)},console.countReset=function(_){_===void 0?E.clear():E.delete(String(_))},console.debug=function(..._){g.log(w(_))},console.dir=function(_,I){g.log((0,r.inspect)(_,I))},console.log=function(..._){g.log(w(_))},console.error=function(..._){g.error(w(_))},console.trace=function(..._){const I=new Error().stack.replace(/(.+\n){2}/,"");let x="Trace";_.length!==0&&(x+=`: ${w(_)}`),g.log(`${x}
160
- ${I}`)},console.warn=function(..._){g.warn(w(_))}}}(Gs)),Gs}var me=dC();function fC(t,e){const n={stacks:t,tokens:e};return K7(n),n.stacks.flat().forEach(i=>{i.property=void 0}),pC(n.stacks).map(i=>i[i.length-1])}function Tv(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(hT(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(...hC({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(...Tv({next:{feature:a,type:e.type},cardinalities:n,visited:r,plus:i}))}return s}function Rv(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 hC(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(xr(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 Tv({next:{feature:c,type:Ic(c),property:(n=i.property)!==null&&n!==void 0?n:c.feature},cardinalities:s,visited:o,plus:a});if(si(c)&&Zt(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 hC(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 K7(t){for(const e of t.tokens){const n=pC(t.stacks,e);t.stacks=n}}function pC(t,e){const n=[];for(const r of t)n.push(...Y7(r,e));return n}function Y7(t,e){const n=new Map,r=new Set(t.map(s=>s.feature).filter(X7)),i=[];for(;t.length>0;){const s=t.pop(),o=Tv({next:s,cardinalities:n,plus:r,visited:new Set}).filter(a=>e?Sv(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 X7(t){if(t.cardinality==="+")return!0;const e=En(t,xr);return!!(e&&e.cardinality==="+")}function Sv(t,e){if(Ir(t))return t.value===e.image;if(si(t))return J7(t.rule.ref,e);if(mc(t)){const n=kg(t);if(n)return Sv(n,e)}return!1}function J7(t,e){return Zt(t)?Rv(t.definition).some(r=>Sv(r.feature,e)):ii(t)?Pc(t).test(e.image):!1}function Z7(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 mC{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=>Ir(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=Rv({feature:c.definition,type:As(c)});return s.length>0?(s.shift(),fC(u.map(l=>[l]),s)):u}const o=[...s].splice(i.tokenIndex);return fC([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=qd(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 y=(i=qd(s,m))===null||i===void 0?void 0:i.astNode;let g=!0;if(h!==void 0&&p!==void 0&&p===c&&(yield Object.assign(Object.assign({},u),{node:y,tokenOffset:h,tokenEndOffset:p,features:this.findFeaturesAt(o,h)}),g=this.performNextTokenCompletion(e,a.substring(h,p),h,p),g&&(yield Object.assign(Object.assign({},u),{node:y,tokenOffset:p,tokenEndOffset:p,features:this.findFeaturesAt(o,p)}))),y)g&&(yield Object.assign(Object.assign({},u),{node:y,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:Rv(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=En(s?.grammarSource,Zt))===null||r===void 0)&&r.dataType);if(o){for(;o;)s=s?.container,o=!!(!((i=En(s?.grammarSource,Zt))===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(Ir(n.feature))return this.completionForKeyword(e,n.feature,r);if(mc(n.feature)&&e.node)return this.completionForCrossReference(e,n,r)}completionForCrossReference(e,n,r){const i=En(n.feature,xr);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 Q7{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=on(n.astNode);if(n&&r)return{source:e,target:n,targetDocument:r}}}}class gC{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(on(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 eG{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 _c(n)){const s=this.getSymbol(e,i);r.push(...s)}if(r.length>0)return r}}class tG{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([Kt.parse(e.document.uri)],[])}didChangeWatchedFiles(e){const n=Qe(e.changes).filter(i=>i.type!==me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Kt.parse(i.uri)).toArray(),r=Qe(e.changes).filter(i=>i.type===me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Kt.parse(i.uri)).toArray();this.fireDocumentUpdate(n,r)}}class nG{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=Pr(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 qD(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 rG{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 yC<=e&&e<=vC&&iG<=n&&n<=sG||e===wC&&n!==wC}toUpperCharCode(e){return yC<=e&&e<=vC?e-32:e}}const yC=97,vC=122,iG=65,sG=90,wC=95;class bC{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 oG extends bC{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 aG={[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},cG={[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 uG(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 lG 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 dG{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 aG}get tokenModifiers(){return cG}get semanticTokensOptions(){return{legend:{tokenTypes:Object.keys(this.tokenTypes),tokenModifiers:Object.keys(this.tokenModifiers)},full:{delta:!0},range:!0}}async semanticHighlight(e,n,r=nt.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=nt.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=nt.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 lG;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 At(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=xn(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=xc(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 EC;(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}})(EC||(EC={}));function fG(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 hG{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(){sv(this.services),this.services.ServiceRegistry.all.forEach(e=>sv(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(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.Formatter}),l=c.map(oe=>{var K,Te;return(Te=(K=oe.lsp)===null||K===void 0?void 0:K.Formatter)===null||Te===void 0?void 0:Te.formatOnTypeOptions}).find(oe=>!!oe),d=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.CodeActionProvider}),f=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.SemanticTokenProvider}),h=uG(c.map(oe=>{var K,Te;return(Te=(K=oe.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(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.DocumentLinkProvider}),y=fG(c.map(oe=>{var K,Te;return(Te=(K=oe.lsp)===null||K===void 0?void 0:K.SignatureHelp)===null||Te===void 0?void 0:Te.signatureHelpOptions})),g=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.TypeProvider}),w=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.ImplementationProvider}),E=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.CompletionProvider}),k=Z7(c.map(oe=>{var K,Te;return(Te=(K=oe.lsp)===null||K===void 0?void 0:K.CompletionProvider)===null||Te===void 0?void 0:Te.completionOptions})),_=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.ReferencesProvider}),I=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.DocumentSymbolProvider}),x=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.DefinitionProvider}),A=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.DocumentHighlightProvider}),P=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.FoldingRangeProvider}),O=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.HoverProvider}),C=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.RenameProvider}),D=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.CallHierarchyProvider}),R=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.TypeHierarchyProvider}),F=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.CodeLensProvider}),W=this.hasService(oe=>{var K;return(K=oe.lsp)===null||K===void 0?void 0:K.DeclarationProvider}),V=this.hasService(oe=>{var K;return(K=oe.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:_,documentSymbolProvider:I,definitionProvider:x,typeDefinitionProvider:g,documentHighlightProvider:A,codeActionProvider:d,documentFormattingProvider:u,documentRangeFormattingProvider:u,documentOnTypeFormattingProvider:l,foldingRangeProvider:P,hoverProvider:O,renameProvider:C?{prepareProvider:!0}:void 0,semanticTokensProvider:f?h:void 0,signatureHelpProvider:y,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 pG{getSymbolKind(e){return me.SymbolKind.Field}getCompletionItemKind(e){return me.CompletionItemKind.Reference}}class mG{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 gG{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=$n.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&&nk(e.astNode)&&e===this.nameProvider.getNameNode(e.astNode)}}class DC{constructor(e){this.indexManager=e.workspace.IndexManager,this.nodeKindProvider=e.lsp.NodeKindProvider,this.fuzzyMatcher=e.lsp.FuzzyMatcher}async getSymbols(e,n=nt.CancellationToken.None){const r=[],i=e.query.toLowerCase();for(const s of this.indexManager.allElements())if(await At(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 yG{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 vG(t){return sh.merge(Dk(t),wG(t))}function wG(t){return{lsp:{CompletionProvider:e=>new mC(e),DocumentSymbolProvider:e=>new eG(e),HoverProvider:e=>new oG(e),FoldingRangeProvider:e=>new nG(e),ReferencesProvider:e=>new mG(e),DefinitionProvider:e=>new Q7(e),DocumentHighlightProvider:e=>new gC(e),RenameProvider:e=>new gG(e)},shared:()=>t.shared}}function bG(t){return sh.merge(Tk(t),EG(t))}function EG(t){return{lsp:{Connection:()=>t.connection,LanguageServer:e=>new hG(e),DocumentUpdateHandler:e=>new tG(e),WorkspaceSymbolProvider:e=>new DC(e),NodeKindProvider:()=>new pG,FuzzyMatcher:()=>new rG},workspace:{TextDocuments:()=>new yG(rh)}}}class DG{constructor(){this.collector=()=>{}}getNodeFormatter(e){return new TG(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=Pr(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 g=this.createTextEdit(u,d,p,s);for(const w of g)w&&this.insideRange(w.range,i)&&o.push(w)}const m=this.nodeModeToKey(d,"append"),y=n.get(m);if(n.delete(m),y){const g=HD(d);if(g){const w=this.createTextEdit(d,g,y,s);for(const E of w)E&&this.insideRange(E.range,i)&&o.push(E)}}if(!p&&d.hidden){const g=this.createHiddenTextEdits(u,d,void 0,s);for(const w of g)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 y=0;y<m.length;y++){const g=o+y,w={character:0,line:g};if(h>0)a.push({newText:p,range:{start:w,end:w}});else{const E=m[y];let k=0;for(;k<E.length;k++){const _=E.charAt(k);if(_!==" "&&_!==" ")break}a.push({newText:"",range:{start:w,end:{line:g,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 Pt(()=>({index:0}),i=>i.index<e.content.length?{done:!1,value:e.content[i.index++]}:(n.indentation=r,Jt))}}class TG{constructor(e,n){this.astNode=e,this.collector=n}node(e){return new Rr(e.$cstNode?[e.$cstNode]:[],this.collector)}nodes(...e){const n=[];for(const r of e)r.$cstNode&&n.push(r.$cstNode);return new Rr(n,this.collector)}property(e,n){const r=xn(this.astNode.$cstNode,e,n);return new Rr(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 Rr(n,this.collector)}keyword(e,n){const r=xc(this.astNode.$cstNode,e,n);return new Rr(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 Rr(n,this.collector)}cst(e){return new Rr([...e],this.collector)}interior(e,n){const r=e.nodes,i=n.nodes;if(r.length!==1||i.length!==1)return new Rr([],this.collector);let s=r[0],o=i[0];if(s.offset>o.offset){const a=s;s=o,o=a}return new Rr(VD(s,o),this.collector)}}class Rr{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 Rr(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,y,g;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,_=(m=d.tabs)!==null&&m!==void 0?m:0,I=(y=l.characters)!==null&&y!==void 0?y:0,x=(g=d.characters)!==null&&g!==void 0?g:0;return w<E?-1:w>E?1:k<_?-1:k>_?1:I<x?-1:I>x?1:0}})(Xi||(Xi={}));var kv,TC;function RG(){return TC||(TC=1,kv=dC()),kv}RG();class SG{constructor(){this.encoding="utf-8"}readFile(e){return K0.promises.readFile(e.fsPath,this.encoding)}async readDirectory(e){return(await K0.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},RC={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 $v(t){return t!==null&&typeof t=="object"}function Cv(t,e,n=".",r){if(!$v(e))return Cv(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]]:$v(o)&&$v(i[s])?i[s]=Cv(o,i[s],(n?`${n}.`:"")+s.toString()):i[s]=o)}return i}function kG(t){return(...e)=>e.reduce((n,r)=>Cv(n,r,""),{})}const $G=kG();function CG(t){return Object.prototype.toString.call(t)==="[object Object]"}function _G(t){return!(!CG(t)||!t.message&&!t.args||t.stack)}let _v=!1;const SC=[];let mn=class g2{constructor(e={}){const n=e.types||RC;this.options=$G({...e,defaults:{...e.defaults},level:Av(e.level,n),reporters:[...e.reporters||[]]},{types:RC,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=Av(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 g2({...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=SC.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){SC.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:Av(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 Av(t,e={},n=3){return t===void 0?n:typeof t=="number"?t:e[t]&&e[t].level!==void 0?e[t].level:n}mn.prototype.add=mn.prototype.addReporter,mn.prototype.remove=mn.prototype.removeReporter,mn.prototype.clear=mn.prototype.removeReporter,mn.prototype.withScope=mn.prototype.withTag,mn.prototype.mock=mn.prototype.mockTypes,mn.prototype.pause=mn.prototype.pauseLogs,mn.prototype.resume=mn.prototype.resumeLogs;function AG(t={}){return new mn(t)}function kC(t){const e=process.cwd()+S2;return t.split(`
167
- `).splice(1).map(n=>n.trim().replace("file://","").replace(e,""))}function xG(t,e){return(e.__write||e.write).call(e,t)}const xv=t=>t?`[${t}]`:"";let $C=class{formatStack(e,n){return" "+kC(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 x2(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
- `+[xv(e.tag),e.title&&e.title,...r.split(`
171
- `)].filter(Boolean).map(i=>" > "+i).join(`
172
- `)+`
173
- `:this.filterAndJoin([xv(e.type),xv(e.tag),r])}log(e,n){const r=this.formatLogObj(e,{columns:n.options.stdout.columns||0,...n.options.formatOptions});return xG(r+`
174
- `,e.level<2?n.options.stderr||process.stderr:n.options.stdout||process.stdout)}};const{env:Ji={},argv:CC=[],platform:IG=""}=typeof process>"u"?{}:process,PG="NO_COLOR"in Ji||CC.includes("--no-color"),NG="FORCE_COLOR"in Ji||CC.includes("--color"),OG=IG==="win32",_C=Ji.TERM==="dumb",LG=vm&&vm.isatty&&vm.isatty(1)&&Ji.TERM&&!_C,FG="CI"in Ji&&("GITHUB_ACTIONS"in Ji||"GITLAB_CI"in Ji||"CIRCLECI"in Ji),MG=!PG&&(NG||OG&&!_C||LG||FG);function AC(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:AC(o,s,n,r))}function zG(t,e,n,r,i){return t<0?n+e+r:n+AC(t,e,r,i)+r}function BG(t,e,n=t,r=t.length+1){return i=>i||!(i===""||i===void 0)?zG((""+i).indexOf(e,r),i,t,e,n):""}function ke(t,e,n){return BG(`\x1B[${t}m`,`\x1B[${e}m`,n)}const xC={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 qG(t=MG){return t?xC:Object.fromEntries(Object.keys(xC).map(e=>[e,String]))}const gn=qG();function jG(t,e="reset"){return gn[t]||gn[e]}const UG=["[\\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 Iu(t){return t.replace(new RegExp(UG,"g"),"")}const IC={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"}},GG={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1};function WG(t,e={}){const n={...e,style:{...GG,...e.style}},r=t.split(`
175
- `),i=[],s=jG(n.style.borderColor),o={...typeof n.style.borderStyle=="string"?IC[n.style.borderStyle]||IC.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-Iu(n.title).length)/2)),p=o.h.repeat(u-Iu(n.title).length-Iu(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),y=" ".repeat(u-Iu(p).length);i.push(`${d}${o.v}${m}${p}${y}${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 HG=[["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 VG(t){for(const e of HG){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:{},Pu=yh.env||{},PC=VG(Pu),KG=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";yh.platform,PC.name;const YG=Nu(Pu.CI)||PC.ci!==!1;Nu(yh.stdout&&yh.stdout.isTTY);const XG=Nu(Pu.DEBUG),NC=KG==="test"||Nu(Pu.TEST);Nu(Pu.MINIMAL);function Nu(t){return t?t!=="false":!1}function JG({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 ZG=JG();function QG(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(ZG,"")}function OC(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var LC={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}})(LC);var eW=LC.exports;const tW=OC(eW),nW=()=>/[#*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 rW(t,e){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...e},e.countAnsiEscapeCodes||(t=QG(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(nW().test(i)){r+=2;continue}switch(tW.eastAsianWidth(i)){case"F":case"W":{r+=2;break}case"A":{r+=n;break}default:r+=1}}}return r}function FC(){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 iW={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},sW={0:"red",1:"yellow"},oW=FC(),qr=(t,e)=>oW?t:e,MC={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 zC(t){return Intl.Segmenter?rW(t):Iu(t).length}class aW extends $C{formatStack(e){return`
177
- `+kC(e).map(n=>" "+n.replace(/^at +/,r=>gn.gray(r)).replace(/\((.+)\)/,(r,i)=>`(${gn.cyan(i)})`)).join(`
178
- `)}formatType(e,n,r){const i=iW[e.type]||sW[e.level]||"gray";if(n)return uW(i)(gn.black(` ${e.type.toUpperCase()} `));const s=typeof MC[e.type]=="string"?MC[e.type]:e.icon||e.type;return s?cW(i)(s):""}formatLogObj(e,n){const[r,...i]=this.formatArgs(e.args,n).split(`
179
- `);if(e.type==="box")return WG(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&&gn.gray(s),a=e.badge??e.level<2,c=this.formatType(e,a,n),u=e.tag?gn.gray(e.tag):"";let l;const d=this.filterAndJoin([c,vh(r)]),f=this.filterAndJoin(n.columns?[u,o]:[u]),h=(n.columns||0)-zC(d)-zC(f)-2;if(l=h>0&&(n.columns||0)>=80?d+" ".repeat(h)+f:(f?`${gn.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)=>gn.cyan(n)).replace(/\s+_([^_]+)_\s+/gm,(e,n)=>` ${gn.underline(n)} `)}function cW(t="white"){return gn[t]||gn.white}function uW(t="bgWhite"){return gn[`bg${t[0].toUpperCase()}${t.slice(1)}`]||gn.bgWhite}function BC(t={}){let e=lW();return process.env.CONSOLA_LEVEL&&(e=Number.parseInt(process.env.CONSOLA_LEVEL)??e),AG({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??!(YG||NC)?new aW:new $C],...t})}function lW(){return XG?Ye.debug:NC?Ye.warn:Ye.info}BC();function dW(){return Ye.debug}const qC=dW(),Xe=BC({level:qC,defaults:{level:qC},formatOptions:{colors:!0,compact:!1,date:!1}});function fW(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 hW(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 pW(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 mW=new TextEncoder,gW=50;function yW(t,e,n){mW.encodeInto(t,e.subarray(n))}function vW(t,e,n){t.length>gW?yW(t,e,n):pW(t,e,n)}var wW=4096;function jC(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>=wW&&(o+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(o+=String.fromCharCode.apply(String,s)),o}var bW=new TextDecoder,EW=200;function DW(t,e,n){var r=t.subarray(e,e+n);return bW.decode(r)}function TW(t,e,n){return n>EW?DW(t,e,n):jC(t,e,n)}var wh=function(){function t(e,n){this.type=e,this.data=n}return t}(),RW=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){RW(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),Ou=4294967295;function SW(t,e,n){var r=n/4294967296,i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function UC(t,e,n){var r=Math.floor(n/4294967296),i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function GC(t,e){var n=t.getInt32(e),r=t.getUint32(e+4);return n*4294967296+r}function kW(t,e){var n=t.getUint32(e),r=t.getUint32(e+4);return n*4294967296+r}var $W=-1,CW=4294967296-1,_W=17179869184-1;function AW(t){var e=t.sec,n=t.nsec;if(e>=0&&n>=0&&e<=_W)if(n===0&&e<=CW){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),UC(i,4,e),r}}function xW(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 IW(t){if(t instanceof Date){var e=xW(t);return AW(e)}else return null}function PW(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=GC(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 NW(t){var e=PW(t);return new Date(e.sec*1e3+e.nsec/1e6)}var OW={type:$W,encode:IW,decode:NW},WC=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(OW)}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 LW(t){if(t instanceof ArrayBuffer)return new DataView(t);var e=bh(t);return new DataView(e.buffer,e.byteOffset,e.byteLength)}var FW=100,MW=2048,zW=function(){function t(e){var n,r,i,s,o,a,c,u;this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:WC.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:FW,this.initialBufferSize=(s=e?.initialBufferSize)!==null&&s!==void 0?s:MW,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=hW(e);this.ensureBufferSizeToWrite(n+r),this.writeStringHeader(r),vW(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),SW(this.view,this.pos,e),this.pos+=8},t.prototype.writeI64=function(e){this.ensureBufferSizeToWrite(8),UC(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 BW(t,e){var n=new zW(e);return n.encodeSharedRef(t)}function Iv(t){return"".concat(t<0?"-":"","0x").concat(Math.abs(t).toString(16).padStart(2,"0"))}var qW=16,jW=16,UW=function(){function t(e,n){e===void 0&&(e=qW),n===void 0&&(n=jW),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=jC(e,n,r),o=Uint8Array.prototype.slice.call(e,n,n+r);return this.store(o,s),s},t}(),GW=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())})},Pv=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}}},HC=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)},WW=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])}},VC="array",Eh="map_key",HW="map_value",VW=function(t){return typeof t=="string"||typeof t=="number"},Lu=-1,Nv=new DataView(new ArrayBuffer(0)),KW=new Uint8Array(Nv.buffer);try{Nv.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 Ov=RangeError,KC=new Ov("Insufficient data"),YW=new UW,XW=function(){function t(e){var n,r,i,s,o,a,c;this.totalPos=0,this.pos=0,this.view=Nv,this.bytes=KW,this.headByte=Lu,this.stack=[],this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:WC.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:Ou,this.maxBinLength=(s=e?.maxBinLength)!==null&&s!==void 0?s:Ou,this.maxArrayLength=(o=e?.maxArrayLength)!==null&&o!==void 0?o:Ou,this.maxMapLength=(a=e?.maxMapLength)!==null&&a!==void 0?a:Ou,this.maxExtLength=(c=e?.maxExtLength)!==null&&c!==void 0?c:Ou,this.keyDecoder=e?.keyDecoder!==void 0?e.keyDecoder:YW}return t.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=Lu,this.stack.length=0},t.prototype.setBuffer=function(e){this.bytes=bh(e),this.view=LW(this.bytes),this.pos=0},t.prototype.appendBuffer=function(e){if(this.headByte===Lu&&!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 Pv(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 GW(this,void 0,void 0,function(){var u,l,d,f,h,p,m,y;return Pv(this,function(g){switch(g.label){case 0:u=!1,g.label=1;case 1:g.trys.push([1,6,7,12]),n=!0,r=HC(e),g.label=2;case 2:return[4,r.next()];case 3:if(i=g.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 Ov))throw w}this.totalPos+=this.pos}finally{n=!0}g.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return f=g.sent(),o={error:f},[3,12];case 7:return g.trys.push([7,,10,11]),!n&&!s&&(a=r.return)?[4,a.call(r)]:[3,9];case 8:g.sent(),g.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,y=h.totalPos,new RangeError("Insufficient data in parsing ".concat(Iv(p)," at ").concat(y," (").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 WW(this,arguments,function(){var i,s,o,a,c,u,l,d,f,h,p,m;return Pv(this,function(y){switch(y.label){case 0:i=n,s=-1,y.label=1;case 1:y.trys.push([1,15,16,21]),o=!0,a=HC(e),y.label=2;case 2:return[4,ca(a.next())];case 3:if(c=y.sent(),f=c.done,!!f)return[3,14];m=c.value,o=!1,y.label=4;case 4:if(y.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()),y.label=5;case 5:y.trys.push([5,10,,11]),y.label=6;case 6:return[4,ca(this.doDecodeSync())];case 7:return[4,y.sent()];case 8:return y.sent(),--s===0?[3,9]:[3,6];case 9:return[3,11];case 10:if(l=y.sent(),!(l instanceof Ov))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=y.sent(),h={error:d},[3,21];case 16:return y.trys.push([16,,19,20]),!o&&!f&&(p=a.return)?[4,ca(p.call(a))]:[3,18];case 17:y.sent(),y.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(Iv(e)));this.complete();for(var s=this.stack;s.length>0;){var o=s[s.length-1];if(o.type===VC)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(!VW(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=HW;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===Lu&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=Lu},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(Iv(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:VC,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 KC;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=TW(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 KC;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=kW(this.view,this.pos);return this.pos+=8,e},t.prototype.readI64=function(){var e=GC(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 JW(t,e){var n=new XW(e);return n.decode(t)}const ZW=t=>typeof ArrayBuffer=="function"&&t instanceof ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]",QW=(t,e=0,n=t.byteLength-e)=>{if(!ZW(t))throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof t} (${t})`);return Dm.from(t,e,n)},YC=(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)},eH=/^[A-Za-z0-9+/]*={0,2}$/,tH=t=>{if(t.length*3%4!==0)throw new TypeError("Incorrect padding on base64 string.");if(!eH.exec(t))throw new TypeError("Invalid base64 string.");const e=YC(t,"base64");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},nH=t=>{const e=YC(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)},rH=t=>{let e;if(typeof t=="string"?e=nH(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 QW(e.buffer,e.byteOffset,e.byteLength).toString("base64")},iH=`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
- }}`,XC="likec4builtin",sH=`${XC}:///likec4/lib/icons.c4`;var no=Ks();const oH=new no.NotificationType("likec4/onDidChangeModel"),aH=new no.RequestType0("likec4/fetchModel"),cH=new no.RequestType("likec4/fetchComputedModel"),uH=new no.RequestType("likec4/computeView"),lH=new no.RequestType("likec4/build"),dH=new no.RequestType("likec4/locate"),fH=new no.RequestType("likec4/change-view");var Lv,JC;function hH(){return JC||(JC=1,Lv=t=>{const e=t.match(/^[ \t]*(?=\S)/gm);return e?e.reduce((n,r)=>Math.min(n,r.length),1/0):0}),Lv}var pH=hH();function Fv(t){const e=pH(t);if(e===0)return t;const n=new RegExp(`^[ \\t]{${e}}`,"gm");return t.replace(n,"")}var Mv,ZC;function mH(){if(ZC)return Mv;ZC=1;function t(e){for(var n=5381,r=e.length;r;)n=n*33^e.charCodeAt(--r);return n>>>0}return Mv=t,Mv}var gH=mH(),yH=Object.getOwnPropertyNames,vH=Object.getOwnPropertySymbols,wH=Object.prototype.hasOwnProperty;function QC(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 e_(t){return yH(t).concat(vH(t))}var t_=Object.hasOwn||function(t,e){return wH.call(t,e)};function ua(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var n_="_owner",r_=Object.getOwnPropertyDescriptor,i_=Object.keys;function bH(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 EH(t,e){return ua(t.getTime(),e.getTime())}function s_(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],y=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,y,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function DH(t,e,n){var r=i_(t),i=r.length;if(i_(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===n_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!t_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function Fu(t,e,n){var r=e_(t),i=r.length;if(e_(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===n_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!t_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=r_(t,s),a=r_(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function TH(t,e){return ua(t.valueOf(),e.valueOf())}function RH(t,e){return t.source===e.source&&t.flags===e.flags}function o_(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 SH(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 kH="[object Arguments]",$H="[object Boolean]",CH="[object Date]",_H="[object Map]",AH="[object Number]",xH="[object Object]",IH="[object RegExp]",PH="[object Set]",NH="[object String]",OH=Array.isArray,a_=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,c_=Object.assign,LH=Object.prototype.toString.call.bind(Object.prototype.toString);function FH(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(OH(l))return e(l,d,f);if(a_!=null&&a_(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=LH(l);return p===CH?n(l,d,f):p===IH?o(l,d,f):p===_H?r(l,d,f):p===PH?a(l,d,f):p===xH?typeof l.then!="function"&&typeof d.then!="function"&&i(l,d,f):p===kH?i(l,d,f):p===$H||p===AH||p===NH?s(l,d,f):!1}}function MH(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?Fu:bH,areDatesEqual:EH,areMapsEqual:r?QC(s_,Fu):s_,areObjectsEqual:r?Fu:DH,arePrimitiveWrappersEqual:TH,areRegExpsEqual:RH,areSetsEqual:r?QC(o_,Fu):o_,areTypedArraysEqual:r?Fu:SH};if(n&&(i=c_({},i,n(i))),e){var s=Dh(i.areArraysEqual),o=Dh(i.areMapsEqual),a=Dh(i.areObjectsEqual),c=Dh(i.areSetsEqual);i=c_({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function zH(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function BH(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 u_=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=MH(t),c=FH(a),u=r?r(c):zH(c);return BH({circular:n,comparator:c,createState:i,equals:u,strict:o})}var zv,l_;function Bv(){if(l_)return zv;l_=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,y]){l(m)&&d.setNode(m,y)}),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 y=f.parent(m);return y===void 0||d.hasNode(y)?(h[m]=y,y):y in h?h[y]:p(y)}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 y=o(this._isDirected,l,d,f);if(Object.hasOwn(this._edgeLabels,y))return p&&(this._edgeLabels[y]=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[y]=p?h:this._defaultEdgeLabelFn(l,d,f);var g=a(this._isDirected,l,d,f);return l=g.v,d=g.w,Object.freeze(g),this._edgeObjs[y]=g,i(this._preds[d],l),i(this._sucs[l],d),this._in[d][y]=g,this._out[l][y]=g,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 y={v:h,w:p};return f&&(y.name=f),y}function c(u,l){return o(u,l.v,l.w,l.name)}return zv=r,zv}var qv,d_;function qH(){return d_||(d_=1,qv="2.2.4"),qv}var jv,f_;function jH(){return f_||(f_=1,jv={Graph:Bv(),version:qH()}),jv}var Uv,h_;function UH(){if(h_)return Uv;h_=1;var t=Bv();Uv={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 Uv}var Gv,p_;function GH(){if(p_)return Gv;p_=1,Gv=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 Gv}var Wv,m_;function g_(){if(m_)return Wv;m_=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 Wv=t,Wv}var Hv,y_;function v_(){if(y_)return Hv;y_=1;var t=g_();Hv=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],y=o(h),g=d.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);g<m.distance&&(m.distance=g,m.predecessor=l,u.decrease(p,g))};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 Hv}var Vv,w_;function WH(){if(w_)return Vv;w_=1;var t=v_();Vv=e;function e(n,r,i){return n.nodes().reduce(function(s,o){return s[o]=t(n,o,r,i),s},{})}return Vv}var Kv,b_;function E_(){if(b_)return Kv;b_=1,Kv=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 Kv}var Yv,D_;function HH(){if(D_)return Yv;D_=1;var t=E_();Yv=e;function e(n){return t(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Yv}var Xv,T_;function VH(){if(T_)return Xv;T_=1,Xv=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],y=h.distance+p.distance;y<m.distance&&(m.distance=y,m.predecessor=p.predecessor)})})}),o}return Xv}var Jv,R_;function S_(){if(R_)return Jv;R_=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 Jv=t,t.CycleException=e,Jv}var Zv,k_;function KH(){if(k_)return Zv;k_=1;var t=S_();Zv=e;function e(n){try{t(n)}catch(r){if(r instanceof t.CycleException)return!1;throw r}return!0}return Zv}var Qv,$_;function C_(){if($_)return Qv;$_=1,Qv=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 Qv}var ew,__;function YH(){if(__)return ew;__=1;var t=C_();ew=e;function e(n,r){return t(n,r,"post")}return ew}var tw,A_;function XH(){if(A_)return tw;A_=1;var t=C_();tw=e;function e(n,r){return t(n,r,"pre")}return tw}var nw,x_;function JH(){if(x_)return nw;x_=1;var t=Bv(),e=g_();nw=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 nw}var rw,I_;function ZH(){return I_||(I_=1,rw={components:GH(),dijkstra:v_(),dijkstraAll:WH(),findCycles:HH(),floydWarshall:VH(),isAcyclic:KH(),postorder:YH(),preorder:XH(),prim:JH(),tarjan:E_(),topsort:S_()}),rw}var iw,P_;function vr(){if(P_)return iw;P_=1;var t=jH();return iw={Graph:t.Graph,json:UH(),alg:ZH(),version:t.version},iw}var sw,N_;function QH(){if(N_)return sw;N_=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 sw=t,sw}var ow,O_;function eV(){if(O_)return ow;O_=1;let t=vr().Graph,e=QH();ow=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 y=l.length-2;y>0;--y)if(m=l[y].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 y=u.edge(m),g=u.node(m.v);h&&p.push({v:m.v,w:m.w}),g.out-=y,a(l,d,g)}),u.outEdges(f.v).forEach(m=>{let y=u.edge(m),g=m.w,w=u.node(g);w.in-=y,a(l,d,w)}),u.removeNode(f.v),p}function o(u,l){let d=new t,f=0,h=0;u.nodes().forEach(y=>{d.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let g=d.edge(y.v,y.w)||0,w=l(y),E=g+w;d.setEdge(y.v,y.w,E),h=Math.max(h,d.node(y.v).out+=w),f=Math.max(f,d.node(y.w).in+=w)});let p=c(h+f+3).map(()=>new e),m=f+1;return d.nodes().forEach(y=>{a(p,m,d.node(y))}),{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 ow}var aw,L_;function It(){if(L_)return aw;L_=1;let t=vr().Graph;aw={addBorderNode:l,addDummyNode:e,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:a,intersectRect:o,mapValues:I,maxRank:p,normalizeRanks:c,notime:g,partition:m,pick:_,predecessorWeights:s,range:k,removeEmptyRanks:u,simplify:n,successorWeights:i,time:y,uniqueId:E,zipObject:x};function e(A,P,O,C){let D;do D=E(C);while(A.hasNode(D));return O.dummy=P,A.setNode(D,O),D}function n(A){let P=new t().setGraph(A.graph());return A.nodes().forEach(O=>P.setNode(O,A.node(O))),A.edges().forEach(O=>{let C=P.edge(O.v,O.w)||{weight:0,minlen:1},D=A.edge(O);P.setEdge(O.v,O.w,{weight:C.weight+D.weight,minlen:Math.max(C.minlen,D.minlen)})}),P}function r(A){let P=new t({multigraph:A.isMultigraph()}).setGraph(A.graph());return A.nodes().forEach(O=>{A.children(O).length||P.setNode(O,A.node(O))}),A.edges().forEach(O=>{P.setEdge(O,A.edge(O))}),P}function i(A){let P=A.nodes().map(O=>{let C={};return A.outEdges(O).forEach(D=>{C[D.w]=(C[D.w]||0)+A.edge(D).weight}),C});return x(A.nodes(),P)}function s(A){let P=A.nodes().map(O=>{let C={};return A.inEdges(O).forEach(D=>{C[D.v]=(C[D.v]||0)+A.edge(D).weight}),C});return x(A.nodes(),P)}function o(A,P){let O=A.x,C=A.y,D=P.x-O,R=P.y-C,F=A.width/2,W=A.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(A){let P=k(p(A)+1).map(()=>[]);return A.nodes().forEach(O=>{let C=A.node(O),D=C.rank;D!==void 0&&(P[D][C.order]=O)}),P}function c(A){let P=A.nodes().map(C=>{let D=A.node(C).rank;return D===void 0?Number.MAX_VALUE:D}),O=h(Math.min,P);A.nodes().forEach(C=>{let D=A.node(C);Object.hasOwn(D,"rank")&&(D.rank-=O)})}function u(A){let P=A.nodes().map(F=>A.node(F).rank),O=h(Math.min,P),C=[];A.nodes().forEach(F=>{let W=A.node(F).rank-O;C[W]||(C[W]=[]),C[W].push(F)});let D=0,R=A.graph().nodeRankFactor;Array.from(C).forEach((F,W)=>{F===void 0&&W%R!==0?--D:F!==void 0&&D&&F.forEach(V=>A.node(V).rank+=D)})}function l(A,P,O,C){let D={width:0,height:0};return arguments.length>=4&&(D.rank=O,D.order=C),e(A,"border",D,P)}function d(A,P=f){const O=[];for(let C=0;C<A.length;C+=P){const D=A.slice(C,C+P);O.push(D)}return O}const f=65535;function h(A,P){if(P.length>f){const O=d(P);return A.apply(null,O.map(C=>A.apply(null,C)))}else return A.apply(null,P)}function p(A){const O=A.nodes().map(C=>{let D=A.node(C).rank;return D===void 0?Number.MIN_VALUE:D});return h(Math.max,O)}function m(A,P){let O={lhs:[],rhs:[]};return A.forEach(C=>{P(C)?O.lhs.push(C):O.rhs.push(C)}),O}function y(A,P){let O=Date.now();try{return P()}finally{console.log(A+" time: "+(Date.now()-O)+"ms")}}function g(A,P){return P()}let w=0;function E(A){var P=++w;return toString(A)+P}function k(A,P,O=1){P==null&&(P=A,A=0);let C=R=>R<P;O<0&&(C=R=>P<R);const D=[];for(let R=A;C(R);R+=O)D.push(R);return D}function _(A,P){const O={};for(const C of P)A[C]!==void 0&&(O[C]=A[C]);return O}function I(A,P){let O=P;return typeof P=="string"&&(O=C=>C[P]),Object.entries(A).reduce((C,[D,R])=>(C[D]=O(R,D),C),{})}function x(A,P){return A.reduce((O,C,D)=>(O[C]=P[D],O),{})}return aw}var cw,F_;function tV(){if(F_)return cw;F_=1;let t=eV(),e=It().uniqueId;cw={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 cw}var uw,M_;function nV(){if(M_)return uw;M_=1;let t=It();uw={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 uw}var lw,z_;function Th(){if(z_)return lw;z_=1;const{applyWithChunking:t}=It();lw={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 lw}var dw,B_;function q_(){if(B_)return dw;B_=1;var t=vr().Graph,e=Th().slack;dw=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 dw}var fw,j_;function rV(){if(j_)return fw;j_=1;var t=q_(),e=Th().slack,n=Th().longestPath,r=vr().alg.preorder,i=vr().alg.postorder,s=It().simplify;fw=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,_;k=f(E);)_=h(E,w,k),p(E,w,k,_)}function a(w,E){var k=i(w,w.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(w,E,_))}function c(w,E,k){var _=w.node(k),I=_.parent;w.edge(k,I).cutvalue=u(w,E,k)}function u(w,E,k){var _=w.node(k),I=_.parent,x=!0,A=E.edge(k,I),P=0;return A||(x=!1,A=E.edge(I,k)),P=A.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,y(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,_,I){var x=k,A=w.node(_);return E[_]=!0,w.neighbors(_).forEach(P=>{Object.hasOwn(E,P)||(k=d(w,E,k,P,_))}),A.low=x,A.lim=k++,I?A.parent=I:delete A.parent,k}function f(w){return w.edges().find(E=>w.edge(E).cutvalue<0)}function h(w,E,k){var _=k.v,I=k.w;E.hasEdge(_,I)||(_=k.w,I=k.v);var x=w.node(_),A=w.node(I),P=x,O=!1;x.lim>A.lim&&(P=A,O=!0);var C=E.edges().filter(D=>O===g(w,w.node(D.v),P)&&O!==g(w,w.node(D.w),P));return C.reduce((D,R)=>e(E,R)<e(E,D)?R:D)}function p(w,E,k,_){var I=k.v,x=k.w;w.removeEdge(I,x),w.setEdge(_.v,_.w,{}),l(w),a(w,E),m(w,E)}function m(w,E){var k=w.nodes().find(I=>!E.node(I).parent),_=r(w,k);_=_.slice(1),_.forEach(I=>{var x=w.node(I).parent,A=E.edge(I,x),P=!1;A||(A=E.edge(x,I),P=!0),E.node(I).rank=E.node(x).rank+(P?A.minlen:-A.minlen)})}function y(w,E,k){return w.hasEdge(E,k)}function g(w,E,k){return k.low<=E.lim&&E.lim<=k.lim}return fw}var hw,U_;function iV(){if(U_)return hw;U_=1;var t=Th(),e=t.longestPath,n=q_(),r=rV();hw=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 hw}var pw,G_;function sV(){if(G_)return pw;G_=1,pw=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 pw}var mw,W_;function oV(){if(W_)return mw;W_=1;let t=It();mw={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"),y=o.node(f);o.setParent(p,f),y.borderTop=p,o.setParent(m,f),y.borderBottom=m,h.forEach(g=>{n(o,a,c,u,l,d,g);let w=o.node(g),E=w.borderTop?w.borderTop:g,k=w.borderBottom?w.borderBottom:g,_=w.borderTop?u:2*u,I=E!==k?1:l-d[f]+1;o.setEdge(p,E,{weight:_,minlen:I,nestingEdge:!0}),o.setEdge(k,m,{weight:_,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 mw}var gw,H_;function aV(){if(H_)return gw;H_=1;let t=It();gw=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 gw}var yw,V_;function cV(){if(V_)return yw;V_=1,yw={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 yw}var vw,K_;function uV(){if(K_)return vw;K_=1;let t=It();vw=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 vw}var ww,Y_;function lV(){if(Y_)return ww;Y_=1;let t=It().zipObject;ww=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 ww}var bw,X_;function dV(){if(X_)return bw;X_=1,bw=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 bw}var Ew,J_;function fV(){if(J_)return Ew;J_=1;let t=It();Ew=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 Ew}var Dw,Z_;function hV(){if(Z_)return Dw;Z_=1;let t=It();Dw=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 Dw}var Tw,Q_;function pV(){if(Q_)return Tw;Q_=1;let t=dV(),e=fV(),n=hV();Tw=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 y=e(m,c);i(y,p);let g=n(y,u);if(f&&(g.vs=[f,g.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(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+w.order+E.order)/(g.weight+2),g.weight+=2}return g}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 Tw}var Rw,eA;function mV(){if(eA)return Rw;eA=1;let t=vr().Graph,e=It();Rw=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 Rw}var Sw,tA;function gV(){if(tA)return Sw;tA=1,Sw=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 Sw}var kw,nA;function yV(){if(nA)return kw;nA=1;let t=uV(),e=lV(),n=pV(),r=mV(),i=gV(),s=vr().Graph,o=It();kw=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"),y=t(d);if(l(d,y),f&&f.disableOptimalOrderHeuristic)return;let g=Number.POSITIVE_INFINITY,w;for(let E=0,k=0;k<4;++E,++k){u(E%2?p:m,E%4>=2),y=o.buildLayerMatrix(d);let _=e(d,y);_<g&&(k=0,w=Object.assign({},y),g=_)}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,y=n(p,m,h,f);y.vs.forEach((g,w)=>p.node(g).order=w),i(p,h,y.vs)})}function l(d,f){Object.values(f).forEach(h=>h.forEach((p,m)=>d.node(p).order=m))}return kw}var $w,rA;function vV(){if(rA)return $w;rA=1;let t=vr().Graph,e=It();$w={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:s,hasConflict:o,verticalAlignment:a,horizontalCompaction:c,alignCoordinates:d,findSmallestWidthAlignment:l,balance:f};function n(y,g){let w={};function E(k,_){let I=0,x=0,A=k.length,P=_[_.length-1];return _.forEach((O,C)=>{let D=i(y,O),R=D?y.node(D).order:A;(D||O===P)&&(_.slice(x,C+1).forEach(F=>{y.predecessors(F).forEach(W=>{let V=y.node(W),Z=V.order;(Z<I||R<Z)&&!(V.dummy&&y.node(F).dummy)&&s(w,W,F)})}),x=C+1,I=R)}),_}return g.length&&g.reduce(E),w}function r(y,g){let w={};function E(_,I,x,A,P){let O;e.range(I,x).forEach(C=>{O=_[C],y.node(O).dummy&&y.predecessors(O).forEach(D=>{let R=y.node(D);R.dummy&&(R.order<A||R.order>P)&&s(w,D,O)})})}function k(_,I){let x=-1,A,P=0;return I.forEach((O,C)=>{if(y.node(O).dummy==="border"){let D=y.predecessors(O);D.length&&(A=y.node(D[0]).order,E(I,P,C,x,A),P=C,x=A)}E(I,P,I.length,A,_.length)}),I}return g.length&&g.reduce(k),w}function i(y,g){if(y.node(g).dummy)return y.predecessors(g).find(w=>y.node(w).dummy)}function s(y,g,w){if(g>w){let k=g;g=w,w=k}let E=y[g];E||(y[g]=E={}),E[w]=!0}function o(y,g,w){if(g>w){let E=g;g=w,w=E}return!!y[g]&&Object.hasOwn(y[g],w)}function a(y,g,w,E){let k={},_={},I={};return g.forEach(x=>{x.forEach((A,P)=>{k[A]=A,_[A]=A,I[A]=P})}),g.forEach(x=>{let A=-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];_[P]===P&&A<I[F]&&!o(w,P,F)&&(_[F]=P,_[P]=k[P]=k[F],A=I[F])}}})}),{root:k,align:_}}function c(y,g,w,E,k){let _={},I=u(y,g,w,k),x=k?"borderLeft":"borderRight";function A(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){_[C]=I.inEdges(C).reduce((D,R)=>Math.max(D,_[R.v]+I.edge(R)),0)}function O(C){let D=I.outEdges(C).reduce((F,W)=>Math.min(F,_[W.w]-I.edge(W)),Number.POSITIVE_INFINITY),R=y.node(C);D!==Number.POSITIVE_INFINITY&&R.borderType!==x&&(_[C]=Math.max(_[C],D))}return A(P,I.predecessors.bind(I)),A(O,I.successors.bind(I)),Object.keys(E).forEach(C=>_[C]=_[w[C]]),_}function u(y,g,w,E){let k=new t,_=y.graph(),I=p(_.nodesep,_.edgesep,E);return g.forEach(x=>{let A;x.forEach(P=>{let O=w[P];if(k.setNode(O),A){var C=w[A],D=k.edge(C,O);k.setEdge(C,O,Math.max(I(y,P,A),D||0))}A=P})}),k}function l(y,g){return Object.values(g).reduce((w,E)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([x,A])=>{let P=m(y,x)/2;k=Math.max(A+P,k),_=Math.min(A-P,_)});const I=k-_;return I<w[0]&&(w=[I,E]),w},[Number.POSITIVE_INFINITY,null])[1]}function d(y,g){let w=Object.values(g),E=e.applyWithChunking(Math.min,w),k=e.applyWithChunking(Math.max,w);["u","d"].forEach(_=>{["l","r"].forEach(I=>{let x=_+I,A=y[x];if(A===g)return;let P=Object.values(A),O=E-e.applyWithChunking(Math.min,P);I!=="l"&&(O=k-e.applyWithChunking(Math.max,P)),O&&(y[x]=e.mapValues(A,C=>C+O))})})}function f(y,g){return e.mapValues(y.ul,(w,E)=>{if(g)return y[g.toLowerCase()][E];{let k=Object.values(y).map(_=>_[E]).sort((_,I)=>_-I);return(k[1]+k[2])/2}})}function h(y){let g=e.buildLayerMatrix(y),w=Object.assign(n(y,g),r(y,g)),E={},k;["u","d"].forEach(I=>{k=I==="u"?g:Object.values(g).reverse(),["l","r"].forEach(x=>{x==="r"&&(k=k.map(C=>Object.values(C).reverse()));let A=(I==="u"?y.predecessors:y.successors).bind(y),P=a(y,k,w,A),O=c(y,k,P.root,P.align,x==="r");x==="r"&&(O=e.mapValues(O,C=>-C)),E[I+x]=O})});let _=l(y,E);return d(E,_),f(E,y.graph().align)}function p(y,g,w){return(E,k,_)=>{let I=E.node(k),x=E.node(_),A=0,P;if(A+=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&&(A+=w?P:-P),P=0,A+=(I.dummy?g:y)/2,A+=(x.dummy?g:y)/2,A+=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&&(A+=w?P:-P),P=0,A}}function m(y,g){return y.node(g).width}return $w}var Cw,iA;function wV(){if(iA)return Cw;iA=1;let t=It(),e=vV().positionX;Cw=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 Cw}var _w,sA;function bV(){if(sA)return _w;sA=1;let t=tV(),e=nV(),n=iV(),r=It().normalizeRanks,i=sV(),s=It().removeEmptyRanks,o=oV(),a=aV(),c=cV(),u=yV(),l=wV(),d=It(),f=vr().Graph;_w=h;function h(H,Y){let ee=Y&&Y.debugTiming?d.time:d.notime;ee("layout",()=>{let ne=ee(" buildLayoutGraph",()=>A(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",()=>oe(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 y=["nodesep","edgesep","ranksep","marginx","marginy"],g={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],E=["width","height"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},x=["labelpos"];function A(H){let Y=new f({multigraph:!0,compound:!0}),ee=lt(H.graph());return Y.setGraph(Object.assign({},g,Te(ee,y),d.pick(ee,w))),H.nodes().forEach(ne=>{let fe=lt(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=lt(H.edge(ne));Y.setEdge(ne,Object.assign({},I,Te(fe,_),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 ae=U.x,G=U.y,Fe=U.width,yt=U.height;Y=Math.min(Y,ae-Fe/2),ee=Math.max(ee,ae+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 ae=H.edge(U);Object.hasOwn(ae,"x")&&M(ae)}),Y-=ge,ne-=ce,H.nodes().forEach(U=>{let ae=H.node(U);ae.x-=Y,ae.y-=ne}),H.edges().forEach(U=>{let ae=H.edge(U);ae.points.forEach(G=>{G.x-=Y,G.y-=ne}),Object.hasOwn(ae,"x")&&(ae.x-=Y),Object.hasOwn(ae,"y")&&(ae.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 oe(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 lt(H){var Y={};return H&&Object.entries(H).forEach(([ee,ne])=>{typeof ee=="string"&&(ee=ee.toLowerCase()),Y[ee]=ne}),Y}return _w}var Aw,oA;function EV(){if(oA)return Aw;oA=1;let t=It(),e=vr().Graph;Aw={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 Aw}var xw,aA;function DV(){return aA||(aA=1,xw="1.1.4"),xw}var Iw,cA;function TV(){return cA||(cA=1,Iw={graphlib:vr(),layout:bV(),debug:EV(),util:{time:It().time,notime:It().notime},version:DV()}),Iw}var Rh=TV(),Sh={exports:{}},uA;function RV(){return uA||(uA=1,function(t,e){var n=n$;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 y=typeof m;return m===null&&(y="null"),this["_"+y](m)},_object:function(m){var y=/\[object (.*)\]/i,g=Object.prototype.toString.call(m),w=y.exec(g);w?w=w[1]:w="unknown:["+g+"]",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 _=this;return k.forEach(function(I){_.dispatch(I),p(":"),d.excludeValues||_.dispatch(m[I]),p(",")})}},_array:function(m,y){y=typeof y<"u"?y:d.unorderedArrays!==!1;var g=this;if(p("array:"+m.length+":"),!y||m.length<=1)return m.forEach(function(k){return g.dispatch(k)});var w=[],E=m.map(function(k){var _=new l,I=h.slice(),x=u(d,_,I);return x.dispatch(k),w=w.concat(I.slice(h.length)),_.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 y=Array.from(m);return this._array(y,d.unorderedSets!==!1)},_set:function(m){p("set:");var y=Array.from(m);return this._array(y,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 SV=RV();function kV(t,e){return t.rules.reduce((n,r)=>{if(RE(r)){const i=e.predicates[r.predicateId];return ct(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(SE(r)){const i=e.styles[r.styleId];return ct(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function $V(t,e){return t.rules.reduce((n,r)=>{if(RE(r)){const i=e.dynamicPredicates[r.predicateId];return ct(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(SE(r)){const i=e.styles[r.styleId];return ct(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function lA(t){const e={id:t.id,__:t.__??"element",autoLayout:t.autoLayout,nodes:Me(t.nodes,Dt(cv(["id","title","description","technology","shape","icon","children"])),vi(({id:n,icon:r,...i})=>[n,{...i,icon:se(r)?"Y":"N"}])),edges:Me(t.edges,Dt(cv(["source","target","label","description","technology","dir","head","tail","line"])),vi(({source:n,target:r,...i})=>[`${n}:${r}`,i]))};return t.hash=SV(e,{ignoreUnknown:!0,respectType:!1}),t}function Cn(t){if(ye.isElementWhere(t)){const e=Cn(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})=>ct(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 Cn(t.custom.expr);Ie(t)}function Pw(t){return e=>Cm(e)?e.groupRules.flatMap(Pw(t)):TE(e)?"include"in e?e.include.filter(t):[]:[]}function dA(t,e){const n=t.flatMap(Pw(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}=Nk(s,ct),u=!Yi(c),l=Cn(i);r.forEach((d,f)=>{if(Rd.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 fA(t){switch(!0){case ye.isRelationWhere(t):const e=fA(t.where.expr),n=Ds(t.where.condition);return r=>e(r)&&n(r);case ye.isRelation(t):{const r=Cn(t.source),i=Cn(t.target);return s=>r(s.source)&&i(s.target)||!!t.isBidirectional&&r(s.target)&&i(s.source)}case ye.isInOut(t):{const r=Cn(t.inout);return i=>r(i.source)||r(i.target)}case ye.isIncoming(t):{const r=Cn(t.incoming);return i=>r(i.target)}case ye.isOutgoing(t):{const r=Cn(t.outgoing);return i=>r(i.source)}default:Ie(t)}}function CV(t,e,n){const r=t.flatMap(Pw(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=Nk(a,ct),u=fA(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,...cv(l,["kind","tags"])})&&(i[d]={...l,...c,label:o??l.label,isCustomized:!0})})}return i}function hA(t,e){const n=t.filter(gO);if(n.length===0)return e;for(const r of n){const i=[];for(const s of r.targets)i.push(Cn(s));Me(e,rt(v9(Rd.isNodesGroup)),rt(fv(i)),R9(s=>{s.shape=r.style.shape??s.shape,s.color=r.style.color??s.color,xt(r.style.icon)&&(s.icon=r.style.icon),xt(r.notation)&&(s.notation=r.notation);let o;xt(r.style.border)&&(o={border:r.style.border}),xt(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 pA(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 mA(t){return Me(t,dh(yi("notation")),Vi(uv(dh(yi("shape")),Vi(uv(dh(yi("color")),Vi(uv(Dt(yi("kind")),dn())),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}))),i9(yi("shape"),yi("title"),[e=>e.kinds.length,"desc"]))}const gA=Rh.graphlib.Graph,yA=Rh.graphlib.alg.postorder,AV=Rh.graphlib.alg.findCycles,xV=Rh.graphlib.alg.isAcyclic;function vA(t){t.forEach(e=>{e.children.length>0&&(e.children=t.flatMap(n=>n.parent===e.id?n.id:[]))})}function IV({nodes:t,edges:e}){if(t.length<2)return t;if(e.length===0)return Me(t,ra(qa),t9(vA));const n=new gA({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=Me(t,rt(a=>a.inEdges.length===0||a.parent===null),ra(qa),Dt(a=>a.id)));const o=yA(n,s).reverse().map(r);if(o.length<t.length){const a=Mk(t,o).sort(qa);o.push(...a)}return we(o.length===t.length,"Not all nodes were processed by graphlib"),vA(o),o}function PV(t){const e=Me(t,wi(n=>n.tags??[]),dn(),ra(za));return Sd(e,1)?e:null}const wr=()=>!0,Nw=t=>t,Ow=t=>t===wr?Nw:rt(t),NV=t=>t===wr?Nw:e=>t(e)?e:null;function OV(t,e=wr){const n=[...this.resolvedElements],r=Ow(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 LV(t,e=wr){const n=[...this.resolvedElements].filter(zk([Cn(t),e]));this.excludeElement(...n)}function FV(t,e=wr){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=NV(e)(this.graph.element(n));i&&this.addElement(i);const s=Ow(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 MV(t,e=wr){if(e!==wr){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 zV(t,e=wr){const n=Ow(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 BV(t,e=wr){const n=[...this.resolvedElements].filter(zk([Cn(t),e]));this.excludeElement(...n)}const wA=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})=>ct(e)||e.length===0||!e.includes(t.elementTag);function qV(t,e=wr){const n=this.graph.elements.filter(wA(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 jV(t,e=wr){const n=[...this.resolvedElements].filter(wA(t)).filter(e);n.length>0&&this.excludeElement(...n)}function Mu(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):ct(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 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(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=>!Cr(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Mu.call(this,t)),this.graph.edgesBetween(n,e)}const zu=(t,e)=>e?Me(t,Dt(n=>({...n,relations:n.relations.filter(e)})),rt(n=>n.relations.length>0)):t,Lw=(t,e)=>Me(t,wi(n=>n.relations),e?rt(e):Nw,dn());function UV(t,e){const n=zu(bA.call(this,t.incoming),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.target)})}function GV(t,e){let n=Lw(bA.call(this,t.incoming),e);this.excludeRelation(...n)}function EA(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=>!Cr(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Mu.call(this,t)),this.graph.edgesBetween(e,n)}function WV(t,e){const n=zu(EA.call(this,t.outgoing),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.source)})}function HV(t,e){const n=Lw(EA.call(this,t.outgoing),e);this.excludeRelation(...n)}var $h;(t=>{t.Empty={implicits:[],edges:[]}})($h||($h={}));function DA({inout:t},e){if(ye.isWildcard(t)){if(!this.root)return $h.Empty;const i=this.graph.ascendingSiblings(this.root);return{edges:zu(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=>!Cr(i,o.id)||s&&kt(o.id)===i)}return r.length===0&&(r=Mu.call(this,t)),n.reduce((i,s)=>{const o=zu(this.graph.anyEdgesBetween(s,r),e);return o.length>0&&(i.implicits.push(s),i.edges.push(...o)),i},{implicits:[],edges:[]})}function VV(t,e){const{implicits:n,edges:r}=DA.call(this,t,e);this.addEdges(r),this.addImplicit(...n)}function KV(t,e){const{edges:n}=DA.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 YV(t,e){let n,r;ye.isWildcard(t.source)&&!ye.isWildcard(t.target)?(n=Mu.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=Mu.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(zu(i,e)).forEach(s=>{this.activeGroup.addImplicit(s.source,s.target)})}function XV(t,e){const n=Cn(t.source),r=Cn(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=Lw(s,e);this.excludeRelation(...o)}function JV(t,e){return Ha({source:t.source.id,target:t.target.id},{source:e.source.id,target:e.target.id})}let Fw=class U0{constructor(e,n,r=null){this.id=e,this.viewRule=n,this.parent=r}static kind=To.Group;static root(){return new U0("@root",{title:null,groupRules:[]})}static is(e){return e.kind===U0.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}},ZV=class y2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;implicits=new Set;ctxEdges=[];__rootGroup=Fw.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 y2(e,n).compute()}compute(){this.reset();const{docUri:e,rules:n,...r}=this.view,i=kV(this.view,this.graph.globals),s=i.filter(fv([TE,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=pA(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=F9(this.groups.map(m=>et(a.get(m.id),`Node ${m.id} not found in nodesMap`)),l));const d=dA(i,hA(i,IV({nodes:l,edges:c}))),f=new Set([...d.flatMap(m=>m.children.length===0?m.outEdges.flatMap(y=>u.get(y)??[]):[]),...c]),h=this.view.rules.findLast(kE),p=mA(d);return lA({...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:CV(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=Mt(n)??Me(n,rt(c=>c.source===r&&c.target===i),Mt()),!o){const c=Me(n,Pk((u,l)=>(se(l.title)&&!u.title.includes(l.title)&&u.title.push(l.title),se(l.description)&&!u.description.includes(l.description)&&u.description.push(l.description),se(l.technology)&&!u.technology.includes(l.technology)&&u.technology.push(l.technology),se(l.kind)&&!u.kind.includes(l.kind)&&u.kind.push(l.kind),se(l.color)&&!u.color.includes(l.color)&&u.color.push(l.color),se(l.line)&&!u.line.includes(l.line)&&u.line.push(l.line),se(l.head)&&!u.head.includes(l.head)&&u.head.push(l.head),se(l.tail)&&!u.tail.includes(l.tail)&&u.tail.push(l.tail),se(l.navigateTo)&&!u.navigateTo.includes(l.navigateTo)&&u.navigateTo.push(l.navigateTo),u),{title:[],description:[],technology:[],kind:[],head:[],tail:[],color:[],line:[],navigateTo:[]}));o={title:Mt(c.title)??"[...]",description:Mt(c.description),technology:Mt(c.technology),kind:Mt(c.kind),head:Mt(c.head),tail:Mt(c.tail),color:Mt(c.color),line:Mt(c.line),navigateTo:Mt(c.navigateTo)}}const a=PV(n);return Object.assign(s,this.getEdgeLabel(o),se(o.description)&&{description:o.description},se(o.technology)&&{technology:o.technology},se(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(cM(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=dn([...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=Me(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}),rt(y9));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=Fw.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=Cr(o.id,c.source.id),f=Cr(a.id,c.target.id);return d&&f||u&&f||l&&d}},i=[...this.ctxEdges].sort(JV).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(Mk([...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 Fw(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?zV.call(this,e,r):BV.call(this,e,r),this;if(ye.isElementKindExpr(e)||ye.isElementTagExpr(e))return n?qV.call(this,e,r):jV.call(this,e,r),this;if(ye.isElementRef(e))return n?OV.call(this,e,r):LV.call(this,e,r),this;if(ye.isWildcard(e))return n?FV.call(this,e,r):MV.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?UV.call(this,e,r):GV.call(this,e,r),this;if(ye.isOutgoing(e))return n?WV.call(this,e,r):HV.call(this,e,r),this;if(ye.isInOut(e))return n?VV.call(this,e,r):KV.call(this,e,r),this;if(ye.isRelation(e))return n?YV.call(this,e,r):XV.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 se(e.title)&&n.push(e.title),se(e.technology)&&n.push(`[${e.technology}]`),n.length>0?{label:n.join(`
1725
- `)}:{}}};function QV(t,e){return ZV.elementView(t,e)}function TA(t,e){try{return{isSuccess:!0,view:QV(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}let eK=class v2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;steps=[];static compute(e,n){return new v2(e,n).compute()}addStep({source:e,target:n,title:r,isBackward:i,navigateTo:s,...o},a,c){const u=c?CE(c,a):CE(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,head:y,tail:g,color:w,line:E,notation:k}=this.findRelations(l,d),_=se(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,..._?{navigateTo:_}:{},...p?{tags:p}:{},...y?{head:y}:{},...g?{tail:g}:{},...w?{color:w}:{},...E?{line:E}:{},...k?{notation:k}:{}})}compute(){const{docUri:e,rules:n,steps:r,...i}=this.view;let s=1;for(const h of r){if(wO(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=$V(this.view,this.graph.globals);for(const h of o)if(vO(h))for(const p of h.include){const m=Cn(p);this.graph.elements.filter(m).forEach(y=>this.explicits.add(y))}const a=[...this.explicits],c=pA(a),u=this.steps.map(({source:h,target:p,relations:m,title:y,isBackward:g,...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`),_={parent:ks(h.id,p.id),source:h.id,target:p.id,label:y,relations:m,color:Ts,line:EE,head:Ro,...w};for(g&&(_.dir="back");_.parent&&!c.has(_.parent);)_.parent=kt(_.parent);E.outEdges.push(_.id),k.inEdges.push(_.id);for(const I of Zr(_.source)){if(I===_.parent)break;c.get(I)?.outEdges.push(_.id)}for(const I of Zr(_.target)){if(I===_.parent)break;c.get(I)?.inEdges.push(_.id)}return _}),l=dA(o,hA(o,a.map(h=>et(c.get(h.id))))),d=o.findLast(kE),f=mA(l);return lA({...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=dn(this.graph.edgesBetween(e,n).flatMap(l=>l.relations));if(r.length===0)return{title:null,tags:null,relations:null,navigateTo:null,tail:null,head:null,color:null,line:null,notation:null};const i=Me(r,wi(l=>l.tags),rt(se),dn()),s=Hi(i,1)?i:null,o=Hi(r,1)?Dt(r,l=>l.id):null,a=Mt(r)||r.find(l=>l.source===e.id&&l.target===n.id),c=a?.navigateTo&&a.navigateTo!==this.view.id?a.navigateTo:Me(r,Dt(l=>l.navigateTo),rt(se),rt(l=>l!==this.view.id),dn(),Mt()),u=r.reduce((l,d)=>(se(d.title)&&l.title.push(d.title),se(d.tail)&&l.tail.push(d.tail),se(d.head)&&l.head.push(d.head),se(d.color)&&l.color.push(d.color),se(d.line)&&l.line.push(d.line),l),{title:[],tail:[],head:[],color:[],line:[],notation:[]});return{tags:s,relations:o,navigateTo:c??null,title:Me(u.title,dn(),Mt())??null,tail:Me(u.tail,dn(),Mt())??null,head:Me(u.head,dn(),Mt())??null,color:Me(u.color,dn(),Mt())??null,line:Me(u.line,dn(),Mt())??null,notation:Me(u.notation,dn(),Mt())??null}}};function RA(t,e){try{return{isSuccess:!0,view:eK.compute(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}const Mw=Set,zw=Map;function Bw(t,e){return t.size===0||e.size===0?new Set:new Set([...t].filter(n=>e.has(n)))}let SA=class{#e=new Map;#t=new Map;#n=new Map;#r=new Set;#s=new Map;#i=new zw;#o=new zw;#a=new zw;#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=Bw(this._incomingTo(c.id),s);u.size>0&&o.push({source:r,target:c,relations:[...u]})}if(i.size>0){const u=Bw(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=Ok(e)?e:[e],i=Ok(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=Bw(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 Mw,this.#i.set(e,n)),n}_outgoingFrom(e){let n=this.#o.get(e);return n||(n=new Mw,this.#o.set(e,n)),n}_internalOf(e){let n=this.#a.get(e);return n||(n=new Mw,this.#a.set(e,n)),n}};const tK=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,nK=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,rK=/^([/\\]\s*){2,}[^/\\]/;function kA(t){return["./","../"].some(e=>t.startsWith(e))}function qw(t,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?tK.test(t):nK.test(t)||(e.acceptRelative?rK.test(t):!1)}function iK(t="",e){return t.endsWith("/")}function sK(t="",e){return(iK(t)?t.slice(0,-1):t)||"/"}function oK(t="",e){return t.endsWith("/")?t:t+"/"}function _h(t=""){return t.startsWith("/")}function $A(t=""){return(_h(t)?t.slice(1):t)||"/"}function aK(t=""){return _h(t)?t:"/"+t}function cK(t,e){if(uK(e))return t;const n=sK(e);if(!t.startsWith(n))return t;const r=t.slice(n.length);return r[0]==="/"?r:"/"+r}function uK(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 jw(t){return Q.isInstance(t,xh)}const Ih="ElementExpression";function Uw(t){return Q.isInstance(t,Ih)}const Ph="ElementPredicate";function lK(t){return Q.isInstance(t,Ph)}const Nh="ElementPredicateOrWhere";function dK(t){return Q.isInstance(t,Nh)}const ro="ElementProperty";function fK(t){return Q.isInstance(t,ro)}const io="LikeC4View";function Gw(t){return Q.isInstance(t,io)}const Oh="MetadataProperty";function CA(t){return Q.isInstance(t,Oh)}const _A="Predicate",Lh="RelationExpression";function Ww(t){return Q.isInstance(t,Lh)}const Fh="RelationPredicate";function hK(t){return Q.isInstance(t,Fh)}const Mh="RelationPredicateOrWhere";function pK(t){return Q.isInstance(t,Mh)}const la="RelationProperty";function mK(t){return Q.isInstance(t,la)}const zh="RelationshipStyleProperty";function gK(t){return Q.isInstance(t,zh)}const da="StringProperty";function yK(t){return Q.isInstance(t,da)}const Bu="StyleProperty";function AA(t){return Q.isInstance(t,Bu)}const Bh="ViewProperty";function vK(t){return Q.isInstance(t,Bh)}const qh="ViewRule";function wK(t){return Q.isInstance(t,qh)}const jh="ViewRulePredicate";function Uh(t){return Q.isInstance(t,jh)}const Gh="ViewRuleStyleOrGlobalRef";function xA(t){return Q.isInstance(t,Gh)}const qu="WhereElement";function IA(t){return Q.isInstance(t,qu)}const ju="WhereElementExpression";function bK(t){return Q.isInstance(t,ju)}const PA="WhereExpression",Wh="WhereKindEqual";function EK(t){return Q.isInstance(t,Wh)}const Uu="WhereRelation";function NA(t){return Q.isInstance(t,Uu)}const Gu="WhereRelationExpression";function DK(t){return Q.isInstance(t,Gu)}const Hh="WhereTagEqual";function TK(t){return Q.isInstance(t,Hh)}const Wu="ArrowProperty";function Hu(t){return Q.isInstance(t,Wu)}const Vu="BorderProperty";function Vh(t){return Q.isInstance(t,Vu)}const Ku="ColorProperty";function so(t){return Q.isInstance(t,Ku)}const oo="CustomColor",Kh="CustomElementProperties";function RK(t){return Q.isInstance(t,Kh)}const Yh="CustomRelationProperties";function SK(t){return Q.isInstance(t,Yh)}const Yu="DirectedRelationExpression";function Hw(t){return Q.isInstance(t,Yu)}const fa="DynamicView";function kK(t){return Q.isInstance(t,fa)}const Xh="DynamicViewBody";function OA(t){return Q.isInstance(t,Xh)}const Xu="DynamicViewGlobalPredicateRef";function $K(t){return Q.isInstance(t,Xu)}const Ju="DynamicViewIncludePredicate";function CK(t){return Q.isInstance(t,Ju)}const Jh="DynamicViewParallelSteps";function Vw(t){return Q.isInstance(t,Jh)}const Zh="DynamicViewPredicateIterator";function LA(t){return Q.isInstance(t,Zh)}const Kw="DynamicViewRef",Qh="DynamicViewStep";function Yw(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 Zu="ElementDescedantsExpression";function Xw(t){return Q.isInstance(t,Zu)}const tp="ElementExpressionsIterator";function _K(t){return Q.isInstance(t,tp)}const Qi="ElementKind";function AK(t){return Q.isInstance(t,Qi)}const Qu="ElementKindExpression";function np(t){return Q.isInstance(t,Qu)}const el="ElementPredicateWhere";function Jw(t){return Q.isInstance(t,el)}const tl="ElementPredicateWith";function rp(t){return Q.isInstance(t,tl)}const nl="ElementRef";function rl(t){return Q.isInstance(t,nl)}const il="ElementStringProperty";function Zw(t){return Q.isInstance(t,il)}const sl="ElementStyleProperty";function ol(t){return Q.isInstance(t,sl)}const al="ElementTagExpression";function ip(t){return Q.isInstance(t,al)}const pa="ElementView";function sp(t){return Q.isInstance(t,pa)}const op="ElementViewBody";function Qw(t){return Q.isInstance(t,op)}const eb="ElementViewRef",cl="ExcludePredicate";function ap(t){return Q.isInstance(t,cl)}const ul="ExpandElementExpression";function FA(t){return Q.isInstance(t,ul)}const ma="ExtendElement";function ga(t){return Q.isInstance(t,ma)}const cp="ExtendElementBody";function tb(t){return Q.isInstance(t,cp)}const up="FqnElementRef";function MA(t){return Q.isInstance(t,up)}const ya="GlobalDynamicPredicateGroup";function zA(t){return Q.isInstance(t,ya)}const va="GlobalPredicateGroup";function BA(t){return Q.isInstance(t,va)}const lp="Globals";function nb(t){return Q.isInstance(t,lp)}const dp="GlobalStyle";function ll(t){return Q.isInstance(t,dp)}const fp="GlobalStyleGroup";function dl(t){return Q.isInstance(t,fp)}const fl="GlobalStyleId",hl="IconProperty";function es(t){return Q.isInstance(t,hl)}const pl="IncludePredicate";function rb(t){return Q.isInstance(t,pl)}const ml="IncomingRelationExpression";function qA(t){return Q.isInstance(t,ml)}const gl="InOutRelationExpression";function ib(t){return Q.isInstance(t,gl)}const ao="LibIcon";function xK(t){return Q.isInstance(t,ao)}const sb="LikeC4Grammar",hp="LikeC4Lib";function jA(t){return Q.isInstance(t,hp)}const yl="LineProperty";function vl(t){return Q.isInstance(t,yl)}const wl="LinkProperty";function pp(t){return Q.isInstance(t,wl)}const bl="MetadataAttribute";function IK(t){return Q.isInstance(t,bl)}const El="MetadataBody";function PK(t){return Q.isInstance(t,El)}const wa="Model";function ob(t){return Q.isInstance(t,wa)}const ba="ModelViews";function mp(t){return Q.isInstance(t,ba)}const gp="NavigateToProperty";function ab(t){return Q.isInstance(t,gp)}const Dl="NotationProperty";function Tl(t){return Q.isInstance(t,Dl)}const Rl="NotesProperty";function UA(t){return Q.isInstance(t,Rl)}const Sl="OpacityProperty";function yp(t){return Q.isInstance(t,Sl)}const kl="OutgoingRelationExpression";function cb(t){return Q.isInstance(t,kl)}const vp="Predicates";function GA(t){return Q.isInstance(t,vp)}const wp="Relation";function Wr(t){return Q.isInstance(t,wp)}const bp="RelationBody";function WA(t){return Q.isInstance(t,bp)}const $l="RelationNavigateToProperty";function Ep(t){return Q.isInstance(t,$l)}const Cl="RelationPredicateWhere";function HA(t){return Q.isInstance(t,Cl)}const _l="RelationPredicateWith";function ub(t){return Q.isInstance(t,_l)}const ts="RelationshipKind";function NK(t){return Q.isInstance(t,ts)}const Al="RelationStringProperty";function Dp(t){return Q.isInstance(t,Al)}const xl="RelationStyleProperty";function lb(t){return Q.isInstance(t,xl)}const Il="ShapeProperty";function Tp(t){return Q.isInstance(t,Il)}const Rp="SpecificationColor";function Sp(t){return Q.isInstance(t,Rp)}const Ea="SpecificationElementKind";function Da(t){return Q.isInstance(t,Ea)}const Pl="SpecificationElementStringProperty";function VA(t){return Q.isInstance(t,Pl)}const Ta="SpecificationRelationshipKind";function Ra(t){return Q.isInstance(t,Ta)}const Nl="SpecificationRelationshipStringProperty";function KA(t){return Q.isInstance(t,Nl)}const Sa="SpecificationRule";function db(t){return Q.isInstance(t,Sa)}const ka="SpecificationTag";function kp(t){return Q.isInstance(t,ka)}const ns="Tag";function YA(t){return Q.isInstance(t,ns)}const $p="Tags";function fb(t){return Q.isInstance(t,$p)}const hb="ViewRef",Ol="ViewRuleAutoLayout";function Cp(t){return Q.isInstance(t,Ol)}const Ll="ViewRuleGlobalPredicateRef";function OK(t){return Q.isInstance(t,Ll)}const Fl="ViewRuleGlobalStyle";function XA(t){return Q.isInstance(t,Fl)}const Ml="ViewRuleGroup";function _p(t){return Q.isInstance(t,Ml)}const zl="ViewRuleStyle";function Bl(t){return Q.isInstance(t,zl)}const ql="ViewStringProperty";function LK(t){return Q.isInstance(t,ql)}const jl="WhereBinaryExpression";function FK(t){return Q.isInstance(t,jl)}const Ul="WhereElementKind";function MK(t){return Q.isInstance(t,Ul)}const Gl="WhereElementNegation";function JA(t){return Q.isInstance(t,Gl)}const Wl="WhereElementTag";function zK(t){return Q.isInstance(t,Wl)}const Hl="WhereRelationKind";function ZA(t){return Q.isInstance(t,Hl)}const Vl="WhereRelationNegation";function QA(t){return Q.isInstance(t,Vl)}const Kl="WhereRelationTag";function BK(t){return Q.isInstance(t,Kl)}const Yl="WildcardExpression";function $a(t){return Q.isInstance(t,Yl)}class ex extends zD{getAllTypes(){return[Wu,Vu,Ku,oo,Kh,Yh,Yu,fa,Xh,Xu,Ju,Jh,Zh,Kw,xh,Qh,Ur,ep,Zu,Ih,tp,Qi,Qu,Ph,Nh,el,tl,ro,nl,il,sl,al,pa,op,eb,cl,ul,ma,cp,up,ya,va,dp,fp,fl,lp,hl,gl,pl,ml,ao,sb,hp,io,yl,wl,bl,El,Oh,wa,ba,gp,Dl,Rl,Sl,kl,_A,vp,wp,bp,Lh,$l,Fh,Mh,Cl,_l,la,Al,xl,ts,zh,Il,Rp,Ea,Pl,Ta,Nl,Sa,ka,da,Bu,ns,$p,Bh,hb,qh,Ol,Ll,Fl,Ml,jh,zl,Gh,ql,jl,qu,ju,Ul,Gl,Wl,PA,Wh,Uu,Gu,Hl,Vl,Kl,Hh,Yl]}computeIsSubtype(e,n){switch(e){case Wu:case yl:return this.isSubtype(zh,n);case Vu:case Sl:case Il:return this.isSubtype(Bu,n);case Ku:return this.isSubtype(zh,n)||this.isSubtype(Bu,n);case Yu:case ml:case gl:case kl:return this.isSubtype(Lh,n);case fa:case pa:return this.isSubtype(io,n);case Xu:case Ju:return this.isSubtype(xh,n);case Zu:case Qu:case nl:case al:case ul:case Yl:return this.isSubtype(Ih,n);case Ih:case el:return this.isSubtype(Nh,n);case Ph:case Fh:return this.isSubtype(_A,n);case Nh:case tl:return this.isSubtype(Ph,n);case il:return this.isSubtype(ro,n)||this.isSubtype(da,n);case sl:return this.isSubtype(ro,n);case cl:case pl:return this.isSubtype(jh,n);case hl:return this.isSubtype(ro,n)||this.isSubtype(Bu,n);case wl:return this.isSubtype(ro,n)||this.isSubtype(la,n)||this.isSubtype(Bh,n);case bl:case Dl:case Rl:case Pl:case Nl:return this.isSubtype(da,n);case El:return this.isSubtype(Oh,n);case Oh:return this.isSubtype(ro,n)||this.isSubtype(la,n);case Lh:case Cl:return this.isSubtype(Mh,n);case $l:case xl:return this.isSubtype(la,n);case Mh:case _l:return this.isSubtype(Fh,n);case Al:return this.isSubtype(la,n)||this.isSubtype(da,n);case Ol:case Gh:return this.isSubtype(xh,n)||this.isSubtype(qh,n);case Ll:case Ml:case jh:return this.isSubtype(qh,n);case Fl:case zl:return this.isSubtype(Gh,n);case ql:return this.isSubtype(da,n)||this.isSubtype(Bh,n);case jl:return this.isSubtype(ju,n)||this.isSubtype(Gu,n);case qu:case Gl:return this.isSubtype(ju,n);case ju:case Gu:return this.isSubtype(PA,n);case Ul:return this.isSubtype(qu,n)||this.isSubtype(Wh,n);case Wl:return this.isSubtype(qu,n)||this.isSubtype(Hh,n);case Uu:case Vl:return this.isSubtype(Gu,n);case Hl:return this.isSubtype(Wh,n)||this.isSubtype(Uu,n);case Kl:return this.isSubtype(Uu,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 fl;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Wu:return{name:Wu,properties:[{name:"key"},{name:"value"}]};case Vu:return{name:Vu,properties:[{name:"key"},{name:"value"}]};case Ku:return{name:Ku,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 Yu:return{name:Yu,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 Xu:return{name:Xu,properties:[{name:"predicate"}]};case Ju:return{name:Ju,properties:[{name:"predicates"}]};case Jh:return{name:Jh,properties:[{name:"steps",defaultValue:[]}]};case Zh:return{name:Zh,properties:[{name:"prev"},{name:"value"}]};case Kw:return{name:Kw,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 Zu:return{name:Zu,properties:[{name:"parent"}]};case tp:return{name:tp,properties:[{name:"prev"},{name:"value"}]};case Qi:return{name:Qi,properties:[{name:"name"}]};case Qu:return{name:Qu,properties:[{name:"isEqual",defaultValue:!1},{name:"kind"}]};case el:return{name:el,properties:[{name:"subject"},{name:"where"}]};case tl:return{name:tl,properties:[{name:"custom"},{name:"subject"}]};case nl:return{name:nl,properties:[{name:"el"},{name:"parent"}]};case il:return{name:il,properties:[{name:"key"},{name:"value"}]};case sl:return{name:sl,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case al:return{name:al,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 eb:return{name:eb,properties:[{name:"view"}]};case cl:return{name:cl,properties:[{name:"predicates"}]};case ul:return{name:ul,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 fl:return{name:fl,properties:[{name:"name"}]};case hl:return{name:hl,properties:[{name:"key"},{name:"libicon"},{name:"value"}]};case pl:return{name:pl,properties:[{name:"predicates"}]};case ml:return{name:ml,properties:[{name:"to"}]};case gl:return{name:gl,properties:[{name:"inout"}]};case ao:return{name:ao,properties:[{name:"name"}]};case sb:return{name:sb,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 yl:return{name:yl,properties:[{name:"key"},{name:"value"}]};case wl:return{name:wl,properties:[{name:"key"},{name:"title"},{name:"value"}]};case bl:return{name:bl,properties:[{name:"key"},{name:"value"}]};case El:return{name:El,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 Dl:return{name:Dl,properties:[{name:"key"},{name:"value"}]};case Rl:return{name:Rl,properties:[{name:"key"},{name:"value"}]};case Sl:return{name:Sl,properties:[{name:"key"},{name:"value"}]};case kl:return{name:kl,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 $l:return{name:$l,properties:[{name:"key"},{name:"value"}]};case Cl:return{name:Cl,properties:[{name:"subject"},{name:"where"}]};case _l:return{name:_l,properties:[{name:"custom"},{name:"subject"}]};case ts:return{name:ts,properties:[{name:"name"}]};case Al:return{name:Al,properties:[{name:"key"},{name:"value"}]};case xl:return{name:xl,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case Il:return{name:Il,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 Pl:return{name:Pl,properties:[{name:"key"},{name:"value"}]};case Ta:return{name:Ta,properties:[{name:"kind"},{name:"props",defaultValue:[]}]};case Nl:return{name:Nl,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 hb:return{name:hb,properties:[{name:"view"}]};case Ol:return{name:Ol,properties:[{name:"direction"},{name:"nodeSep"},{name:"rankSep"}]};case Ll:return{name:Ll,properties:[{name:"predicate"}]};case Fl:return{name:Fl,properties:[{name:"style"}]};case Ml:return{name:Ml,properties:[{name:"groupRules",defaultValue:[]},{name:"props",defaultValue:[]},{name:"title"}]};case zl:return{name:zl,properties:[{name:"props",defaultValue:[]},{name:"target"}]};case ql:return{name:ql,properties:[{name:"key"},{name:"value"}]};case jl:return{name:jl,properties:[{name:"left"},{name:"operator"},{name:"right"}]};case Ul:return{name:Ul,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Gl:return{name:Gl,properties:[{name:"value"}]};case Wl:return{name:Wl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Hl:return{name:Hl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Vl:return{name:Vl,properties:[{name:"value"}]};case Kl:return{name:Kl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Yl:return{name:Yl,properties:[{name:"isWildcard",defaultValue:!1}]};default:return{name:e,properties:[]}}}}const Q=new ex;let tx;const qK=()=>tx??(tx=jU(`{"$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":[]}`)),nx={languageId:"likec4",fileExtensions:[".c4",".likec4",".like-c4"],caseInsensitive:!1,mode:"production"},jK={skipValidations:!0,recoveryEnabled:!0,nodeLocationTracking:"full"},UK={AstReflection:()=>new ex},GK={Grammar:()=>qK(),LanguageMetaData:()=>nx,parser:{ParserConfig:()=>jK}},Ne=Xe.withTag("lsp");function qt(t){Ne.error(t)}function ut(t){if(t instanceof Error){Ne.warn(t.stack??t.message);return}Ne.warn(t)}function WK(t){Ne.level=Ye[t]}function HK(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=>lv(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 VK(t){const e={log:({level:n,...r},i)=>{const s=r.tag||"",o=r.args.map(c=>lv(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 _n(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 Xl=Symbol.for("idattr"),pb={writeId(t,e){return t[Xl]=e,t},readId(t){return t[Xl]}},rx={writeId(t,e){return ct(e)?t[Xl]=void 0:t[Xl]=e,t},readId(t){return t[Xl]}};function KK(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===nx.languageId}function ix(t){return xp(t)&&t.state>=Ke.IndexedContent&&!!t.c4fqnIndex}function Jl(t){return xp(t)&&t.state==Ke.Validated&&!!t.c4Specification&&!!t.c4Elements&&!!t.c4Relations&&!!t.c4Views&&!!t.c4fqnIndex}function YK(t){return e=>t.some(n=>n(e))}const XK=YK([nb,BA,zA,ll,dl,LA,rp,ub,Uw,Ww,Vw,Yw,vK,AA,fb,wK,jw,Qw,OA,Gw,mK,WA,Wr,fK,ha,Gr,tb,ga,Da,Ra,kp,Sp,db,mp,ob]),JK=t=>{let e=t;for(;e;){if(XK(e))return e;e=e.$container}};function ZK(t){const e=t.diagnostics?.filter(r=>r.severity===Qc.Error)??[],n=new WeakSet(e.flatMap(r=>JK(r.node)??[]));return{isValid:r=>!n.has(r),invalidNodes:n}}function*QK(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 eY(t){const e=_n(t.target);if(!e)throw new Error("RelationRefError: Invalid reference to target");if(xt(t.source)){const n=_n(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 sx({value:t}){const e=parseFloat(t);return isNaN(e)?100:Bk(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):{se(r.value)&&(n.border=r.value);break}case so(r):{const i=Zl(r);se(i)&&(n.color=i);break}case Tp(r):{se(r.value)&&(n.shape=r.value);break}case es(r):{const i=r.libicon?.ref?.name??r.value;se(i)&&(n.icon=i);break}case yp(r):{n.opacity=sx(r);break}default:Ie(r.$type)}return n}function tY(t){const e={};if(!t||t.length===0)return e;for(const n of t){if(so(n)){const r=Zl(n);se(r)&&(e.color=r);continue}if(vl(n)){e.line=n.value;continue}if(Hu(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 ox(t){const{color:e,line:n,head:r,tail:i}=tY(t?.filter(gK));return{...e&&e!==Ts?{color:e}:{},...n&&n!==EE?{line:n}:{},...r&&r!==Ro?{head:r}:{},...i?{tail:i}:{}}}function Zl(t){return t?.themeColor??t?.customColor?.$refText}function ax(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 nY(t){switch(t){case"TB":return"TopBottom";case"BT":return"BottomTop";case"LR":return"LeftRight";case"RL":return"RightLeft";default:Ie(t)}}function cx(t){if(Uw(t))return t;if(Jw(t))return t.subject;if(rp(t))return cx(t.subject);Ie(t)}class rY{constructor(e){this.services=e}async provideCodeLens(e,n,r){return e.state!==Ke.Validated&&(Ne.debug(`Waiting for document ${e.uri.path} to be validated`),await this.services.shared.workspace.DocumentBuilder.waitUntil(Ke.Validated,e.uri,r),Ne.debug(`Document ${e.uri.path} is validated`)),Jl(e)?e.parseResult.value.views.flatMap(i=>i.views).flatMap(i=>{const s=pb.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 iY extends mC{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:Ft.Property,insertTextFormat:mr.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:Ft.Module,insertTextFormat:mr.Snippet,insertText:`${n.value} {
1726
- $0
1727
- }`});if(n.value==="group")return r(e,{label:n.value,detail:"Insert group block",kind:Ft.Class,insertTextFormat:mr.Snippet,insertText:["group '${1:Title}' {"," $0","}"].join(`
1728
- `)});if(n.value==="dynamic")return r(e,{label:n.value,detail:"Insert dynamic view",kind:Ft.Class,insertTextFormat:mr.Snippet,insertText:["dynamic view ${1:view_${TM_FILENAME_BASE}_${CURRENT_SECOND}} {"," title '${2:Untitled}'"," "," $0","}"].join(`
1729
- `)});if(n.value==="style"&&e.node)return Cc(e.node,ll)?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Ft.Module,insertTextFormat:mr.Snippet,insertText:`${n.value} \${1:name} \${2:*} {
1730
- \${3|color,shape,border,opacity,icon|} $0
1731
- }`}):Cc(e.node,fv([mp,dl]))?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Ft.Module,insertTextFormat:mr.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:Ft.Module,insertTextFormat:mr.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:Ft.Class,insertTextFormat:mr.Snippet,insertText:`extend \${1:element} {
1736
- $0
1737
- }`});if(n.value==="autoLayout")return r(e,{label:n.value,kind:Ft.Class,insertTextFormat:mr.Snippet,insertText:"autoLayout ${1|TopBottom,BottomTop,LeftRight,RightLeft|}$0"});r(e,{label:n.value,kind:this.getKeywordCompletionItemKind(n),detail:"Keyword",sortText:"1"})}}}class sY extends gC{createDocumentHighlight(e){return me.DocumentHighlight.create(e.segment.range,me.DocumentHighlightKind.Read)}}class oY{constructor(e){this.services=e}getDocumentLinks(e,n){return Jl(e)?Pr(e.parseResult.value).filter(pp).map(r=>{try{const i=xn(r.$cstNode,"value")?.range,s=this.resolveLink(e,r.value);if(i&&qw(s))return{range:i,target:s}}catch(i){ut(i)}return null}).nonNullable().toArray():[]}resolveLink(e,n){if(qw(n)||_h(n))return n;const r=kA(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 $A(n);if(kA(n)){const r=new URL(e.uri.toString(!0)),i=new URL(n,r).toString();return $A(cK(i,this.services.shared.workspace.WorkspaceManager.workspaceURL.toString()))}return null}}class aY{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 qt(o),[]}})}getLikec4LibSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=e.icons.map(i=>this.getLibIconSymbol(i)).filter(se);return r.length===0?[]:[{kind:gr.Namespace,name:"icons",range:n.range,selectionRange:xc(n,"icons")?.range??n.range,children:r}]}getSpecSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=xn(n,"name");if(!r)return[];const i=Me([...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 qt(o),null}Ie(s)}),rt(se));return i.length===0?[]:[{kind:gr.Namespace,name:e.name,range:n.range,selectionRange:r.range,children:i}]}getModelSymbol(e){const n=e.$cstNode;if(!n)return[];const r=xn(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){qt(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=xn(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=xn(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?xn(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 cY extends bC{locator;constructor(e){super(e),this.locator=e.likec4.ModelLocator}getAstNodeHoverContent(e){if(YA(e))return{contents:{kind:"markdown",value:Fv(`
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 uY extends dG{highlightElement(e,n){if(NK(e))return n({node:e,property:"name",type:je.function});if(xK(e))return n({node:e,property:"name",type:je.type,modifier:[dt.definition]}),"prune";if(cb(e)&&"kind"in e){n({node:e,property:"kind",type:je.function});return}if(Wr(e)&&"kind"in e&&n({node:e,property:"kind",type:je.function}),ab(e)||Ep(e))return n({node:e,property:"key",type:je.property}),n({node:e,property:"value",type:je.variable,modifier:[dt.definition,dt.readonly]}),"prune";if((Xw(e)||$a(e))&&e.$cstNode)return n({cst:e.$cstNode,type:je.variable,modifier:[dt.definition,dt.readonly]}),"prune";if(ZA(e)&&se(e.value)){n({node:e,property:"value",type:je.function});return}if((IA(e)||NA(e))&&se(e.value)){n({node:e,property:"value",type:je.type,modifier:[dt.definition,dt.readonly]});return}if(np(e)&&se(e.kind))return n({node:e,property:"kind",type:je.type,modifier:[dt.definition]}),"prune";if(ip(e)&&se(e.tag))return n({node:e,property:"tag",type:je.type,modifier:[dt.definition]}),"prune";if(rl(e)||MA(e))return n({node:e,property:"el",type:e.parent?je.property:je.variable,modifier:[dt.definition,dt.readonly]}),e.parent?void 0:"prune";if(Sp(e)){n({node:e,keyword:"color",type:je.keyword}),n({node:e,property:"name",type:je.type,modifier:[dt.declaration,dt.readonly]});return}if((Da(e)||Ra(e))&&n({node:e,property:"kind",type:je.type,modifier:[dt.declaration,dt.readonly]}),fb(e))return n({node:e,property:"values",type:je.interface});if(YA(e))return n({node:e,property:"name",type:je.type,modifier:[dt.definition]});if((lb(e)||ol(e)&&ha(e.$container))&&n({node:e,property:"key",type:je.property}),yp(e))return n({node:e,property:"key",type:je.property}),n({node:e,property:"value",type:je.number}),"prune";if(pp(e)||es(e)||yK(e))return n({node:e,property:"key",type:je.property}),es(e)?(e.libicon?n({node:e,property:"libicon",type:je.enum,modifier:[dt.defaultLibrary]}):e.value==="none"?n({node:e,property:"value",type:je.enum,modifier:[dt.defaultLibrary]}):n({node:e,property:"value",type:je.string}),"prune"):("value"in e&&e.value&&n({node:e,property:"value",type:je.string}),"prune");if(so(e)||Tp(e)||Hu(e)||vl(e)||Vh(e))return n({node:e,property:"key",type:je.property}),"value"in e&&n({node:e,property:"value",type:je.enum}),"prune";if(Gr(e))return this.highlightAstElement(e,n);if(Gw(e))return this.highlightView(e,n)}highlightAstElement(e,n){n({node:e,property:"name",type:je.variable,modifier:[dt.declaration,dt.readonly]}),n({node:e,property:"kind",type:je.keyword,modifier:[]})}highlightView(e,n){e.name&&n({node:e,property:"name",type:je.variable,modifier:[dt.declaration,dt.readonly,"local"]})}}const{findNodeForProperty:lY}=af,{toDocumentSegment:ux}=pM;function dY(t,e,n){const r=lY(e.$cstNode,"name");return{documentUri:n.uri,name:e.name,...e.$cstNode&&{selectionSegment:ux(e.$cstNode)},...r&&{nameSegment:ux(r)},path:t.getAstNodePath(e),type:Ur}}function fY(t,e){const n=t.c4fqnIndex=new zr,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(xt(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=cO(a.name,c);if(n.add(u,{...dY(i,a,t),fqn:u}),rx.writeId(a,u),xt(a.body)&&!Yi(a.body.elements))for(const l of a.body.elements)Wr(l)||s.push([l,u]);continue}Ie(a)}catch(a){qt(a)}}class hY{constructor(e){this.services=e,this.langiumDocuments=e.shared.workspace.LangiumDocuments,e.shared.workspace.DocumentBuilder.onBuildPhase(Ke.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{fY(i,e)}catch(s){ut(s)}}return await Promise.resolve()}),Ne.debug("[FqnIndex] Created")}langiumDocuments;get documents(){return this.langiumDocuments.all.filter(ix)}entries(e){return this.documents.flatMap(n=>n.c4fqnIndex.keys().filter(e).flatMap(r=>n.c4fqnIndex.get(r)))}getFqn(e){return rx.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 zr(r).entriesGroupedByKey().flatMap(([i,s])=>s.length===1?s:[]).iterator()})}uniqueDescedants(e){return new Pt(()=>{const n=`${e}.`,r=new Set,i=[],s=new zr;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():Jt)}}function pY(t){const e=new Map;for(const n of t)if(bO(n)&&n.viewOf&&ct(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=Fk(e.get(i.id)??[],o=>o!==n);s&&(i.navigateTo=s)}return t}function mY(t){const e=new gA({directed:!0,multigraph:!1,compound:!1});for(const n of ch(t))e.setNode(n.id,n.id),$E(n)&&e.setEdge(n.id,n.extends);if(e.edgeCount()===0)return t;for(;!xV(e);){const n=sa(AV(e));if(!n)break;const r=ia(n);if(!r)break;e.removeNode(r)}return yA(e,e.sources()).reduce((n,r)=>{const i=t[r];if(!i)return n;if($E(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 gY(t,e="/"){const n=Me(t,Dt(c=>c.docUri),rt(se),dn());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 yY(t){const e="/",n=gY(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 vY(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(y=>n.tags.add(y)),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 y=t.lsp.DocumentLinkProvider.relativeLink(h,m.url);if(y&&y!==m.url)return{...m,relative:y}}catch(y){ut(y)}return m})}const s=Vi(n.colors,h=>aM(h.color));function o(h){return({tags:p,links:m,style:{color:y,shape:g,icon:w,opacity:E,border:k},id:_,kind:I,title:x,description:A,technology:P,metadata:O})=>{try{const C=n.elements[I];if(!C)return Ne.warn(`No kind '${I}' found for ${_}`),null;const D=m?i(h,m):null;return y??=C.style.color,g??=C.style.shape,w??=C.style.icon,E??=C.style.opacity,k??=C.style.border,P??=C.technology,{...y&&{color:y},...g&&{shape:g},...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:A??null,title:x,kind:I,id:_}}catch(C){ut(C)}return null}}const a=Me(e,wi(h=>Dt(h.c4Elements,o(h))),rt(se),KO,Pk((h,p)=>{const m=kt(p.id);return m&&ct(h[m])?(ut(`No parent found for ${p.id}`),h):(h[p.id]=p,h)},{}));function c(h){return({astPath:p,source:m,target:y,kind:g,links:w,id:E,...k})=>{if(ct(a[m])||ct(a[y]))return Ne.warn(`Invalid relation ${E}, source: ${m}(${!!a[m]}), target: ${y}(${!!a[y]})`),null;const _=w?i(h,w):null;return Br(g)&&g in n.relationships?{...n.relationships[g],...k,..._&&{links:_},source:m,target:y,kind:g,id:E}:{..._&&{links:_},...k,source:m,target:y,id:E}}}const u=Me(e,wi(h=>Dt(h.c4Relations,c(h))),rt(se),ra(Ha),uh(),dv(yi("id")));function l(h){const p=h.uri.toString();return m=>{let{id:y,title:g,description:w,tags:E,links:k,astPath:_,...I}=m;m.__==="element"&&ct(g)&&"viewOf"in m&&(g=a[m.viewOf]?.title??null),ct(g)&&y==="index"&&(g="Landscape view");const x=k?i(h,k):null;return{...I,customColorDefinitions:s,tags:E,links:x,docUri:p,description:w,title:g,id:y}}}const d=Me(e,wi(h=>Dt(h.c4Views,l(h))),yY);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=Me(d,dv(yi("id")),mY);return{specification:{tags:Array.from(n.tags),elements:n.elements,relationships:n.relationships},elements:a,relations:u,globals:r,views:f}}const mb="ParsedLikeC4Model",gb="ComputedLikeC4Model";class wY{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(Ke.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){ut(o)}return s.length>0&&this.notifyListeners(s),await Promise.resolve()}),Ne.debug("[ModelBuilder] Created")}langiumDocuments;listeners=[];unsafeSyncBuildModel(){return this.services.WorkspaceCache.get(mb,()=>{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)`),vY(this.services,e))})}async buildModel(e){const n=this.services.WorkspaceCache;return n.has(mb)?n.get(mb):await this.services.shared.workspace.WorkspaceLock.read(async()=>(e&&await At(e),this.unsafeSyncBuildModel()))}previousViews={};unsafeSyncBuildComputedModel(e){const n=this.services.WorkspaceCache,r=this.services.WorkspaceCache;return n.get(gb,()=>{const i=new SA(e),s=[];for(const a of ch(e.views)){const c=Td(a)?TA(a,i):RA(a,i);if(!c.isSuccess){ut(c.error);continue}s.push(c.view)}pY(s);const o=vi(s,a=>{const c=this.previousViews[a.id],u=c&&u_(a,c)?c:a;return r.set(lx(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(gb)?n.get(gb):await this.services.shared.workspace.WorkspaceLock.read(async()=>{e&&await At(e);const r=this.unsafeSyncBuildModel();return r?this.unsafeSyncBuildComputedModel(r):null})}async computeView(e,n){const r=this.services.WorkspaceCache,i=lx(e);return r.has(i)?r.get(i):await this.services.shared.workspace.WorkspaceLock.read(async()=>(n&&await At(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 SA(s),c=Td(o)?TA(o,a):RA(o,a);if(!c.isSuccess)return qt(c.error),null;let u=c.view;const l=Me(s.views,ch(),rt(_m),rt(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&&u_(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(Jl).toArray()}notifyListeners(e){for(const n of this.listeners)try{n(e)}catch(r){qt(r)}}}function lx(t){return`computed-view-${t}`}const{findNodeForKeyword:bY,findNodeForProperty:Pp}=af,{getDocument:EY}=Zd;class DY{constructor(e){this.services=e,this.fqnIndex=e.likec4.FqnIndex,this.langiumDocuments=e.shared.workspace.LangiumDocuments}fqnIndex;langiumDocuments;documents(){return this.langiumDocuments.all.filter(Jl)}getParsedElement(e){const n=this.fqnIndex.getFqn(e);if(!n)return null;const r=EY(e);return Jl(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(Gw(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??=bY(r.$cstNode,"view"),i??=r.$cstNode,i?{uri:n.doc.uri.toString(),range:i.range}:null}}function yb(...t){var e=t.length>1?t.join(":::"):t[0];return gH(e).toString(36)}function TY({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 RY({nodes:t,edges:e,autoLayout:n,...r}){return{...r,autoLayout:yO(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 dx=500;function SY(t){const e=BW(TY(t)),n=rH(e),r=[];let i=0;for(;i<n.length;)r.push(" * "+n.slice(i,Math.min(i+dx,n.length))),i+=dx;return r.unshift("/**"," * @likec4-generated(v1)"),r.push(" */"),r.join(`
1741
- `)}function fx(t){return t.includes("@likec4-generated")}function kY(t){if(!fx(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=tH(e);return RY(JW(n))}const hx=({operator:t,not:e},n)=>t.startsWith("!=")?{neq:n}:t.startsWith("=")?{eq:n}:e?{neq:n}:{eq:n};function Ql(t){switch(!0){case TK(t):{const e=t.value?.ref?.name;return we(e,"Expected tag name"),{tag:hx(t,e)}}case EK(t):{const e=t.value?.ref?.name;return we(e,"Expected kind name"),{kind:hx(t,e)}}case(JA(t)||QA(t)):return{not:Ql(t.value)};case FK(t):{const e=Ql(t.left),n=Ql(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:vb}=Zd;function rs(t){return Br(t)?Qt(t).split(`
1743
- `).join(" "):void 0}function Qt(t){return Br(t)?Fv(t).trim():void 0}class $Y{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(!ix(i)){Ne.warn(`Not a FqnIndexedDocument: ${i.uri.toString(!0)}`);continue}try{r.push(this.parseLikeC4Document(i))}catch(s){qt(new Error(`Error parsing document ${i.uri.toString()}`,{cause:s}))}}return r}parseLikeC4Document(e){const n=KK(e),{isValid:r}=ZK(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(!se(f))continue;if(f in i.elements){Ne.warn(`Element kind "${f}" is already defined`);continue}const h=d.find(ol),p=vi(d.filter(VA).filter(m=>Br(m.value))??[],m=>[m.key,Qt(m.value)]);i.elements[f]={...p,style:{...Ip(h?.props,n)}}}catch(f){ut(f)}const a=s.flatMap(l=>l.relationships.filter(n));for(const{kind:l,props:d}of a)try{const f=l.name;if(!se(f))continue;if(f in i.relationships){Ne.warn(`Relationship kind "${f}" is already defined`);continue}const h=vi(d.filter(KA).filter(p=>Br(p.value))??[],p=>[p.key,Qt(p.value)]);i.relationships[f]={...h,...ox(d)}}catch(f){ut(f)}const c=s.flatMap(l=>l.tags.filter(n));for(const l of c){const d=l.tag.name;se(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){ut(f)}}parseModel(e,n){for(const r of QK(e,n)){if(Gr(r)){try{e.c4Elements.push(this.parseElement(r,n))}catch(i){ut(i)}continue}if(Wr(r)){try{e.c4Relations.push(this.parseRelation(r))}catch(i){ut(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(ol)?.props,a=Ip(o,n),c=this.getMetadata(e.body?.props.find(CA)),u=this.getAstNodePath(e);let[l,d,f]=e.props??[];const h=vi(e.body?.props.filter(Zw)??[],y=>[y.key,y.value||void 0]);l=rs(l??h.title),d=Qt(h.description??d),f=rs(h.technology??f);const p=this.convertLinks(e.body),m=e.body?.props.find(es);if(m){const y=m.libicon?.ref?.name??m.value;se(y)&&(a.icon=y)}return{id:r,kind:i,astPath:u,title:l??e.name,...c&&{metadata:c},...s&&{tags:s},...p&&Ss(p)&&{links:p},...se(f)&&{technology:f},...se(d)&&{description:d},style:a}}parseRelation(e){const n=eY(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(CA)),u=this.getAstNodePath(e),l=vi(e.body?.props.filter(Dp).filter(y=>Br(y.value))??[],y=>[y.key,y.value]),d=Me(e.body?.props??[],rt(Ep),Dt(y=>y.value.view.ref?.name),rt(se),sa()),f=Qt(e.title??l.title)??"",h=Qt(l.description),p=Qt(e.technology)??rs(l.technology),m=e.body?.props.find(lb);return{id:yb(u,i,r),astPath:u,source:i,target:r,title:f,...c&&{metadata:c},...se(p)&&{technology:p},...se(h)&&{description:h},...a&&{kind:a},...s&&{tags:s},...Ss(o)&&{links:o},...ox(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(!se(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){ut(u)}const a=s.flatMap(c=>c.styles.filter(n));for(const c of a)try{const u=c.id.name;if(!se(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){ut(u)}}parseAndStoreGlobalPredicateGroupOrDynamic(e,n,r,i){if(BA(e)){const s=this.parseGlobalPredicateGroup(e,i);s.length>0&&(r.predicates[n]=s);return}if(zA(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(ll(e))return[this.parseViewRuleStyle(e,n)];if(dl(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 ut(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){ut(a)}}}parseViewRulePredicate(e,n){const r=[];let i=e.predicates;for(;i;){try{se(i.value)&&n(i.value)&&r.unshift(this.parsePredicate(i.value,n))}catch(s){ut(s)}i=i.prev}return rb(e)?{include:r}:{exclude:r}}parsePredicate(e,n){if(lK(e))return this.parseElementPredicate(e,n);if(hK(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){ut(i)}r=r.prev}return n}parseElementPredicate(e,n){if(rp(e))return this.parseElementPredicateWith(e,n);if(Jw(e))return this.parseElementPredicateWhere(e);if(Uw(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(FA(e)){const n=_n(e.expand);return we(n,"Element not found "+e.expand.$cstNode?.text),{expanded:this.resolveFqn(n)}}if(Xw(e)){const n=_n(e.parent);return we(n,"Element not found "+e.parent.$cstNode?.text),{element:this.resolveFqn(n),isDescedants:!0}}if(rl(e)){const n=_n(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(ab(s)){const o=s.value.view.$refText;return se(o)&&(i.custom.navigateTo=o),i}if(Zw(s)){if(xt(s.value)){let o=s.key==="description"?Qt(s.value):rs(s.value);i.custom[s.key]=o||""}return i}if(es(s)){const o=s.libicon?.ref?.name??s.value;return xt(o)&&(i.custom[s.key]=o),i}if(so(s)){const o=Zl(s);return xt(o)&&(i.custom[s.key]=o),i}if(Tp(s)||Vh(s))return xt(s.value)&&(i.custom[s.key]=s.value),i;if(yp(s))return xt(s.value)&&(i.custom[s.key]=sx(s)),i;if(Tl(s))return se(s.value)&&(i.custom[s.key]=Qt(s.value)),i;Ie(s)},{custom:{expr:r}})}parseElementPredicateWhere(e){return{where:{expr:this.parseElementExpr(e.subject),condition:e.where?Ql(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicate(e,n){if(ub(e)){let r=HA(e.subject)?this.parseRelationPredicateWhere(e.subject):this.parseRelationExpr(e.subject);return this.parseRelationPredicateWith(e,r)}if(HA(e))return this.parseRelationPredicateWhere(e);if(Ww(e))return this.parseRelationExpr(e);Ie(e)}parseRelationPredicateWhere(e){return{where:{expr:this.parseRelationExpr(e.subject),condition:e.where?Ql(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicateWith(e,n){return(e.custom?.props??[]).reduce((r,i)=>{if(Dp(i)||Tl(i)||UA(i))return xt(i.value)&&(r.customRelation[i.key]=Qt(i.value)??""),r;if(Hu(i))return se(i.value)&&(r.customRelation[i.key]=i.value),r;if(so(i)){const s=Zl(i);return se(s)&&(r.customRelation[i.key]=s),r}if(vl(i))return se(i.value)&&(r.customRelation[i.key]=i.value),r;if(Ep(i)){const s=i.value.view.ref?.name;return se(s)&&(r.customRelation.navigateTo=s),r}Ie(i)},{customRelation:{relation:n}})}parseRelationExpr(e){if(Hw(e))return{source:this.parseElementExpr(e.source.from),target:this.parseElementExpr(e.target),isBidirectional:e.source.isBidirectional};if(ib(e))return{inout:this.parseElementExpr(e.inout.to)};if(cb(e))return{outgoing:this.parseElementExpr(e.from)};if(qA(e))return{incoming:this.parseElementExpr(e.to)};Ie(e)}parseViewRule(e,n){if(Uh(e))return this.parseViewRulePredicate(e,n);if(OK(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(xA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ax(e);if(_p(e))return this.parseViewRuleGroup(e,n);Ie(e)}parseViewRuleGlobalPredicateRef(e,n){return{predicateId:e.predicate.$refText}}parseViewRuleStyleOrGlobalRef(e,n){if(Bl(e))return this.parseViewRuleStyle(e,n);if(XA(e))return this.parseViewRuleGlobalStyle(e,n);Ie(e)}parseViewRuleStyle(e,n){const r=e.props.filter(AA),i=e.target,s=e.props.find(Tl);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){ut(s)}return{title:rs(e.title)??null,groupRules:r,...Ip(e.props,n)}}parseRuleStyle(e,n,r,i){const s=Ip(e,r),o=Qt(i?.value);return{targets:this.parseElementExpressionsIterator(n),...o&&{notation:o},style:{...s}}}parseViewRuleGlobalStyle(e,n){return{styleId:e.style.$refText}}parseViewManualLaout(e){const n=Bd(e.$cstNode,["BLOCK_COMMENT"]);if(!(!n||!fx(n.text)))try{return kY(n.text)}catch(r){const i=vb(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=_n(e.source);if(!n)throw new Error("Invalid reference to source");const r=_n(e.target);if(!r)throw new Error("Invalid reference to target");let i=this.resolveFqn(n),s=this.resolveFqn(r);const o=Qt(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)||Tl(c)||UA(c)){xt(c.value)&&(a[c.key]=Qt(c.value)??"");continue}if(Hu(c)){xt(c.value)&&(a[c.key]=c.value);continue}if(so(c)){const u=Zl(c);xt(u)&&(a[c.key]=u);continue}if(vl(c)){xt(c.value)&&(a[c.key]=c.value);continue}if(Ep(c)){const u=c.value.view.ref?.name;se(u)&&(a.navigateTo=u);continue}Ie(c)}catch(u){ut(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=_n(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_"+yb(vb(e).uri.toString(),s,o??""));const c=rs(i.props.find(p=>p.key==="title")?.value)??null,u=Qt(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 ut(m),[]}})],...o&&{viewOf:o},...f&&{manualLayout:f}};if(pb.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_"+yb(vb(e).uri.toString(),o));const c=rs(s.find(h=>h.key==="title")?.value)??null,u=Qt(s.find(h=>h.key==="description")?.value)??null,l=this.convertTags(i),d=this.convertLinks(i);pb.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 ut(p),[]}},[])],steps:i.steps.reduce((h,p)=>{try{r(p)&&(Vw(p)?h.push(this.parseDynamicParallelSteps(p)):h.push(this.parseDynamicStep(p)))}catch(m){ut(m)}return h},[]),...f&&{manualLayout:f}}}parseDynamicViewRule(e,n){if(CK(e))return this.parseDynamicViewIncludePredicate(e,n);if($K(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(xA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ax(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){ut(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,Qt(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(se);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 Me(e.props,rt(pp),wi(n=>{const r=n.value;if(se(r)){const i=se(n.title)?rs(n.title):void 0;return i?{url:r,title:i}:{url:r}}return[]}))}}const{findNodeForKeyword:CY,findNodeForProperty:Jae}=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+"}"]},AY=(t,e)=>n=>{if(!Bl(n))return!1;const r=n.target.value;if(!r||se(n.target.prev)||!rl(r))return!1;const i=r.el.ref;return(i?e.getFqn(i):null)===t};function xY(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=rt(n.body.rules,Bl),l=e.__==="element"?e.viewOf:null,d=[],f=[];r.forEach(y=>{const g=I9(u,AY(y,c)),w=l&&Cr(l,y)?y.substring(l.length+1):y;g?d.push({fqn:w,rule:g}):f.push({fqn:w})});const h={start:o,end:o},p=y=>{y.start.line<=h.start.line&&(y.start.line==h.start.line?h.start.character=Math.min(y.start.character,h.start.character):h.start=y.start),y.end.line>=h.end.line&&(y.end.line==h.end.line?h.end.character=Math.max(y.end.character,h.end.character):h.end=y.end)},m=[];if(f.length>0){const y=f.flatMap(({fqn:g})=>_Y(g,i,a));m.push($n.insert(o,`
1744
- `+y.join(`
1745
- `))),h.start={line:o.line+1,character:a},h.end={line:o.line+y.length,character:ia(y)?.length??0}}if(d.length>0)for(const{rule:y}of d){const g=y.$cstNode;we(g,"RuleCstNode not found");for(const[w,E]of oa(i)){const k=w==="opacity"?E.toString()+"%":E,_=y.props.find(P=>P.key===w);if(_&&_.$cstNode){const{range:{start:P,end:O}}=_.$cstNode;p({start:P,end:O}),m.push($n.replace({start:P,end:O},w+" "+k));continue}const I=CY(g,"{")?.range.end;we(I,"Opening brace not found");const x=" ".repeat(2+g.range.start.character),A=x+w+" "+k;m.push($n.insert(I,`
1746
- `+A)),p({start:{line:I.line+1,character:x.length},end:{line:I.line+1,character:A.length}})}}return{modifiedRange:h,edits:m}}const{findNodeForProperty:Zae,findNodeForKeyword:IY}=af;function PY(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=nY(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 $n.replace(o.$cstNode.range,a);const c=IY(n.body.$cstNode,"}")?.range.start;we(c,"Closing brace not found");const u=` ${a}
1747
- `;return $n.insert(c,u)}function NY(t,{viewAst:e,layout:n}){we(e.$cstNode,"invalid view.$cstNode");const r=Bd(e.$cstNode,["BLOCK_COMMENT"]);let i=SY(n);return e.$cstNode.range.start.character>0&&(i=fW(i,e.$cstNode.range.start.character)),r?$n.replace(r.range,i.trimStart()):$n.insert({line:e.$cstNode.range.start.line,character:0},i+`
1748
- `)}class OY{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,...xY(this.services,{...r,targets:n.targets,style:n.style})};case"change-autolayout":{const s=PY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:s.range,edits:[s]}}case"save-manual-layout":const i=NY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:i.range,edits:[i]};default:Ie(n)}}}class LY extends ik{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){qt(i)}return r}exportViews(e,n,r){if(!(ct(e)||e.length===0))for(const i of e.flatMap(s=>s.views))try{se(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){qt(s)}}exportGlobals(e,n,r){if(!(ct(e)||e.length===0)){for(const i of e.flatMap(s=>s.predicates))try{const s=i;se(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){qt(s)}for(const i of e.flatMap(s=>s.styles))try{const s=i.id;se(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){qt(s)}}}exportModel(e,n,r){if(!(ct(e)||e.length===0))for(const i of e.flatMap(s=>s.elements))try{Gr(i)&&se(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){qt(s)}}exportLibrary(e,n,r){if(!ct(e))try{for(const i of e.flatMap(s=>s.icons))n.push(this.descriptions.createDescription(i,i.name,r))}catch(i){qt(i)}}exportSpecification(e,n,r){if(!(ct(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):{se(i.kind.name)&&n.push(this.descriptions.createDescription(i.kind,i.kind.name,r));continue}case kp(i):{se(i.tag.name)&&n.push(this.descriptions.createDescription(i.tag,"#"+i.tag.name,r));continue}case Ra(i):{se(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):{se(i.name.name)&&n.push(this.descriptions.createDescription(i.name,i.name.name,r));continue}default:Ie(i)}}catch(s){qt(s)}}computeLocalScopes(e,n){return new Promise(r=>{const i=e.parseResult.value,s=new zr;for(const o of i.models)try{const a=this.processContainer(o,s,e);s.addAll(i,a.values())}catch(a){qt(a)}r(s)})}processContainer(e,n,r){const i=new zr,s=new zr;for(const o of e.elements){if(Wr(o))continue;let a;if(Gr(o)?(se(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){qt(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:FY}=Zd;class MY extends uk{fqnIndex;constructor(e){super(e),this.fqnIndex=e.likec4.FqnIndex}directChildrenOf(e){return this.fqnIndex.directChildrenOf(e)}uniqueDescedants(e){return new Pt(()=>{const n=e(),r=n&&this.fqnIndex.getFqn(n);return r?this.fqnIndex.uniqueDescedants(r).iterator():null},n=>n?n.next():Jt)}scopeElementRef(e){return this.uniqueDescedants(()=>e.el.ref)}scopeExtendElement({element:e}){return Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>_n(e)))}scopeElementView({viewOf:e,extends:n}){return e?Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>_n(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(MA(r)&&e.property==="el"){const i=r.parent;return i?new ru(this.directChildrenOf(Ap(i))):this.getGlobalScope(n)}if(rl(r)&&e.property==="el"){const i=r.parent;if(i)return new ru(this.scopeElementRef(i));if(e.reference.$refText==="this"||e.reference.$refText==="it"){const s=En(r,Gr);return s?new sk([this.descriptions.createDescription(s,e.reference.$refText)]):ok}}return this.computeScope(e)}catch(r){return Ne.warn(r),this.getGlobalScope(n)}}catch(n){return Ne.warn(n),ok}}computeScope(e){const n=this.reflection.getReferenceType(e);we(n===Ur,"Invalid reference type");const r=[],i=FY(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)),tb(o)&&r.push(this.scopeExtendElement(o.$container)),Qw(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 ru(this.indexManager.allElements(e))}}class zY{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=z9(()=>{i.sendNotification(oH,"").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(cH,async({cleanCaches:u},l)=>(u&&this.services.WorkspaceCache.clear(),{model:await e.buildComputedModel(l)})),i.onRequest(aH,async u=>({model:await e.buildModel(u)})),i.onRequest(uH,async({viewId:u},l)=>({view:await e.computeView(u,l)})),i.onRequest(lH,async({docs:u},l)=>{const d=u.map(p=>Kt.parse(p)),f=p=>d.every(m=>!Et.equals(m,p)),h=s.all.filter(p=>xp(p)&&f(p.uri)&&p.uri.scheme!==XC).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(y){Ne.warn(`error clearing diagnostics for ${m}: ${y}`)}})),await At(l)),c=!1,await o.update(d,h,l)}),i.onRequest(dH,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(fH,async(u,l)=>await r.applyChange(u)))}dispose(){let e;for(;e=this.disposables.pop();)try{e.dispose()}catch(n){qt(n)}}}class BY{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 gr.Constructor;case r(wa,ba,Sa):return gr.Namespace;case r(io):return gr.Class;case r(ns,ao,oo,ka):return gr.EnumMember;case r(ts,Ta):return gr.Event;case r(Qi,Ea):return gr.TypeParameter}return gr.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 Ft.Color;case r(Ur,ma):return Ft.Constructor;case r(wa,ba,Sa):return Ft.Module;case r(io):return Ft.Class;case r(ns,ao,oo,ka):return Ft.EnumMember;case r(ts,Ta):return Ft.Event;case r(Qi,Ea):return Ft.TypeParameter;default:return Ft.Reference}}}class qY extends dk{documentFactory;constructor(e){super(e),this.documentFactory=e.workspace.LangiumDocumentFactory}async loadAdditionalDocuments(e,n){n(this.documentFactory.fromString(iH,Kt.parse(sH))),await super.loadAdditionalDocuments(e,n)}workspace(){return this.folders&&Sd(this.folders,1)?this.folders[0]:null}get workspaceUri(){const e=this.workspace();return we(e,"Workspace not initialized"),Kt.parse(e.uri)}get workspaceURL(){const e=this.workspace();return we(e,"Workspace not initialized"),new URL(e.uri)}}class jY extends DC{}const UY=t=>(e,n)=>{const r=cx(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}}},GY=t=>{const e=t.likec4.FqnIndex;return(n,r)=>{try{const i=_n(n.source),s=i&&e.getFqn(i);s||r("error","Source not found (not parsed/indexed yet)",{node:n,property:"source"});const o=_n(n.target),a=o&&e.getFqn(o);a||r("error","Target not found (not parsed/indexed yet)",{node:n,property:"target"}),s&&a&&(Cr(s,a)||Cr(a,s))&&r("error","Invalid parent-child relationship",{node:n})}catch(i){qt(i)}}},Np=["this","it","self","super","likec4lib","global"];function Op(t){return async(e,n,r)=>{r&&await At(r);try{await t(e,n,r)}catch(i){ut(i)}}}const{getDocument:WY}=Zd,HY=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=WY(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"}]}})}})},VY=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"})},KY=t=>(e,n)=>{const r=e.$container;r.props.some(i=>es(i)&&i!==e)&&n("error","Icon must be defined once",{node:e}),ol(r)&&ha(r.$container)&&r.$container.props.some(i=>es(i))&&n("warning","Redundant as icon defined on element",{node:e})},YY=t=>(e,n)=>{Cc(e,Yw)||n("error","Notes can be defined only inside dynamic view",{node:e})},XY=t=>{const e=t.likec4.FqnIndex;return Op((n,r)=>{const i=_n(n.target),s=i&&e.getFqn(i);s||r("error","Target not resolved",{node:n,property:"target"});let o;if(xt(n.source)){if(o=_n(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})})},JY=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})}),ZY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one specification per document",{node:e,property:"name"})},QY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one model per document",{node:e,property:"name"})},eX=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one global block per document",{node:e,property:"name"})},tX=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!==on(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"}]}})}})},nX=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!==on(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"}]}})}}},rX=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"})}},px=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"})}},iX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{e.allElements(fl).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate GlobalStyleId name '${n.name}'`,{node:n,property:"name"})}},sX=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"}))}},oX=t=>(e,n)=>{const r=En(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e});const i=Jw(e.subject)?e.subject.subject:e.subject;switch(!0){case rl(i):case Xw(i):case FA(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)}},aX=t=>(e,n)=>{Cc(e,Ww)&&n("warning","Redundant usage, expand predicate resolves parent element only when used in relations",{node:e})},cX=t=>(e,n)=>{if($a(e.to)&&!ib(e.$container)){const r=En(e,sp);ct(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},uX=t=>(e,n)=>{if($a(e.from)&&!Hw(e.$container)){const r=En(e,sp);ct(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},lX=t=>(e,n)=>{const r=En(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e})};function dX(t){Ne.info("registerValidationChecks"),t.validation.ValidationRegistry.register({NotesProperty:YY(),OpacityProperty:VY(),IconProperty:KY(),SpecificationRule:ZY(),Model:QY(),Globals:eX(),GlobalPredicateGroup:px(t),GlobalDynamicPredicateGroup:px(t),GlobalStyleId:iX(t),DynamicViewStep:GY(t),LikeC4View:sX(t),Element:HY(t),ElementKind:tX(t),Relation:XY(t),RelationBody:JY(),Tag:nX(t),DynamicViewPredicateIterator:UY(),ElementPredicateWith:oX(),RelationPredicateWith:lX(),ExpandElementExpression:aX(),RelationshipKind:rX(t),IncomingRelationExpression:cX(),OutgoingRelationExpression:uX()});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 fX(t,e){return[t,e]=mx(t,e)>0?[e,t]:[t,e],hX(t.range,e.range.start)}function mx(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 hX(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 gx(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 pX extends DG{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,fb,(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.nodes(...rt([n.target,n.tags],se)).prepend(ue.oneSpace),r.properties("title","technology").prepend(ue.oneSpace)}),this.on(e,Yw,(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,Hw)?.property("target").prepend(ue.oneSpace),this.on(e,cb,(n,r)=>{r.property("from").append(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace),r.keywords("-[").append(ue.noSpace)}),this.on(e,qA)?.keywords("->").append(ue.oneSpace),this.on(e,ib)?.keyword("->").prepend(ue.oneSpace)}removeIndentFromTopLevelStatements(e){(ob(e)||db(e)||mp(e)||jA(e)||nb(e))&&this.getNodeFormatter(e).keywords("specification","model","views","likec4lib","global").prepend(ue.noIndent)}indentContentInBraces(e){if(jA(e)||db(e)||Da(e)||Ra(e)||nb(e)||ll(e)||dl(e)||ob(e)||ha(e)||tb(e)||WA(e)||lb(e)||PK(e)||mp(e)||Qw(e)||OA(e)||Bl(e)||_p(e)||RK(e)||SK(e)||ol(e)||Vw(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||!fX(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,AK)?.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,kK)?.keywords("dynamic","view").append(ue.oneSpace)}formatLeafProperty(e){if(Zw(e)||Dp(e)||LK(e)||Tl(e)||VA(e)||KA(e)||so(e)||vl(e)||Hu(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,ab)?.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,IK,(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=xn(n.$cstNode,"kind"),s=xn(n.$cstNode,"name");s&&i&&(mx(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,ll,(n,r)=>{r.keyword("style").append(ue.oneSpace),r.property("id").append(ue.oneSpace)}),this.on(e,dl,(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)||ub(e))&&n.keyword("with").prepend(ue.oneSpace)}formatViewRuleGlobalStyle(e){this.on(e,XA,(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,Bl)?.keyword("style").append(ue.oneSpace),this.on(e,_K)?.keyword(",").prepend(ue.noSpace).append(ue.oneSpace)}formatWhereExpression(e){if((pK(e)||dK(e))&&this.getNodeFormatter(e).keyword("where").append(ue.oneSpace),(DK(e)||bK(e))&&this.getNodeFormatter(e).property("operator").surround(ue.oneSpace),(JA(e)||QA(e))&&this.getNodeFormatter(e).keyword("not").append(ue.oneSpace),IA(e)||zK(e)||MK(e)||NA(e)||BK(e)||ZA(e)){const n=this.getNodeFormatter(e);n.property("operator").surround(ue.oneSpace),n.property("not").surround(ue.oneSpace)}}formatIncludeExcludeExpressions(e){if(jw(e)||rb(e)||ap(e)){const n=this.getNodeFormatter(e);(!e.$cstNode||!gx(e.$cstNode))&&n.keywords("include","exclude").append(ue.oneSpace)}if(LA(e)||GA(e)||GA(e)){const n=this.getNodeFormatter(e),r=this.findPredicateExpressionRoot(e),i=r?.$cstNode&&gx(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||jw(n)||rb(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 mX={lsp:{NodeKindProvider:t=>new BY(t),WorkspaceSymbolProvider:t=>new jY(t)},workspace:{WorkspaceManager:t=>new qY(t)}};function en(t){return e=>new t(e)}const gX={WorkspaceCache:t=>new ck(t.shared),Rpc:en(zY),likec4:{ModelChanges:en(OY),FqnIndex:en(hY),ModelParser:en($Y),ModelBuilder:en(wY),ModelLocator:en(DY)},lsp:{CompletionProvider:en(iY),DocumentHighlightProvider:en(sY),DocumentSymbolProvider:en(aY),SemanticTokenProvider:en(uY),HoverProvider:en(cY),CodeLensProvider:en(rY),DocumentLinkProvider:en(oY),Formatter:en(pX)},references:{ScopeComputation:en(LY),ScopeProvider:en(MY)}};function yX(t,e,n,r){const i=vX(t),s=[vG({shared:i}),GK,gX,e,n,r].reduce(yx,{}),o=oh(s);return i.ServiceRegistry.register(o),dX(o),t.connection?o.Rpc.init():i.workspace.ConfigurationProvider.initialized({}),{shared:i,likec4:o}}function vX(t={}){const e={...Ck,...t};return t.connection&&(VK(t.connection),HK(t.connection)),oh(bG(e),UK,mX)}function yx(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]=yx(i,r):t[n]=r}}return t}const wX={fileSystemProvider:()=>new bX};let bX=class extends SG{async readDirectory(e){return(await G2(e.fsPath,{withFileTypes:!0})).map(n=>this.followUri(Et.joinPath(e,n.name)))}followUri(e){const n=k2(e.fsPath),r=b2(e.fsPath);if(r.isSymbolicLink()){const i=E2(e.fsPath),s=Z0(n,i);return this.followUri(Kt.file(s))}else return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}};function vx(t){return typeof t=="object"&&t!==null&&typeof t.id=="string"}function wb(t){return typeof t=="object"&&t!==null&&t.$$type==="Node"&&typeof t.id=="string"}function wx(t){return wb(t)||vx(t)}function ed(t){return typeof t=="string"||wx(t)}function EX(t){return Array.isArray(t)&&t.every(ed)}function DX(t){return["n","ne","e","se","s","sw","w","nw","c"].includes(t)}function bx(t){if(wx(t))return t;const[e,n,r]=t.split(":");return DX(r)?{id:e,port:n,compass:r}:{id:e,port:n}}function TX(t){if(t.length<2&&(ed(t[0])&&ed(t[1]))===!1)throw Error("EdgeTargets must have at least 2 elements.");return t.map(e=>bx(e))}const Lp=Object.seal({Graph:null,Digraph:null,Subgraph:null,Node:null,Edge:null});function RX(t){return Object.assign(Object.seal(Object.assign({},Lp)),t)}function SX(...t){const[e,...n]=t;return(...r)=>n.reduce((i,s)=>s(i),e(...r))}function Qn(t,...e){return SX(t,...e)}const kX=t=>(...e)=>n=>t(n,...e),$X=t=>({[Symbol.iterator]:t}),br=kX((t,e)=>Array.from($X(function*(){for(const n of t)yield e(n)})));class Ex{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 He=Ex.prototype.createElement.bind(new Ex),CX=/\r?\n/;function Er(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 Dx=t=>t.replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/"/g,'\\"'),Mp=t=>t.split(CX),td=(t,e,n)=>Qn(Mp,br(Fp(t==="space"?" ".repeat(e):`
1754
- `)),Er(n)),co=t=>{switch(t){case"crlf":return`\r
1755
- `;case"lf":return`
1756
- `}},AX={match(t){return t.type==="AttributeList"},print(t,e){if(e.children.length===0)return`${e.kind.toLocaleLowerCase()} [];`;const n=co(t.endOfLine);return Qn(br(t.print),Er(n),td(t.indentStyle,t.indentSize,n),is(`${e.kind.toLocaleLowerCase()} [${n}`,`${n}];`))(e.children)}},xX={match(t){return t.type==="Attribute"},print(t,e){return`${t.print(e.key)} = ${t.print(e.value)};`}},IX={match(t){return t.type==="Comment"},print(t,e){const n=co(t.endOfLine);switch(e.kind){case"Block":return Qn(Mp,br(Fp(" * ")),Er(n),is(`/**${n}`,`${n} */`))(e.value);case"Macro":return Qn(Mp,br(Fp("# ")),Er(n))(e.value);case"Slash":default:return Qn(Mp,br(Fp("// ")),Er(n))(e.value)}}},PX={match(t){return t.type==="Dot"},print(t,e){return e.children.map(t.print).join(co(t.endOfLine))}},NX={match(t){return t.type==="Edge"},print(t,e){const n=Qn(br(t.print),Er(t.directed?" -> ":" -- "))(e.targets);if(e.children.length===0)return`${n};`;const r=co(t.endOfLine),i=Qn(br(t.print),Er(r),td(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},OX={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=Qn(br(t.print),Er(r),td(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},LX=Qn(Dx,_X('"')),FX=is("<",">"),MX={match(t){return t.type==="Literal"},print(t,e){switch(e.quoted){case"html":return FX(e.value);case!0:return LX(e.value);case!1:default:return Dx(e.value)}}},zX={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=Qn(br(t.print),Er(r),td(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},BX={match(t){return t.type==="NodeRefGroup"},print(t,e){return Qn(br(t.print),Er(" "),is("{","}"))(e.children)}},qX={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(":")}},jX={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=Qn(br(t.print),Er(r),td(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},UX=[AX,xX,IX,PX,NX,OX,MX,zX,BX,qX,jX];class GX{options;#e=[...UX];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 WX(t,e){const n=new GX(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)?He("Attribute",{key:He("Literal",{value:t,quoted:!1},[]),value:He("Literal",{value:n.slice(1,n.length-1),quoted:"html"},[])},[]):He("Attribute",{key:He("Literal",{value:t,quoted:!1},[]),value:He("Literal",{value:e,quoted:!0},[])},[])}return He("Attribute",{key:He("Literal",{value:t,quoted:!1},[]),value:He("Literal",{value:String(e),quoted:!1},[])},[])}function uo(t,e){return He("Comment",{kind:e,value:t},[])}function Tx(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 HX={match(t){return t.$$type==="AttributeList"},convert(t,e){return He("AttributeList",{kind:e.$$kind},e.values.map(([n,r])=>zp(n,r)))}},VX={match(t){return t.$$type==="Edge"},convert(t,e){return He("Edge",{targets:e.targets.map(n=>wb(n)?He("NodeRef",{id:He("Literal",{value:n.id,quoted:!0},[])},[]):vx(n)?He("NodeRef",{id:He("Literal",{value:n.id,quoted:!0},[]),port:n.port?He("Literal",{value:n.port,quoted:!0},[]):void 0,compass:n.compass?He("Literal",{value:n.compass,quoted:!0},[]):void 0},[]):He("NodeRefGroup",{},n.map(r=>wb(r)?He("NodeRef",{id:He("Literal",{value:r.id,quoted:!0},[])},[]):He("NodeRef",{id:He("Literal",{value:r.id,quoted:!0},[]),port:r.port?He("Literal",{value:r.port,quoted:!0},[]):void 0,compass:r.compass?He("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))])}},KX={match(t){return t.$$type==="Graph"},convert(t,e){return He("Dot",{},[...e.comment?[uo(e.comment,t.commentKind)]:[],He("Graph",{directed:e.directed,strict:e.strict,id:e.id?He("Literal",{value:e.id,quoted:!0},[]):void 0},Tx(t,e))])}},YX={match(t){return t.$$type==="Node"},convert(t,e){return He("Node",{id:He("Literal",{value:e.id,quoted:!0},[])},[...e.attributes.comment?[uo(e.attributes.comment,t.commentKind)]:[],...e.attributes.values.map(([n,r])=>zp(n,r))])}},XX={match(t){return t.$$type==="Subgraph"},convert(t,e){return He("Subgraph",{id:e.id?He("Literal",{value:e.id,quoted:!0},[]):void 0},Tx(t,e))}},JX=[HX,VX,YX,KX,XX];class ZX{options;#e=[...JX];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 QX(t,e){return new ZX(e).convert(t)}const j=new Proxy(Object.freeze({}),{get:(t,e)=>e});class bb{}class Eb extends bb{#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 Db extends Eb{$$kind;get $$type(){return"AttributeList"}comment;constructor(e,n){super(n),this.$$kind=e}}class Rx extends Eb{#e=Lp;id;comment;attributes=Object.freeze({graph:new Db("Graph"),edge:new Db("Edge"),node:new Db("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=RX(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=>EX(s)?TX(s):bx(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 Sx extends Rx{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 eJ extends Sx{get directed(){return!0}}class tJ extends Sx{get directed(){return!1}}class nJ extends Rx{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 kx extends Eb{comment}let rJ=class extends bb{id;get $$type(){return"Node"}comment;attributes;constructor(e,n){super(),this.id=e,this.attributes=new kx(n)}port(e){return typeof e=="string"?{id:this.id,port:e}:{id:this.id,...e}}};class iJ extends bb{targets;get $$type(){return"Edge"}comment;attributes;constructor(e,n){if(super(),this.targets=e,e.length<2&&(ed(e[0])&&ed(e[1]))===!1)throw Error("The element of Edge target is missing or not satisfied as Edge target.");this.attributes=new kx(n)}}Object.assign(Lp,{Graph:tJ,Digraph:eJ,Subgraph:nJ,Node:rJ,Edge:iJ});function $x(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 Cx(t,e=Lp){return Object.freeze({digraph:$x.call(e,!0,t),graph:$x.call(e,!1,t)})}const _x=Cx(!1),sJ=_x.digraph;_x.graph;const oJ=Cx(!0);function Ax(t,e){const n=QX(t,e?.convert);return WX(n,e?.print)}var Tb,xx;function aJ(){if(xx)return Tb;xx=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
- `)}Tb=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 Tb}var cJ=aJ();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}}},uJ={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},lJ={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},Ce={channel:Bp,lang:uJ,unit:lJ},ss={};for(let t=0;t<=255;t++)ss[t]=Ce.unit.dec2hex(t);const tn={ALL:0,RGB:1,HSL:2};class dJ{constructor(){this.type=tn.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=tn.ALL}is(e){return this.type===e}}class fJ{constructor(e,n){this.color=n,this.changed=!1,this.data=e,this.type=new dJ}set(e,n){return this.color=n,this.changed=!1,this.data=e,this.type.type=tn.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(tn.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(tn.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(tn.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(tn.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(tn.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(tn.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(tn.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(tn.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(tn.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(tn.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(tn.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(tn.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Rb=new fJ({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 Rb.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 Rb.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)}%)`}},nd={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=nd.colors[t];if(e)return Ca.parse(e)},stringify:t=>{const e=Ca.stringify(t);for(const n in nd.colors)if(nd.colors[n]===e)return n}},rd={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(rd.re);if(!n)return;const[,r,i,s,o,a,c,u,l]=n;return Rb.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:nd,hex:Ca,rgb:rd,rgba:rd,hsl:lo,hsla:lo},parse:t=>{if(typeof t!="string")return t;const e=Ca.parse(t)||rd.parse(t)||lo.parse(t)||nd.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(tn.HSL)||t.data.r===void 0?lo.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?rd.stringify(t):Ca.stringify(t)},hJ=(t,e)=>{const n=os.parse(t);for(const r in e)n[r]=Ce.channel.clamp[r](e[r]);return os.stringify(n)},Ix=t=>os.format.hex.stringify(os.parse(t)),pJ=(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)},mJ=(t,e)=>pJ(t,"a",-e),gJ=(t,e)=>{const n=os.parse(t),r={};for(const i in e)e[i]&&(r[i]=n[i]+e[i]);return hJ(t,r)},yJ=(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 gJ(t,r)};class vJ{value;next;constructor(e){this.value=e}}class wJ{#e;#t;#n;constructor(){this.clear()}enqueue(e){const n=new vJ(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){Px(t);const e=new wJ;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){Px(c),t=c,queueMicrotask(()=>{for(;n<t&&e.size>0;)r()})}}}),a}function Px(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 bJ=Object.getOwnPropertyNames,EJ=Object.getOwnPropertySymbols,DJ=Object.prototype.hasOwnProperty;function Nx(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 Ox(t){return bJ(t).concat(EJ(t))}var Lx=Object.hasOwn||function(t,e){return DJ.call(t,e)};function _a(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var Fx="_owner",Mx=Object.getOwnPropertyDescriptor,zx=Object.keys;function TJ(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 RJ(t,e){return _a(t.getTime(),e.getTime())}function Bx(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],y=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,y,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function SJ(t,e,n){var r=zx(t),i=r.length;if(zx(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===Fx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Lx(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function id(t,e,n){var r=Ox(t),i=r.length;if(Ox(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===Fx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Lx(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=Mx(t,s),a=Mx(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function kJ(t,e){return _a(t.valueOf(),e.valueOf())}function $J(t,e){return t.source===e.source&&t.flags===e.flags}function qx(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 CJ(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]",AJ="[object Boolean]",xJ="[object Date]",IJ="[object Map]",PJ="[object Number]",NJ="[object Object]",OJ="[object RegExp]",LJ="[object Set]",FJ="[object String]",MJ=Array.isArray,jx=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Ux=Object.assign,zJ=Object.prototype.toString.call.bind(Object.prototype.toString);function BJ(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(MJ(u))return e(u,l,d);if(jx!=null&&jx(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=zJ(u);return h===xJ?n(u,l,d):h===OJ?o(u,l,d):h===IJ?r(u,l,d):h===LJ?a(u,l,d):h===NJ?typeof u.then!="function"&&typeof l.then!="function"&&i(u,l,d):h===_J?i(u,l,d):h===AJ||h===PJ||h===FJ?s(u,l,d):!1}}function qJ(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?id:TJ,areDatesEqual:RJ,areMapsEqual:r?Nx(Bx,id):Bx,areObjectsEqual:r?id:SJ,arePrimitiveWrappersEqual:kJ,areRegExpsEqual:$J,areSetsEqual:r?Nx(qx,id):qx,areTypedArraysEqual:r?id:CJ};if(n&&(i=Ux({},i,n(i))),e){var s=jp(i.areArraysEqual),o=jp(i.areMapsEqual),a=jp(i.areObjectsEqual),c=jp(i.areSetsEqual);i=Ux({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function jJ(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function UJ(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 GJ=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=qJ(t),c=BJ(a),u=r?r(c):jJ(c);return UJ({circular:n,comparator:c,createState:i,equals:u,strict:o})}function Gx(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 Wx=(t,e)=>t.width>e.width+10||t.height>e.height+10;function WJ(t,e){if(t.hash===e.hash)return{diagram:Gx(t,e)};if(GJ(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||Wx(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:Gx(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||Wx(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 zn(t){return t.children.length>0}function er(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 Hx=t=>(we(isFinite(t),`Invalid not finite inch value ${t}`),Math.floor(t*72)),ht=t=>Math.ceil(t/72*1e3)/1e3,tr=t=>Math.ceil(t);tr(40).toString();function Vx(t,e){return Ix(yJ(t,{l:-35-5*e,s:-15-5*e}))}function HJ(t){return Ix(mJ(t,.3))}function VJ(t){return t.trim().replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function Sb(t,e,n){let r=cJ(t,{width:e,indent:"",escape:VJ}).split(`
1761
- `);return xt(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=Sb(t,e,r).join("<BR/>");i&&(o=`<B>${o}</B>`);const a=s?` COLOR="${s}"`:"";return`<FONT POINT-SIZE="${tr(n)}"${a}>${o}</FONT>`}function KJ(t,e){const n=se(t.icon),r=[cs({text:t.title,fontsize:19,maxchars:35,maxLines:2})];if(se(t.technology)&&r.push(cs({text:t.technology,fontsize:12,maxchars:n?35:45,maxLines:1,color:e.loContrast})),se(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 YJ(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 XJ({label:t,description:e,technology:n}){const r=[];if(se(t)&&r.push(cs({text:t,maxchars:Aa,fontsize:14,maxLines:4,bold:t==="[...]"})),se(e)&&r.push(cs({text:e,maxchars:Aa,maxLines:4,fontsize:14})),se(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" ${kb}>${i}</TABLE>>`}const kb=`BGCOLOR="${Hn.relationships[Ts].labelBgColor}A0"`;function JJ(t,e){const n=`<TABLE BORDER="0" CELLPADDING="6" ${kb}><TR><TD FIXEDSIZE="TRUE" WIDTH="20" HEIGHT="20"><FONT POINT-SIZE="${tr(14)}"><B>${t}</B></FONT></TD></TR></TABLE>`;return se(e)?`<${['<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">',"<TR>",`<TD>${n}</TD>`,`<TD ${kb} CELLPADDING="2">`,cs({text:e,maxchars:Aa,fontsize:14}),"</TD>","</TR>","</TABLE>"].join("")}>`:`<${n}>`}const Kx="dashed",$b=Hn.font;class Yx{constructor(e){this.view=e,this.compoundIds=new Set(e.nodes.filter(zn).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=>zn(u)&&u.parent===i.id))n(c,a)},r=[];for(const i of this.view.nodes)zn(i)?ct(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 Ax(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}createGraph(){const e=this.view.autoLayout,n=sJ({[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]:tr(e.rankSep??120),[j.packmode]:"array_3",[j.pad]:ht(15),[j.fontname]:$b});return n.attributes.graph.apply({[j.fontsize]:tr(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]:$b,[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]:$b,[j.fontsize]:tr(14),[j.penwidth]:tr(2),[j.color]:Hn.relationships[Ts].lineColor,[j.fontcolor]:Hn.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=zn(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(zn(e),"node should be compound"),we(lh(e.depth),"node.depth should be defined");const r=this.getElementColorValues(e.color),i=HJ(r.loContrast);return n.apply({[j.likec4_id]:e.id,[j.likec4_level]:e.level,[j.likec4_depth]:e.depth,[j.fillcolor]:Vx(r.fill,e.depth),[j.color]:Vx(r.stroke,e.depth),[j.style]:"filled",[j.margin]:tr(e.children.length>1?40:32)}),Yi(e.title.trim())||n.set(j.label,YJ(e,i)),n}elementToNode(e,n){we(!zn(e),"node should not be compound");const r=se(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]:tr(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,KJ(e,i)),n}leafElements(e){if(e===null)return this.view.nodes.filter(r=>!zn(r));const n=e+".";return this.view.nodes.filter(r=>!zn(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(zn(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(ME(e))}findInternalEdges(e){return e===null?this.view.edges.slice():this.view.edges.filter(ME(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=Me(this.view.nodes,rt(zn),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}}),rt(({edges:r})=>r.length>1&&r.length<8),YU(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 DE(e)?Hn.relationships[e]:this.view.customColorDefinitions[e]?.relationships??Hn.relationships[Oa]}getElementColorValues(e){return DE(e)?Hn.elements[e]:this.view.customColorDefinitions[e]?.elements??Hn.elements[Oa]}}class W0 extends Yx{static toDot(e){return new W0(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??Kx});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=AE(e.id),m=JJ(p,e.label?.trim());if(f.attributes.set(j.label,m),!h){const E=new Set([...o.outEdges,...u.inEdges,...b9(u.outEdges,o.inEdges)].filter(k=>!this.edgesWithCompounds.has(k)));f.attributes.set(j.weight,E.size)}const y=r.findIndex(E=>E.id===i);r.findIndex(E=>E.id===s)<y&&e.dir!=="back"&&f.attributes.apply({[j.constraint]:!1});let[g,w]=[e.head??Ro,e.tail??"none"];return e.dir==="back"?(f.attributes.apply({[j.arrowtail]:er(g),[j.minlen]:0,[j.dir]:"back"}),w!=="none"&&f.attributes.apply({[j.arrowhead]:er(w),[j.dir]:"both"}),f):g==="none"&&w==="none"||g!=="none"&&w!=="none"?(f.attributes.apply({[j.arrowhead]:er(g),[j.arrowtail]:er(w),[j.dir]:"both"}),f):g==="none"?(f.attributes.delete(j.arrowhead),f.attributes.apply({[j.arrowtail]:er(w),[j.minlen]:0,[j.dir]:"back"}),f):(g!==Ro&&f.attributes.set(j.arrowhead,er(g)),f)}}class H0 extends Yx{static toDot(e){return new H0(e).print()}buildGraphvizModel(e){super.buildGraphvizModel(e),this.assignGroups();const n=new Set,r=this.view.nodes.reduce((i,s)=>(zn(s)&&(n.add(s.id),i.push(s)),i),[]);for(const i of r){const s=Me(i.children,rt(u=>!this.compoundIds.has(u)),Dt(u=>this.viewElement(u)),rt(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;U9(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??Kx});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=XJ(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[y,g]=[e.head??Ro,e.tail??"none"];if(e.dir==="back")return h.attributes.apply({[j.arrowtail]:er(y),[j.dir]:"back"}),g!=="none"&&h.attributes.apply({[j.arrowhead]:er(g),[j.dir]:"both",[j.minlen]:0}),h;if(y==="none"&&g==="none")return h.attributes.apply({[j.arrowtail]:"none",[j.arrowhead]:"none",[j.dir]:"none",[j.minlen]:0,[j.constraint]:!1}),h;if(y!=="none"&&g!=="none")return h.attributes.apply({[j.arrowhead]:er(y),[j.arrowtail]:er(g),[j.dir]:"both",[j.minlen]:0}),h;if(y!==Ro&&h.attributes.set(j.arrowhead,er(y)),g!=="none"&&h.attributes.set(j.arrowtail,er(g)),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),_=this.viewElement(E.target);return zn(k)||zn(_)?!1:k.parent==null&&_.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 ZJ(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 Xx({pos:t,width:e,height:n}){const{x:r,y:i}=ZJ(t),s=Hx(+e),o=Hx(+n);return{x:r-Math.round(s/2),y:i-Math.round(o/2),width:s,height:o}}function Jx(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 Zx({_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 QJ(t,{id:e,source:n,target:r,dir:i,label:s,description:o,...a},c){const u=Jx(t._ldraw_??t._tldraw_??t._hldraw_),l=t.dir==="back"||i==="back";return s=s?Sb(s,Aa).join(`
1764
- `):null,o=o?Sb(o,Aa).join(`
1765
- `):void 0,{id:e,source:n,target:r,label:s,...se(o)&&{description:o},...se(t.pos)&&{dotpos:t.pos},points:Zx(t,c),labelBBox:u,...l?{dir:"back"}:{},...a}}function Qx(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:y}="bb"in f?Up(f.bb):Xx(f),g=[h,p];c.nodes.push({...d,position:g,width:m,height:y,labelBBox:Jx(f._ldraw_,g)??{x:h,y:p,width:m,height:y}})}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(QJ(f,d,a.id))}return c}const Gp=t=>String(t+1).padStart(2,"0");function eZ(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):Xx(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??""},y=[..."subgraphs"in o?o.subgraphs:[],..."nodes"in o?o.nodes:[]];for(const g of y)i.set(g,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:Zx(o)})}catch(a){Xe.warn(a)}return r}const eI=Hn.font,Wp="/";class V0{static toDot(e){return new V0(e).print()}subgraphs=new Map;graphvizModel;constructor(e){const n=this.graphvizModel=oJ.graph({[j.layout]:"osage",[j.pack]:tr(100),[j.packmode]:"array_ltc",[j.pad]:ht(15),[j.fontname]:eI,[j.splines]:"polyline",[j.esep]:"+20"});n.attributes.graph.apply({[j.fontsize]:tr(20),[j.labeljust]:"l",[j.labelloc]:"t"}),n.attributes.node.apply({[j.fontname]:eI,[j.shape]:"rect",[j.width]:ht(400),[j.height]:ht(300),[j.fixedsize]:!0,[j.fontsize]:10}),n.attributes.edge.apply({[j.penwidth]:tr(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]:se(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 Ax(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}}const tI=t=>Am(t)?new W0(t):new H0(t);class tZ{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=Qx(r,e);if(e.manualLayout){const s=WJ(i,e.manualLayout);if(s.diagram)i=s.diagram;else{if(s.relayout.nodes.length>0){const o=tI(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=Qx(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=tI(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=V0.toDot(e),r=await this.graphviz.layoutJson(n);return eZ(r)}}const nZ=qp(1);class yd{static _graphviz=null;graphviz(){return Promise.resolve().then(()=>yd._graphviz??=ym.load())}async attempt(e,n){return await nZ(async()=>{const r=Xe.withTag("graphviz-wasm");try{return await n()}catch(i){r.error(`FAILED GraphvizWasmAdapter: ${e}`,i),ym.unload(),yd._graphviz=null}r.warn("Retrying..."),await MD(50,300);try{return await n()}finally{ym.unload(),yd._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 nr(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 Cb=(t,e)=>{const n=nI(t);if(typeof n!="string")throw new TypeError(`${e} must be a string or a file URL: ${n}.`);return n},nI=t=>t instanceof URL?gm(t):t,rI=(t,e=[],n={})=>{const r=Cb(t,"First argument"),[i,s]=nr(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(!nr(s))throw new TypeError(`Last argument must be an options object: ${s}`);return[r,o,s]},{toString:iI}=Object.prototype,rZ=t=>iI.call(t)==="[object ArrayBuffer]",Dr=t=>iI.call(t)==="[object Uint8Array]",sd=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),iZ=new TextEncoder,sI=t=>iZ.encode(t),sZ=new TextDecoder,oI=t=>sZ.decode(t),oZ=(t,e)=>aZ(t,e).join(""),aZ=(t,e)=>{if(e==="utf8"&&t.every(s=>typeof s=="string"))return t;const n=new nE(e),r=t.map(s=>typeof s=="string"?sI(s):s).map(s=>n.write(s)),i=n.end();return i===""?r:[...r,i]},_b=t=>t.length===1&&Dr(t[0])?t[0]:aI(cZ(t)),cZ=t=>t.map(e=>typeof e=="string"?sI(e):e),aI=t=>{const e=new Uint8Array(uZ(t));let n=0;for(const r of t)e.set(r,n),n+=r.length;return e},uZ=t=>{let e=0;for(const n of t)e+=n.length;return e},lZ=t=>Array.isArray(t)&&Array.isArray(t.raw),dZ=(t,e)=>{let n=[];for(const[s,o]of t.entries())n=fZ({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,{}]},fZ=({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}=hZ(i,t.raw[r]),c=uI(n,s,o);if(r===e.length)return c;const u=e[r],l=Array.isArray(u)?u.map(d=>lI(d)):[lI(u)];return uI(c,l,a)},hZ=(t,e)=>{if(e.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};const n=[];let r=0;const i=cI.has(e[0]);for(let o=0,a=0;o<t.length;o+=1,a+=1){const c=e[a];if(cI.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+=pZ[u]??1}}const s=r===t.length;return s||n.push(t.slice(r)),{nextTokens:n,leadingWhitespaces:i,trailingWhitespaces:s}},cI=new Set([" "," ","\r",`
1774
- `]),pZ={x:3,u:5},uI=(t,e,n)=>n||t.length===0||e.length===0?[...t,...e]:[...t.slice(0,-1),`${t.at(-1)}${e[0]}`,...e.slice(1)],lI=t=>{const e=typeof t;if(e==="string")return t;if(e==="number")return String(t);if(nr(t)&&("stdout"in t||"isMaxBuffer"in t))return mZ(t);throw t instanceof tE||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`)},mZ=({stdout:t})=>{if(typeof t=="string")return t;if(Dr(t))return oI(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=>Ab.includes(t),Ab=[Oe.stdin,Oe.stdout,Oe.stderr],Vr=["stdin","stdout","stderr"],dI=t=>Vr[t]??`stdio[${t}]`,gZ=t=>{const e={...t};for(const n of mI)e[n]=fI(t,n);return e},fI=(t,e)=>{const n=Array.from({length:yZ(t)+1}),r=vZ(t[e],n,e);return TZ(r,e)},yZ=({stdio:t})=>Array.isArray(t)?Math.max(t.length,Vr.length):Vr.length,vZ=(t,e,n)=>nr(t)?wZ(t,e,n):e.fill(t),wZ=(t,e,n)=>{for(const r of Object.keys(t).sort(bZ))for(const i of EZ(r,n,e))e[i]=t[r];return e},bZ=(t,e)=>hI(t)<hI(e)?1:-1,hI=t=>t==="stdout"||t==="stderr"?0:t==="all"?2:1,EZ=(t,e,n)=>{if(t==="ipc")return[n.length-1];const r=pI(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]},pI=t=>{if(t==="all")return t;if(Vr.includes(t))return Vr.indexOf(t);const e=DZ.exec(t);if(e!==null)return Number(e[1])},DZ=/^fd(\d+)$/,TZ=(t,e)=>t.map(n=>n===void 0?SZ[e]:n),RZ=I2("execa").enabled?"full":"none",SZ={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:RZ,stripFinalNewline:!0},mI=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],od=(t,e)=>e==="ipc"?t.at(-1):t[e],xb=({verbose:t},e)=>Pb(t,e)!=="none",Ib=({verbose:t},e)=>!["none","short"].includes(Pb(t,e)),kZ=({verbose:t},e)=>{const n=Pb(t,e);return Nb(n)?n:void 0},Pb=(t,e)=>e===void 0?$Z(t):od(t,e),$Z=t=>t.find(e=>Nb(e))??Ob.findLast(e=>t.includes(e)),Nb=t=>typeof t=="function",Ob=["none","short","full"],CZ=(t,e)=>{const n=[t,...e],r=n.join(" "),i=n.map(s=>NZ(gI(s))).join(" ");return{command:r,escapedCommand:i}},Lb=t=>P2(t).split(`
1777
- `).map(e=>gI(e)).join(`
1778
- `),gI=t=>t.replaceAll(xZ,e=>_Z(e)),_Z=t=>{const e=IZ[t];if(e!==void 0)return e;const n=t.codePointAt(0),r=n.toString(16);return n<=PZ?`\\u${r.padStart(4,"0")}`:`\\U${r}`},AZ=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},xZ=AZ(),IZ={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},PZ=65535,NZ=t=>OZ.test(t)?t:W2==="win32"?`"${t.replaceAll('"','""')}"`:`'${t.replaceAll("'","'\\''")}'`,OZ=/^[\w./-]+$/;function LZ(){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 yI={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"},FZ={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"},MZ={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"},zZ={...yI,...FZ},BZ={...yI,...MZ},qZ=LZ(),Fb=qZ?zZ:BZ,jZ=eE.WriteStream.prototype.hasColors(),Hp=(t,e)=>{if(!jZ)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}},UZ=Hp(1,22),Mb=Hp(90,39),GZ=Hp(91,39),WZ=Hp(93,39),HZ=({type:t,message:e,timestamp:n,piped:r,commandId:i,result:{failed:s=!1}={},options:{reject:o=!0}})=>{const a=VZ(n),c=KZ[t]({failed:s,reject:o,piped:r}),u=YZ[t]({reject:o});return`${Mb(`[${a}]`)} ${Mb(`[${i}]`)} ${u(c)} ${u(e)}`},VZ=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"),vI=({failed:t,reject:e})=>t?e?Fb.cross:Fb.warning:Fb.tick,KZ={command:({piped:t})=>t?"|":"$",output:()=>" ",ipc:()=>"*",error:vI,duration:vI},wI=t=>t,YZ={command:()=>UZ,output:()=>wI,ipc:()=>wI,error:({reject:t})=>t?GZ:WZ,duration:()=>Mb},XZ=(t,e,n)=>{const r=kZ(e,n);return t.map(({verboseLine:i,verboseObject:s})=>JZ(i,s,r)).filter(i=>i!==void 0).map(i=>ZZ(i)).join("")},JZ=(t,e,n)=>{if(n===void 0)return t;const r=n(t,e);if(typeof r=="string")return r},ZZ=t=>t.endsWith(`
1779
- `)?t:`${t}
1780
- `,ad=({type:t,verboseMessage:e,fdNumber:n,verboseInfo:r,result:i})=>{const s=QZ({type:t,result:i,verboseInfo:r}),o=eQ(e,s),a=XZ(o,r,n);Y0(nQ,a)},QZ=({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}),eQ=(t,e)=>t.split(`
1781
- `).map(n=>tQ({...e,message:n})),tQ=t=>({verboseLine:HZ(t),verboseObject:t}),nQ=2,bI=t=>{const e=typeof t=="string"?t:Q0(t);return Lb(e).replaceAll(" "," ".repeat(rQ))},rQ=2,iQ=(t,e)=>{xb(e)&&ad({type:"command",verboseMessage:t,verboseInfo:e})},sQ=(t,e,n)=>{cQ(t);const r=oQ(t);return{verbose:t,escapedCommand:e,commandId:r,rawOptions:n}},oQ=t=>xb({verbose:t})?aQ++:void 0;let aQ=0n;const cQ=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(!Ob.includes(e)&&!Nb(e)){const n=Ob.map(r=>`'${r}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${e}. Allowed values are: ${n} or a function.`)}}},EI=()=>wd.bigint(),DI=t=>Number(wd.bigint()-t)/1e6,TI=(t,e,n)=>{const r=EI(),{command:i,escapedCommand:s}=CZ(t,e),o=fI(n,"verbose"),a=sQ(o,s,{...n});return iQ(s,a),{command:i,escapedCommand:s,startTime:r,verboseInfo:a}};var ho={exports:{}},zb,RI;function uQ(){if(RI)return zb;RI=1,zb=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 zb}var Bb,SI;function lQ(){if(SI)return Bb;SI=1,Bb=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,y=a&p||a&h&&u===d||a&f&&c===l||a&m&&l===0;return y}return Bb}var qb,kI;function dQ(){if(kI)return qb;kI=1;var t;process.platform==="win32"||o8.TESTING_WINDOWS?t=uQ():t=lQ(),qb=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 qb}var jb,$I;function fQ(){if($I)return jb;$I=1;const t=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",e=cu,n=t?";":":",r=dQ(),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=g=>new Promise((w,E)=>{if(g===d.length)return u.all&&p.length?w(p):E(i(c));const k=d[g],_=/^".*"$/.test(k)?k.slice(1,-1):k,I=e.join(_,c),x=!_&&/^\.[\\\/]/.test(c)?c.slice(0,2)+I:I;w(y(x,g,0))}),y=(g,w,E)=>new Promise((k,_)=>{if(E===f.length)return k(m(w+1));const I=f[E];r(g+I,{pathExt:h},(x,A)=>{if(!x&&A)if(u.all)p.push(g+I);else return k(g+I);return k(y(g,w,E+1))})});return l?m(0).then(g=>l(null,g),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],y=/^".*"$/.test(m)?m.slice(1,-1):m,g=e.join(y,c),w=!y&&/^\.[\\\/]/.test(c)?c.slice(0,2)+g:g;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 jb=o,o.sync=a,jb}var Kp={exports:{}},CI;function hQ(){if(CI)return Kp.exports;CI=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 Ub,_I;function pQ(){if(_I)return Ub;_I=1;const t=cu,e=fQ(),n=hQ();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 Ub=i,Ub}var Yp={},AI;function mQ(){if(AI)return Yp;AI=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 Gb,xI;function gQ(){return xI||(xI=1,Gb=/^#!(.*)/),Gb}var Wb,II;function yQ(){if(II)return Wb;II=1;const t=gQ();return Wb=(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},Wb}var Hb,PI;function vQ(){if(PI)return Hb;PI=1;const t=ph,e=yQ();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 Hb=n,Hb}var Vb,NI;function wQ(){if(NI)return Vb;NI=1;const t=cu,e=pQ(),n=mQ(),r=vQ(),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 Vb=u,Vb}var Kb,OI;function bQ(){if(OI)return Kb;OI=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 Kb={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:i,notFoundError:e},Kb}var LI;function EQ(){if(LI)return ho.exports;LI=1;const t=iC,e=wQ(),n=bQ();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 DQ=EQ();function FI(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 TQ=({cwd:t=Oe.cwd(),path:e=Oe.env[FI()],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&&RQ(a,o),i&&SQ(a,r,o),[...a,e].join(Jr.delimiter)},RQ=(t,e)=>{let n;for(;n!==e;)t.push(Jr.join(e,"node_modules/.bin")),n=e,e=Jr.resolve(e,"..")},SQ=(t,e,n)=>{const r=e instanceof URL?gm(e):e;t.push(Jr.resolve(n,r,".."))},kQ=({env:t=Oe.env,...e}={})=>{t={...t};const n=FI({env:t});return e.path=t[n],t[n]=TQ(e),t},$Q=(t,e,n)=>{const r=n?Jb:Xb,i=t instanceof cd?{}:{cause:t};return new r(e,i)};class cd extends Error{}const MI=(t,e)=>{Object.defineProperty(t.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,zI,{value:!0,writable:!1,enumerable:!1,configurable:!1})},CQ=t=>Yb(t)&&zI in t,zI=Symbol("isExecaError"),Yb=t=>Object.prototype.toString.call(t)==="[object Error]";class Xb extends Error{}MI(Xb,Xb.name);class Jb extends Error{}MI(Jb,Jb.name);const _Q=()=>{const t=qI-BI+1;return Array.from({length:t},AQ)},AQ=(t,e)=>({name:`SIGRT${e+1}`,number:BI+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),BI=34,qI=64,xQ=[{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"}],jI=()=>{const t=_Q();return[...xQ,...t].map(IQ)},IQ=({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}},PQ=()=>{const t=jI();return Object.fromEntries(t.map(NQ))},NQ=({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}],OQ=PQ(),LQ=()=>{const t=jI(),e=qI+1,n=Array.from({length:e},(r,i)=>FQ(i,t));return Object.assign({},...n)},FQ=(t,e)=>{const n=MQ(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}}},MQ=(t,e)=>{const n=e.find(({name:r})=>bs.signals[r]===t);return n!==void 0?n:e.find(r=>r.number===t)};LQ();const zQ=t=>{const e="option `killSignal`";if(t===0)throw new TypeError(`Invalid ${e}: 0 cannot be used.`);return UI(t,e)},BQ=t=>t===0?t:UI(t,"`subprocess.kill()`'s argument"),UI=(t,e)=>{if(Number.isInteger(t))return qQ(t,e);if(typeof t=="string")return UQ(t,e);throw new TypeError(`Invalid ${e} ${String(t)}: it must be a string or an integer.
1782
- ${Zb()}`)},qQ=(t,e)=>{if(GI.has(t))return GI.get(t);throw new TypeError(`Invalid ${e} ${t}: this signal integer does not exist.
1783
- ${Zb()}`)},jQ=()=>new Map(Object.entries(bs.signals).reverse().map(([t,e])=>[e,t])),GI=jQ(),UQ=(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
- ${Zb()}`)},Zb=()=>`Available signal names: ${GQ()}.
1785
- Available signal numbers: ${WQ()}.`,GQ=()=>Object.keys(bs.signals).sort().map(t=>`'${t}'`).join(", "),WQ=()=>[...new Set(Object.values(bs.signals).sort((t,e)=>t-e))].join(", "),WI=t=>OQ[t].description,HQ=t=>{if(t===!1)return t;if(t===!0)return VQ;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},VQ=1e3*5,KQ=({kill:t,options:{forceKillAfterDelay:e,killSignal:n},onInternalError:r,context:i,controller:s},o,a)=>{const{signal:c,error:u}=YQ(o,a,n);XQ(u,r);const l=t(c);return JQ({kill:t,signal:c,forceKillAfterDelay:e,killSignal:n,killResult:l,context:i,controller:s}),l},YQ=(t,e,n)=>{const[r=n,i]=Yb(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&&!Yb(i))throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${i}`);return{signal:BQ(r),error:i}},XQ=(t,e)=>{t!==void 0&&e.reject(t)},JQ=async({kill:t,signal:e,forceKillAfterDelay:n,killSignal:r,killResult:i,context:s,controller:o})=>{e===r&&i&&HI({kill:t,forceKillAfterDelay:n,context:s,controllerSignal:o.signal})},HI=async({kill:t,forceKillAfterDelay:e,context:n,controllerSignal:r})=>{if(e!==!1)try{await rE(e,void 0,{signal:r}),t("SIGKILL")&&(n.isForcefullyTerminated??=!0)}catch{}},VI=async(t,e)=>{t.aborted||await bn(t,"abort",{signal:e})},ZQ=({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)}`)},QQ=({subprocess:t,cancelSignal:e,gracefulCancel:n,context:r,controller:i})=>e===void 0||n?[]:[eee(t,e,r,i)],eee=async(t,e,n,{signal:r})=>{throw await VI(e,r),n.terminationReason??="cancel",t.kill(),e.reason},Qb=({methodName:t,isSubprocess:e,ipc:n,isConnected:r})=>{tee(t,e,n),KI(t,e,r)},tee=(t,e,n)=>{if(!n)throw new Error(`${Tr(t,e)} can only be used if the \`ipc\` option is \`true\`.`)},KI=(t,e,n)=>{if(!n)throw new Error(`${Tr(t,e)} cannot be used: the ${us(e)} has already exited or disconnected.`)},nee=t=>{throw new Error(`${Tr("getOneMessage",t)} could not complete: the ${us(t)} exited or disconnected.`)},ree=t=>{throw new Error(`${Tr("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
- ${Tr("getOneMessage",t)},
1790
- ${Tr("sendMessage",t,"message, {strict: true}")},
1791
- ]);`)},YI=(t,e)=>new Error(`${Tr("sendMessage",e)} failed when sending an acknowledgment response to the ${us(e)}.`,{cause:t}),iee=t=>{throw new Error(`${Tr("sendMessage",t)} failed: the ${us(t)} is not listening to incoming messages.`)},see=t=>{throw new Error(`${Tr("sendMessage",t)} failed: the ${us(t)} exited without listening to incoming messages.`)},oee=()=>new Error(`\`cancelSignal\` aborted: the ${us(!0)} disconnected.`),aee=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},cee=({error:t,methodName:e,isSubprocess:n})=>{if(t.code==="EPIPE")throw new Error(`${Tr(e,n)} cannot be used: the ${us(n)} is disconnecting.`,{cause:t})},uee=({error:t,methodName:e,isSubprocess:n,message:r})=>{if(lee(t))throw new Error(`${Tr(e,n)}'s argument type is invalid: the message cannot be serialized: ${String(r)}.`,{cause:t})},lee=({code:t,message:e})=>dee.has(t)||fee.some(n=>e.includes(n)),dee=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),fee=["could not be cloned","circular structure","call stack size exceeded"],Tr=(t,e,n="")=>t==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${hee(e)}${t}(${n})`,hee=t=>t?"":"subprocess.",us=t=>t?"parent process":"subprocess",e0=t=>{t.connected&&t.disconnect()},ud=()=>{const t={},e=new Promise((n,r)=>{Object.assign(t,{resolve:n,reject:r})});return Object.assign(e,t)},XI=(t,e="stdin")=>{const{options:r,fileDescriptors:i}=po.get(t),s=JI(i,e,!0),o=t.stdio[s];if(o===null)throw new TypeError(ZI(s,e,r,!0));return o},t0=(t,e="stdout")=>{const{options:r,fileDescriptors:i}=po.get(t),s=JI(i,e,!1),o=s==="all"?t.all:t.stdio[s];if(o==null)throw new TypeError(ZI(s,e,r,!1));return o},po=new WeakMap,JI=(t,e,n)=>{const r=pee(e,n);return mee(r,e,n,t),r},pee=(t,e)=>{const n=pI(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(`"${ld(e)}" must not be "${t}".
1792
- It must be ${r} or "fd3", "fd4" (and so on).
1793
- It is optional and defaults to "${i}".`)},mee=(t,e,n,r)=>{const i=r[QI(t)];if(i===void 0)throw new TypeError(`"${ld(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(`"${ld(n)}" must not be ${e}. It must be a readable stream, not writable.`);if(i.direction!=="input"&&n)throw new TypeError(`"${ld(n)}" must not be ${e}. It must be a writable stream, not readable.`)},ZI=(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}=gee(t,n);return`The "${i}: ${n0(s)}" option is incompatible with using "${ld(r)}: ${n0(e)}".
1795
- Please set this option with "pipe" instead.`},gee=(t,{stdin:e,stdout:n,stderr:r,stdio:i})=>{const s=QI(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]}},QI=t=>t==="all"?1:t,ld=t=>t?"to":"from",n0=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),sE(n,()=>{t.setMaxListeners(t.getMaxListeners()-e)}))},eP=(t,e)=>{e&&r0(t)},r0=t=>{t.refCounted()},tP=(t,e)=>{e&&i0(t)},i0=t=>{t.unrefCounted()},yee=(t,e)=>{e&&(i0(t),i0(t))},vee=(t,e)=>{e&&(r0(t),r0(t))},wee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r},i)=>{if(kee(i)||Mee(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 xee(t,r,i),await iE.yield();const o=await See({wrappedMessage:s[0],anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r});s.shift(),r.emit("message",o),r.emit("message:done")}},bee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r,boundOnMessage:i})=>{cP();const s=Jp.get(t);for(;s?.length>0;)await bn(r,"message:done");t.removeListener("message",i),vee(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 J2;return r.connected=!0,Qp.set(t,r),Eee({ipcEmitter:r,anyProcess:t,channel:e,isSubprocess:n}),r},Qp=new WeakMap,Eee=({ipcEmitter:t,anyProcess:e,channel:n,isSubprocess:r})=>{const i=wee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t});e.on("message",i),e.once("disconnect",bee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t,boundOnMessage:i})),yee(n,r)},nP=t=>{const e=Qp.get(t);return e===void 0?t.channel!==null:e.connected},Dee=({anyProcess:t,channel:e,isSubprocess:n,message:r,strict:i})=>{if(!i)return r;const s=Zp(t,e,n),o=s0(t,s);return{id:Tee++,type:tm,message:r,hasListeners:o}};let Tee=0n;const Ree=(t,e)=>{if(!(e?.type!==tm||e.hasListeners))for(const{id:n}of t)n!==void 0&&em[n].resolve({isDeadlock:!0,hasListeners:!1})},See=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:rP,message:s0(e,i)};try{await iP({anyProcess:e,channel:n,isSubprocess:r,ipc:!0},a)}catch(c){i.emit("strict:error",c)}return o},kee=t=>{if(t?.type!==rP)return!1;const{id:e,message:n}=t;return em[e]?.resolve({isDeadlock:!1,hasListeners:n}),!0},$ee=async(t,e,n)=>{if(t?.type!==tm)return;const r=ud();em[t.id]=r;const i=new AbortController;try{const{isDeadlock:s,hasListeners:o}=await Promise.race([r,Cee(e,n,i)]);s&&ree(n),o||iee(n)}finally{i.abort(),delete em[t.id]}},em={},Cee=async(t,e,{signal:n})=>{Xp(t,1,n),await bn(t,"disconnect",{signal:n}),see(e)},tm="execa:ipc:request",rP="execa:ipc:response",_ee=(t,e,n)=>{dd.has(t)||dd.set(t,new Set);const r=dd.get(t),i=ud(),s=n?e.id:void 0,o={onMessageSent:i,id:s};return r.add(o),{outgoingMessages:r,outgoingMessage:o}},Aee=({outgoingMessages:t,outgoingMessage:e})=>{t.delete(e),e.onMessageSent.resolve()},xee=async(t,e,n)=>{for(;!s0(t,e)&&dd.get(t)?.size>0;){const r=[...dd.get(t)];Ree(r,n),await Promise.all(r.map(({onMessageSent:i})=>i))}},dd=new WeakMap,s0=(t,e)=>e.listenerCount("message")>Iee(t),Iee=t=>po.has(t)&&!od(po.get(t).options.buffer,"ipc")?1:0,iP=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},i,{strict:s=!1}={})=>{const o="sendMessage";return Qb({methodName:o,isSubprocess:n,ipc:r,isConnected:t.connected}),Pee({anyProcess:t,channel:e,methodName:o,isSubprocess:n,message:i,strict:s})},Pee=async({anyProcess:t,channel:e,methodName:n,isSubprocess:r,message:i,strict:s})=>{const o=Dee({anyProcess:t,channel:e,isSubprocess:r,message:i,strict:s}),a=_ee(t,o,s);try{await sP({anyProcess:t,methodName:n,isSubprocess:r,wrappedMessage:o,message:i})}catch(c){throw e0(t),c}finally{Aee(a)}},sP=async({anyProcess:t,methodName:e,isSubprocess:n,wrappedMessage:r,message:i})=>{const s=Nee(t);try{await Promise.all([$ee(r,t,n),s(r)])}catch(o){throw cee({error:o,methodName:e,isSubprocess:n}),uee({error:o,methodName:e,isSubprocess:n,message:i}),o}},Nee=t=>{if(o0.has(t))return o0.get(t);const e=N2(t.send.bind(t));return o0.set(t,e),e},o0=new WeakMap,Oee=(t,e)=>{const n="cancelSignal";return KI(n,!1,t.connected),sP({anyProcess:t,methodName:n,isSubprocess:!1,wrappedMessage:{type:aP,message:e},message:e})},Lee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>(await Fee({anyProcess:t,channel:e,isSubprocess:n,ipc:r}),a0.signal),Fee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>{if(!oP){if(oP=!0,!r){aee();return}if(e===null){cP();return}Zp(t,e,n),await iE.yield()}};let oP=!1;const Mee=t=>t?.type!==aP?!1:(a0.abort(t.message),!0),aP="execa:ipc:cancel",cP=()=>{a0.abort(oee())},a0=new AbortController,zee=({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.")}},Bee=({subprocess:t,cancelSignal:e,gracefulCancel:n,forceKillAfterDelay:r,context:i,controller:s})=>n?[qee({subprocess:t,cancelSignal:e,forceKillAfterDelay:r,context:i,controller:s})]:[],qee=async({subprocess:t,cancelSignal:e,forceKillAfterDelay:n,context:r,controller:{signal:i}})=>{await VI(e,i);const s=jee(e);throw await Oee(t,s),HI({kill:t.kill,forceKillAfterDelay:n,context:r,controllerSignal:i}),r.terminationReason??="gracefulCancel",e.reason},jee=({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},Uee=({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})`)},Gee=(t,e,n,r)=>e===0||e===void 0?[]:[Wee(t,e,n,r)],Wee=async(t,e,n,{signal:r})=>{throw await rE(e,void 0,{signal:r}),n.terminationReason??="timeout",t.kill(),new cd},Hee=({options:t})=>{if(t.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...t,node:!0}}},Vee=(t,e,{node:n=!1,nodePath:r=H2,nodeOptions:i=V2.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=Cb(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}]},Kee=({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`.");Jee[n](t)}},Yee=t=>{try{Q2(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:e})}},Xee=t=>{try{JSON.stringify(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:e})}},Jee={advanced:Yee,json:Xee},Zee=async(t,e)=>{e!==void 0&&await t.sendMessage(e)},Qee=({encoding:t})=>{if(c0.has(t))return;const e=tte(t);if(e!==void 0)throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
1796
- Please rename it to ${nm(e)}.`);const n=[...c0].map(r=>nm(r)).join(", ");throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
1797
- Please rename it to one of: ${n}.`)},ete=new Set(["utf8","utf16le"]),mo=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),c0=new Set([...ete,...mo]),tte=t=>{if(t===null)return"buffer";if(typeof t!="string")return;const e=t.toLowerCase();if(e in uP)return uP[e];if(c0.has(e))return e},uP={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},nm=t=>typeof t=="string"?`"${t}"`:String(t),nte=(t=lP())=>{const e=Cb(t,'The "cwd" option');return Jr.resolve(e)},lP=()=>{try{return Oe.cwd()}catch(t){throw t.message=`The current directory does not exist.
1798
- ${t.message}`,t}},rte=(t,e)=>{if(e===lP())return t;let n;try{n=D2(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}`},dP=(t,e,n)=>{n.cwd=nte(n.cwd);const[r,i,s]=Vee(t,e,n),{command:o,args:a,options:c}=DQ._parse(r,i,s),u=gZ(c),l=ite(u);return Uee(l),Qee(l),Kee(l),ZQ(l),zee(l),l.shell=nI(l.shell),l.env=ste(l),l.killSignal=zQ(l.killSignal),l.forceKillAfterDelay=HQ(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}},ite=({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}),ste=({env:t,extendEnv:e,preferLocal:n,node:r,localDirectory:i,nodePath:s})=>{const o=e?{...Oe.env,...t}:t;return n||r?kQ({env:o,cwd:i,execPath:s,preferLocal:n,addExecPath:r}):o};function u0(t){if(typeof t=="string")return ote(t);if(!(ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return ate(t)}const ote=t=>t.at(-1)===fP?t.slice(0,t.at(-2)===hP?-2:-1):t,ate=t=>t.at(-1)===cte?t.subarray(0,t.at(-2)===ute?-2:-1):t,fP=`
1802
- `,cte=fP.codePointAt(0),hP="\r",ute=hP.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 pP(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 mP(t,e){return pP(t,e)&&rm(t,e)}const lte=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);let dte=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 l0=Symbol();function gP(){return this[l0].next()}Object.defineProperty(gP,"name",{value:"next"});function yP(t){return this[l0].return(t)}Object.defineProperty(yP,"name",{value:"return"});const fte=Object.create(lte,{next:{enumerable:!0,configurable:!0,writable:!0,value:gP},return:{enumerable:!0,configurable:!0,writable:!0,value:yP}});function hte({preventCancel:t=!1}={}){const e=this.getReader(),n=new dte(e,t),r=Object.create(fte);return r[l0]=n,r}const pte=t=>{if(rm(t,{checkOpen:!1})&&d0.on!==void 0)return gte(t);if(typeof t?.[Symbol.asyncIterator]=="function")return t;if(mte.call(t)==="[object ReadableStream]")return hte.call(t);throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},{toString:mte}=Object.prototype,gte=async function*(t){const e=new AbortController,n={};yte(t,e,n);try{for await(const[r]of d0.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()}},yte=async(t,e,n)=>{try{await d0.finished(t,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(r){n.error=r}finally{e.abort()}},d0={},f0=async(t,{init:e,convertChunk:n,getSize:r,truncateChunk:i,addChunk:s,getFinalChunk:o,finalize:a},{maxBuffer:c=Number.POSITIVE_INFINITY}={})=>{const u=pte(t),l=e();l.length=0;try{for await(const d of u){const f=wte(d),h=n[f](d,l);vP({convertedChunk:h,state:l,getSize:r,truncateChunk:i,addChunk:s,maxBuffer:c})}return vte({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}},vte=({state:t,getSize:e,truncateChunk:n,addChunk:r,getFinalChunk:i,maxBuffer:s})=>{const o=i(t);o!==void 0&&vP({convertedChunk:o,state:t,getSize:e,truncateChunk:n,addChunk:r,maxBuffer:s})},vP=({convertedChunk:t,state:e,getSize:n,truncateChunk:r,addChunk:i,maxBuffer:s})=>{const o=n(t),a=e.length+o;if(a<=s){wP(t,e,i,a);return}const c=r(t,s-e.length);throw c!==void 0&&wP(c,e,i,s),new im},wP=(t,e,n,r)=>{e.contents=n(t,e,r),e.length=r},wte=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=bP.call(t);return n==="[object ArrayBuffer]"?"arrayBuffer":n==="[object DataView]"?"dataView":Number.isInteger(t.byteLength)&&Number.isInteger(t.byteOffset)&&bP.call(t.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:bP}=Object.prototype;class im extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}const yo=t=>t,h0=()=>{},EP=({contents:t})=>t,DP=t=>{throw new Error(`Streams in object mode are not supported: ${String(t)}`)},TP=t=>t.length;async function bte(t,e){return f0(t,Rte,e)}const Ete=()=>({contents:[]}),Dte=()=>1,Tte=(t,{contents:e})=>(e.push(t),e),Rte={init:Ete,convertChunk:{string:yo,buffer:yo,arrayBuffer:yo,dataView:yo,typedArray:yo,others:yo},getSize:Dte,truncateChunk:h0,addChunk:Tte,getFinalChunk:h0,finalize:EP};async function Ste(t,e){return f0(t,Nte,e)}const kte=()=>({contents:new ArrayBuffer(0)}),$te=t=>Cte.encode(t),Cte=new TextEncoder,RP=t=>new Uint8Array(t),SP=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),_te=(t,e)=>t.slice(0,e),Ate=(t,{contents:e,length:n},r)=>{const i=CP()?Ite(e,r):xte(e,r);return new Uint8Array(i).set(t,n),i},xte=(t,e)=>{if(e<=t.byteLength)return t;const n=new ArrayBuffer(kP(e));return new Uint8Array(n).set(new Uint8Array(t),0),n},Ite=(t,e)=>{if(e<=t.maxByteLength)return t.resize(e),t;const n=new ArrayBuffer(e,{maxByteLength:kP(e)});return new Uint8Array(n).set(new Uint8Array(t),0),n},kP=t=>$P**Math.ceil(Math.log(t)/Math.log($P)),$P=2,Pte=({contents:t,length:e})=>CP()?t:t.slice(0,e),CP=()=>"resize"in ArrayBuffer.prototype,Nte={init:kte,convertChunk:{string:$te,buffer:RP,arrayBuffer:RP,dataView:SP,typedArray:SP,others:DP},getSize:TP,truncateChunk:_te,addChunk:Ate,getFinalChunk:h0,finalize:Pte};async function Ote(t,e){return f0(t,Bte,e)}const Lte=()=>({contents:"",textDecoder:new TextDecoder}),sm=(t,{textDecoder:e})=>e.decode(t,{stream:!0}),Fte=(t,{contents:e})=>e+t,Mte=(t,e)=>t.slice(0,e),zte=({textDecoder:t})=>{const e=t.decode();return e===""?void 0:e},Bte={init:Lte,convertChunk:{string:yo,buffer:sm,arrayBuffer:sm,dataView:sm,typedArray:sm,others:DP},getSize:TP,truncateChunk:Mte,addChunk:Fte,getFinalChunk:zte,finalize:EP},qte=({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=jte(n,r,i);throw t.maxBufferInfo={fdNumber:s,unit:o},e.destroy(),t},jte=(t,e,n)=>t?"objects":e?"lines":n==="buffer"?"bytes":"characters",Ute=(t,e,n)=>{if(e.length!==n)return;const r=new im;throw r.maxBufferInfo={fdNumber:"ipc"},r},Gte=(t,e)=>{const{streamName:n,threshold:r,unit:i}=Wte(t,e);return`Command's ${n} was larger than ${r} ${i}`},Wte=(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=od(e,n);return n==="ipc"?{streamName:"IPC output",threshold:i,unit:"messages"}:{streamName:dI(n),threshold:i,unit:r}},Hte=(t,e,n)=>t?.code==="ENOBUFS"&&e!==null&&e.some(r=>r!==null&&r.length>p0(n)),Vte=(t,e,n)=>{if(!e)return t;const r=p0(n);return t.length>r?t.slice(0,r):t},p0=([,t])=>t,Kte=({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:y,cwd:g})=>{const w=r?.code,E=Yte({originalError:r,timedOut:c,timeout:y,isMaxBuffer:d,maxBuffer:m,errorCode:w,signal:i,signalDescription:s,exitCode:o,isCanceled:u,isGracefullyCanceled:l,isForcefullyTerminated:f,forceKillAfterDelay:h,killSignal:p}),k=Jte(r,g),_=k===void 0?"":`
1803
- ${k}`,I=`${E}: ${a}${_}`,x=e===void 0?[t[2],t[1]]:[e],A=[I,...x,...t.slice(3),n.map(P=>Zte(P)).join(`
1804
- `)].map(P=>Lb(u0(Qte(P)))).filter(Boolean).join(`
1805
-
1806
- `);return{originalMessage:k,shortMessage:I,message:A}},Yte=({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=Xte(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?`${Gte(t,i)}${p}`:s!==void 0?`Command failed with ${s}${p}`:d?`Command was killed with ${h} (${WI(h)})${p}`:o!==void 0?`Command was killed with ${o} (${a})`:c!==void 0?`Command failed with exit code ${c}`:"Command failed"},Xte=(t,e)=>t?` and was forcefully terminated after ${e} milliseconds`:"",Jte=(t,e)=>{if(t instanceof cd)return;const n=CQ(t)?t.originalMessage:String(t?.message??t),r=Lb(rte(n,e));return r===""?void 0:r},Zte=t=>typeof t=="string"?t:Q0(t),Qte=t=>Array.isArray(t)?t.map(e=>u0(_P(e))).filter(Boolean).join(`
1807
- `):_P(t),_P=t=>typeof t=="string"?t:Dr(t)?oI(t):"",AP=({command:t,escapedCommand:e,stdio:n,all:r,ipcOutput:i,options:{cwd:s},startTime:o})=>xP({command:t,escapedCommand:e,cwd:s,durationMs:DI(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:[]}),m0=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:o})=>g0({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}),g0=({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:y,killSignal:g,cwd:w,maxBuffer:E},isSync:k})=>{const{exitCode:_,signal:I,signalDescription:x}=tne(u,l),{originalMessage:A,shortMessage:P,message:O}=Kte({stdio:d,all:f,ipcOutput:h,originalError:t,signal:I,signalDescription:x,exitCode:_,escapedCommand:n,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:y,killSignal:g,maxBuffer:E,timeout:m,cwd:w}),C=$Q(t,O,k);return Object.assign(C,ene({error:C,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:_,signal:I,signalDescription:x,stdio:d,all:f,ipcOutput:h,cwd:w,originalMessage:A,shortMessage:P})),C},ene=({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:y,shortMessage:g})=>xP({shortMessage:g,originalMessage:y,command:e,escapedCommand:n,cwd:m,durationMs:DI(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:[]}),xP=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),tne=(t,e)=>{const n=t===null?void 0:t,r=e===null?void 0:e,i=r===void 0?void 0:WI(e);return{exitCode:n,signal:r,signalDescription:i}},IP=t=>Number.isFinite(t)?t:0;function nne(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(IP(t*1e3)%1e3),nanoseconds:Math.trunc(IP(t*1e6)%1e3)}}function rne(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 ine(t){switch(typeof t){case"number":{if(Number.isFinite(t))return nne(t);break}case"bigint":return rne(t)}throw new TypeError("Expected a finite number or bigint")}const sne=t=>t===0||t===0n,one=(t,e)=>e===1||e===1n?t:`${t}s`,ane=1e-7,cne=24n*60n*60n*1000n;function PP(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+ane);return(Math.round(f)/10**d).toFixed(d)},o=(l,d,f,h)=>{if(!((i.length===0||!e.colonNotation)&&sne(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?" "+one(d,l):f;i.push(h)}},a=ine(t),c=BigInt(a.days);if(e.hideYearAndDays?o(BigInt(c)*24n+BigInt(a.hours),"hour","h"):(e.hideYear?o(c,"day","d"):(o(c/365n,"year","y"),o(c%365n,"day","d")),o(Number(a.hours),"hour","h")),o(Number(a.minutes),"minute","m"),!e.hideSeconds)if(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,y=p>=1?Math.round(p):Math.ceil(p),g=m?p.toFixed(m):y;o(Number.parseFloat(g),"millisecond","ms",g)}}else{const l=(n?Number(t%cne):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 une=(t,e)=>{t.failed&&ad({type:"error",verboseMessage:t.shortMessage,verboseInfo:e,result:t})},lne=(t,e)=>{xb(e)&&(une(t,e),dne(t,e))},dne=(t,e)=>{const n=`(done in ${PP(t.durationMs)})`;ad({type:"duration",verboseMessage:n,verboseInfo:e,result:t})},y0=(t,e,{reject:n})=>{if(lne(t,e),t.failed&&n)throw t;return t},fne=(t,e)=>xa(t)?"asyncGenerator":MP(t)?"generator":w0(t)?"fileUrl":vne(t)?"filePath":Ene(t)?"webStream":go(t,{checkOpen:!1})?"native":Dr(t)?"uint8Array":Dne(t)?"asyncIterable":Tne(t)?"iterable":E0(t)?NP({transform:t},e):gne(t)?hne(t,e):"native",hne=(t,e)=>mP(t.transform,{checkOpen:!1})?pne(t,e):E0(t.transform)?NP(t,e):mne(t,e),pne=(t,e)=>(OP(t,e,"Duplex stream"),"duplex"),NP=(t,e)=>(OP(t,e,"web TransformStream"),"webTransform"),OP=({final:t,binary:e,objectMode:n},r,i)=>{LP(t,`${r}.final`,i),LP(e,`${r}.binary`,i),v0(n,`${r}.objectMode`)},LP=(t,e,n)=>{if(t!==void 0)throw new TypeError(`The \`${e}\` option can only be defined when using a generator, not a ${n}.`)},mne=({transform:t,final:e,binary:n,objectMode:r},i)=>{if(t!==void 0&&!FP(t))throw new TypeError(`The \`${i}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(mP(e,{checkOpen:!1}))throw new TypeError(`The \`${i}.final\` option must not be a Duplex stream.`);if(E0(e))throw new TypeError(`The \`${i}.final\` option must not be a web TransformStream.`);if(e!==void 0&&!FP(e))throw new TypeError(`The \`${i}.final\` option must be a generator.`);return v0(n,`${i}.binary`),v0(r,`${i}.objectMode`),xa(t)||xa(e)?"asyncGenerator":"generator"},v0=(t,e)=>{if(t!==void 0&&typeof t!="boolean")throw new TypeError(`The \`${e}\` option must use a boolean.`)},FP=t=>xa(t)||MP(t),xa=t=>Object.prototype.toString.call(t)==="[object AsyncGeneratorFunction]",MP=t=>Object.prototype.toString.call(t)==="[object GeneratorFunction]",gne=t=>nr(t)&&(t.transform!==void 0||t.final!==void 0),w0=t=>Object.prototype.toString.call(t)==="[object URL]",yne=t=>w0(t)&&t.protocol!=="file:",vne=t=>nr(t)&&Object.keys(t).length===1&&zP(t.file),zP=t=>typeof t=="string",wne=(t,e)=>t==="native"&&typeof e=="string"&&!bne.has(e),bne=new Set(["ipc","ignore","inherit","overlapped","pipe"]),BP=t=>Object.prototype.toString.call(t)==="[object ReadableStream]",b0=t=>Object.prototype.toString.call(t)==="[object WritableStream]",Ene=t=>BP(t)||b0(t),E0=t=>BP(t?.readable)&&b0(t?.writable),Dne=t=>qP(t)&&typeof t[Symbol.asyncIterator]=="function",Tne=t=>qP(t)&&typeof t[Symbol.iterator]=="function",qP=t=>typeof t=="object"&&t!==null,vo=new Set(["generator","asyncGenerator","duplex","webTransform"]),jP=new Set(["fileUrl","filePath","fileNumber"]),UP=new Set(["fileUrl","filePath"]),Rne=new Set([...UP,"webStream","nodeStream"]),Sne=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"},GP=(t,e,n,r)=>r==="output"?kne(t,e,n):$ne(t,e,n),kne=(t,e,n)=>{const r=e!==0&&n[e-1].value.readableObjectMode;return{writableObjectMode:r,readableObjectMode:t??r}},$ne=(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}},Cne=(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)),...Ane(t,e,n,r)],Ane=(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]=xne({stdioItem:a,index:Number(o),newTransforms:s,optionName:e,direction:n,encoding:r});return One(s,n)},xne=({stdioItem:t,stdioItem:{type:e},index:n,newTransforms:r,optionName:i,direction:s,encoding:o})=>e==="duplex"?Ine({stdioItem:t,optionName:i}):e==="webTransform"?Pne({stdioItem:t,index:n,newTransforms:r,direction:s}):Nne({stdioItem:t,index:n,newTransforms:r,direction:s,encoding:o}),Ine=({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}}},Pne=({stdioItem:t,stdioItem:{value:e},index:n,newTransforms:r,direction:i})=>{const{transform:s,objectMode:o}=nr(e)?e:{transform:e},{writableObjectMode:a,readableObjectMode:c}=GP(o,n,r,i);return{...t,value:{transform:s,writableObjectMode:a,readableObjectMode:c}}},Nne=({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}=nr(e)?e:{transform:e},d=c||mo.has(s),{writableObjectMode:f,readableObjectMode:h}=GP(l,n,r,i);return{...t,value:{transform:o,final:a,binary:d,preserveNewlines:u,writableObjectMode:f,readableObjectMode:h}}},One=(t,e)=>e==="input"?t.reverse():t,Lne=(t,e,n)=>{const r=t.map(i=>Fne(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)??Bne},Fne=({type:t,value:e},n)=>Mne[n]??WP[t](e),Mne=["input","output","output"],Ia=()=>{},D0=()=>"input",WP={generator:Ia,asyncGenerator:Ia,fileUrl:Ia,filePath:Ia,iterable:D0,asyncIterable:D0,uint8Array:D0,webStream:t=>b0(t)?"output":"input",nodeStream(t){return rm(t,{checkOpen:!1})?pP(t,{checkOpen:!1})?void 0:"input":"output"},webTransform:Ia,duplex:Ia,native(t){const e=zne(t);if(e!==void 0)return e;if(go(t,{checkOpen:!1}))return WP.nodeStream(t)}},zne=t=>{if([0,Oe.stdin].includes(t))return"input";if([1,2,Oe.stdout,Oe.stderr].includes(t))return"output"},Bne="output",qne=(t,e)=>e&&!t.includes("ipc")?[...t,"ipc"]:t,jne=({stdio:t,ipc:e,buffer:n,...r},i,s)=>{const o=Une(t,r).map((a,c)=>HP(a,c));return s?Wne(o,n,i):qne(o,e)},Une=(t,e)=>{if(t===void 0)return Vr.map(r=>e[r]);if(Gne(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])},Gne=t=>Vr.some(e=>t[e]!==void 0),HP=(t,e)=>Array.isArray(t)?t.map(n=>HP(n,e)):t??(e>=Vr.length?"ignore":"pipe"),Wne=(t,e,n)=>t.map((r,i)=>!e[i]&&i!==0&&!Ib(n,i)&&Hne(r)?"ignore":r),Hne=t=>t==="pipe"||Array.isArray(t)&&t.every(e=>e==="pipe"),Vne=({stdioItem:t,stdioItem:{type:e},isStdioArray:n,fdNumber:r,direction:i,isSync:s})=>!n||e!=="native"?t:s?Kne({stdioItem:t,fdNumber:r,direction:i}):Jne({stdioItem:t,fdNumber:r}),Kne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r,direction:i})=>{const s=Yne({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},Yne=({value:t,optionName:e,fdNumber:n,direction:r})=>{const i=Xne(t,n);if(i!==void 0){if(r==="output")return{type:"fileNumber",value:i,optionName:e};if(eE.isatty(i))throw new TypeError(`The \`${e}: ${n0(t)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:sd(mm(i)),optionName:e}}},Xne=(t,e)=>{if(t==="inherit")return e;if(typeof t=="number")return t;const n=Ab.indexOf(t);if(n!==-1)return n},Jne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r})=>e==="inherit"?{type:"nodeStream",value:VP(r,e,n),optionName:n}:typeof e=="number"?{type:"nodeStream",value:VP(e,e,n),optionName:n}:go(e,{checkOpen:!1})?{type:"nodeStream",value:e,optionName:n}:t,VP=(t,e,n)=>{const r=Ab[t];if(r===void 0)throw new TypeError(`The \`${n}: ${e}\` option is invalid: no such standard stream.`);return r},Zne=({input:t,inputFile:e},n)=>n===0?[...Qne(t),...tre(e)]:[],Qne=t=>t===void 0?[]:[{type:ere(t),value:t,optionName:"input"}],ere=t=>{if(rm(t,{checkOpen:!1}))return"nodeStream";if(typeof t=="string")return"string";if(Dr(t))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},tre=t=>t===void 0?[]:[{...nre(t),optionName:"inputFile"}],nre=t=>{if(w0(t))return{type:"fileUrl",value:t};if(zP(t))return{type:"filePath",value:{file:t}};throw new Error("The `inputFile` option must be a file path string or a file URL.")},rre=t=>t.filter((e,n)=>t.every((r,i)=>e.value!==r.value||n>=i||e.type==="generator"||e.type==="asyncGenerator")),ire=({stdioItem:{type:t,value:e,optionName:n},direction:r,fileDescriptors:i,isSync:s})=>{const o=sre(i,t);if(o.length!==0){if(s){ore({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});return}if(Rne.has(t))return KP({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});Sne.has(t)&&cre({otherStdioItems:o,type:t,value:e,optionName:n})}},sre=(t,e)=>t.flatMap(({direction:n,stdioItems:r})=>r.filter(i=>i.type===e).map(i=>({...i,direction:n}))),ore=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{UP.has(e)&&KP({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})},KP=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{const s=t.filter(a=>are(a,n));if(s.length===0)return;const o=s.find(a=>a.direction!==i);return YP(o,r,e),i==="output"?s[0].stream:void 0},are=({type:t,value:e},n)=>t==="filePath"?e.file===n.file:t==="fileUrl"?e.href===n.href:e===n,cre=({otherStdioItems:t,type:e,value:n,optionName:r})=>{const i=t.find(({value:{transform:s}})=>s===n.transform);YP(i,r,e)},YP=(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.`)},XP=(t,e,n,r)=>{const s=jne(e,n,r).map((a,c)=>ure({stdioOption:a,fdNumber:c,options:e,isSync:r})),o=yre({initialFileDescriptors:s,addProperties:t,options:e,isSync:r});return e.stdio=o.map(({stdioItems:a})=>bre(a)),o},ure=({stdioOption:t,fdNumber:e,options:n,isSync:r})=>{const i=dI(e),{stdioItems:s,isStdioArray:o}=lre({stdioOption:t,fdNumber:e,options:n,optionName:i}),a=Lne(s,e,i),c=s.map(d=>Vne({stdioItem:d,isStdioArray:o,fdNumber:e,direction:a,isSync:r})),u=_ne(c,i,a,n),l=Cne(u,a);return gre(u,l),{direction:a,objectMode:l,stdioItems:u}},lre=({stdioOption:t,fdNumber:e,options:n,optionName:r})=>{const s=[...(Array.isArray(t)?t:[t]).map(c=>dre(c,r)),...Zne(n,e)],o=rre(s),a=o.length>1;return fre(o,a,r),pre(o),{stdioItems:o,isStdioArray:a}},dre=(t,e)=>({type:fne(t,e),value:t,optionName:e}),fre=(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(hre.has(r))throw new Error(`The \`${i}\` option must not include \`${r}\`.`)}},hre=new Set(["ignore","ipc"]),pre=t=>{for(const e of t)mre(e)},mre=({type:t,value:e,optionName:n})=>{if(yne(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(wne(t,e))throw new TypeError(`The \`${n}: { file: '...' }\` option must be used instead of \`${n}: '...'\`.`)},gre=(t,e)=>{if(!e)return;const n=t.find(({type:r})=>jP.has(r));if(n!==void 0)throw new TypeError(`The \`${n.optionName}\` option cannot use both files and transforms in objectMode.`)},yre=({initialFileDescriptors:t,addProperties:e,options:n,isSync:r})=>{const i=[];try{for(const s of t)i.push(vre({fileDescriptor:s,fileDescriptors:i,addProperties:e,options:n,isSync:r}));return i}catch(s){throw JP(i),s}},vre=({fileDescriptor:{direction:t,objectMode:e,stdioItems:n},fileDescriptors:r,addProperties:i,options:s,isSync:o})=>{const a=n.map(c=>wre({stdioItem:c,addProperties:i,direction:t,options:s,fileDescriptors:r,isSync:o}));return{direction:t,objectMode:e,stdioItems:a}},wre=({stdioItem:t,addProperties:e,direction:n,options:r,fileDescriptors:i,isSync:s})=>{const o=ire({stdioItem:t,direction:n,fileDescriptors:i,isSync:s});return o!==void 0?{...t,stream:o}:{...t,...e[n][t.type](t,r)}},JP=t=>{for(const{stdioItems:e}of t)for(const{stream:n}of e)n!==void 0&&!fo(n)&&n.destroy()},bre=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"},Ere=(t,e)=>XP(Tre,t,e,!0),Kr=({type:t,optionName:e})=>{ZP(e,om[t])},Dre=({optionName:t,value:e})=>((e==="ipc"||e==="overlapped")&&ZP(t,`"${e}"`),{}),ZP=(t,e)=>{throw new TypeError(`The \`${t}\` option cannot be ${e} with synchronous methods.`)},QP={generator(){},asyncGenerator:Kr,webStream:Kr,nodeStream:Kr,webTransform:Kr,duplex:Kr,asyncIterable:Kr,native:Dre},Tre={input:{...QP,fileUrl:({value:t})=>({contents:[sd(mm(t))]}),filePath:({value:{file:t}})=>({contents:[sd(mm(t))]}),fileNumber:Kr,iterable:({value:t})=>({contents:[...t]}),string:({value:t})=>({contents:[t]}),uint8Array:({value:t})=>({contents:[t]})},output:{...QP,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)=>eN(e,n)&&t!==void 0&&!Array.isArray(t)?u0(t):t,eN=(t,e)=>e==="all"?t[1]||t[2]:t[e],tN=(t,e,n,r)=>t||n?void 0:iN(e,r),nN=(t,e,n)=>n?t.flatMap(r=>rN(r,e)):rN(t,e),rN=(t,e)=>{const{transform:n,final:r}=iN(e,{});return[...n(t),...r()]},iN=(t,e)=>(e.previousChunks="",{transform:Rre.bind(void 0,e,t),final:kre.bind(void 0,e)}),Rre=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=Sre(n,s,e,t);let a=n.slice(i+1,s+1-o);r.length>0&&(a=T0(r,a),r=""),yield a,i=s}i!==n.length-1&&(r=T0(r,n.slice(i+1))),t.previousChunks=r},Sre=(t,e,n,r)=>n?0:(r.isWindowsNewline=e!==0&&t[e-1]==="\r",r.isWindowsNewline?2:1),kre=function*({previousChunks:t}){t.length>0&&(yield t)},$re=({binary:t,preserveNewlines:e,readableObjectMode:n,state:r})=>t||e||n?void 0:{transform:Cre.bind(void 0,r)},Cre=function*({isWindowsNewline:t=!1},e){const{unixNewline:n,windowsNewline:r,LF:i,concatBytes:s}=typeof e=="string"?_re:xre;if(e.at(-1)===i){yield e;return}yield s(e,t?r:n)},T0=(t,e)=>`${t}${e}`,_re={windowsNewline:`\r
1810
- `,unixNewline:`
1811
- `,LF:`
1812
- `,concatBytes:T0},Are=(t,e)=>{const n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n},xre={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Are},Ire=(t,e)=>t?void 0:Pre.bind(void 0,e),Pre=function*(t,e){if(typeof e!="string"&&!Dr(e)&&!Em.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Nre=(t,e)=>t?Ore.bind(void 0,e):Lre.bind(void 0,e),Ore=function*(t,e){sN(t,e),yield e},Lre=function*(t,e){if(sN(t,e),typeof e!="string"&&!Dr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},sN=(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; }`)},oN=(t,e,n)=>{if(n)return;if(t)return{transform:Fre.bind(void 0,new TextEncoder)};const r=new nE(e);return{transform:Mre.bind(void 0,r),final:zre.bind(void 0,r)}},Fre=function*(t,e){Em.isBuffer(e)?yield sd(e):typeof e=="string"?yield t.encode(e):yield e},Mre=function*(t,e){yield Dr(e)?t.write(e):e},zre=function*(t){const e=t.end();e!==""&&(yield e)},aN=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}}),R0=async function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=Ure}=e[n];for await(const i of r(t))yield*R0(i,e,n+1)},Bre=async function*(t){for(const[e,{final:n}]of Object.entries(t))yield*qre(n,Number(e),t)},qre=async function*(t,e,n){if(t!==void 0)for await(const r of t())yield*R0(r,n,e+1)},jre=Do(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),Ure=function*(t){yield t},cN=(t,e,n,r)=>{try{for(const i of t(...e))n.push(i);r()}catch(i){r(i)}},Gre=(t,e)=>[...e.flatMap(n=>[...fd(n,t,0)]),...S0(t)],fd=function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=Hre}=e[n];for(const i of r(t))yield*fd(i,e,n+1)},S0=function*(t){for(const[e,{final:n}]of Object.entries(t))yield*Wre(n,Number(e),t)},Wre=function*(t,e,n){if(t!==void 0)for(const r of t())yield*fd(r,n,e+1)},Hre=function*(t){yield t},uN=({value:t,value:{transform:e,final:n,writableObjectMode:r,readableObjectMode:i},optionName:s},{encoding:o})=>{const a={},c=dN(t,o,s),u=xa(e),l=xa(n),d=u?aN.bind(void 0,R0,a):cN.bind(void 0,fd),f=u||l?aN.bind(void 0,Bre,a):cN.bind(void 0,S0),h=u||l?jre.bind(void 0,a):void 0;return{stream:new eO({writableObjectMode:r,writableHighWaterMark:Ed(r),readableObjectMode:i,readableHighWaterMark:Ed(i),transform(m,y,g){d([m,c,0],this,g)},flush(m){f([c],this,m)},destroy:h})}},lN=(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=dN(o,n,a);t=Gre(c,t)}return t},dN=({transform:t,final:e,binary:n,writableObjectMode:r,readableObjectMode:i,preserveNewlines:s},o,a)=>{const c={};return[{transform:Ire(r,a)},oN(n,o,r),tN(n,s,r,c),{transform:t,final:e},{transform:Nre(i,a)},$re({binary:n,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)},Vre=(t,e)=>{for(const n of Kre(t))Yre(t,n,e)},Kre=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Yre=(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=>Xre(a,r));n.input=_b(o)},Xre=(t,e)=>{const n=lN(t,e,"utf8",!0);return Jre(n),_b(n)},Jre=t=>{const e=t.find(n=>typeof n!="string"&&!Dr(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}.`)},fN=({stdioItems:t,encoding:e,verboseInfo:n,fdNumber:r})=>r!=="all"&&Ib(n,r)&&!mo.has(e)&&Zre(r)&&(t.some(({type:i,value:s})=>i==="native"&&Qre.has(s))||t.every(({type:i})=>vo.has(i))),Zre=t=>t===1||t===2,Qre=new Set(["pipe","overlapped"]),eie=async(t,e,n,r)=>{for await(const i of t)nie(e)||hN(i,n,r)},tie=(t,e,n)=>{for(const r of t)hN(r,e,n)},nie=t=>t._readableState.pipes.length>0,hN=(t,e,n)=>{const r=bI(t);ad({type:"output",verboseMessage:r,fdNumber:e,verboseInfo:n})},rie=({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)=>iie({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:r,verboseInfo:i},n)),...s}},iie=({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=Vte(t,s,d),h=sd(f),{stdioItems:p,objectMode:m}=e[n],y=sie([h],p,c,r),{serializedResult:g,finalResult:w=g}=oie({chunks:y,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:n});aie({serializedResult:g,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&&cie(g,p,i),E}catch(k){return r.error=k,E}},sie=(t,e,n,r)=>{try{return lN(t,e,n,!1)}catch(i){return r.error=i,t}},oie=({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=oZ(t,n);return r[s]?{serializedResult:o,finalResult:nN(o,!i[s],e)}:{serializedResult:o}},aie=({serializedResult:t,fdNumber:e,state:n,verboseInfo:r,encoding:i,stdioItems:s,objectMode:o})=>{if(!fN({stdioItems:s,encoding:i,verboseInfo:r,fdNumber:e}))return;const a=nN(t,!1,o);try{tie(a,e,r)}catch(c){n.error??=c}},cie=(t,e,n)=>{for(const{path:r}of e.filter(({type:i})=>jP.has(i))){const i=typeof r=="string"?r:r.toString();n.has(i)?T2(r,t):(n.add(i),Y0(r,t))}},uie=([,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]:Dr(t)&&Dr(e)?aI([t,e]):`${t}${e}`},lie=async(t,e)=>{const[n,r]=await die(t);return e.isForcefullyTerminated??=!1,[n,r]},die=async t=>{const[e,n]=await Promise.allSettled([bn(t,"spawn"),bn(t,"exit")]);return e.status==="rejected"?[]:n.status==="rejected"?pN(t):n.value},pN=async t=>{try{return await bn(t,"exit")}catch{return pN(t)}},fie=async t=>{const[e,n]=await t;if(!hie(e,n)&&mN(e,n))throw new cd;return[e,n]},hie=(t,e)=>t===void 0&&e===void 0,mN=(t,e)=>t!==0||e!==null,pie=({error:t,status:e,signal:n,output:r},{maxBuffer:i})=>{const s=mie(t,e,n),o=s?.code==="ETIMEDOUT",a=Hte(s,r,i);return{resultError:s,exitCode:e,signal:n,timedOut:o,isMaxBuffer:a}},mie=(t,e,n)=>t!==void 0?t:mN(e,n)?new cd:void 0,gie=(t,e,n)=>{const{file:r,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=yie(t,e,n),d=bie({file:r,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return y0(d,c,u)},yie=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=TI(t,e,n),a=vie(n),{file:c,commandArguments:u,options:l}=dP(t,e,a);wie(l);const d=Ere(l,o);return{file:c,commandArguments:u,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},vie=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,wie=({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.`)},bie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{const c=Eie({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}=pie(c,n),{output:p,error:m=u}=rie({fileDescriptors:o,syncResult:c,options:n,isMaxBuffer:h,verboseInfo:s}),y=p.map((w,E)=>Pa(w,n,E)),g=Pa(uie(p,n),n,"all");return Tie({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:h,stdio:y,all:g,options:n,command:r,escapedCommand:i,startTime:a})},Eie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Vre(s,n);const a=Die(n);return K2(t,e,a)}catch(a){return m0({error:a,command:r,escapedCommand:i,fileDescriptors:s,options:n,startTime:o,isSync:!0})}},Die=({encoding:t,maxBuffer:e,...n})=>({...n,encoding:"buffer",maxBuffer:p0(e)}),Tie=({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?AP({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):g0({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}),Rie=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0,filter:s}={})=>(Qb({methodName:"getOneMessage",isSubprocess:n,ipc:r,isConnected:nP(t)}),Sie({anyProcess:t,channel:e,isSubprocess:n,filter:s,reference:i})),Sie=async({anyProcess:t,channel:e,isSubprocess:n,filter:r,reference:i})=>{eP(e,i);const s=Zp(t,e,n),o=new AbortController;try{return await Promise.race([kie(s,r,o),$ie(s,n,o),Cie(s,n,o)])}catch(a){throw e0(t),a}finally{o.abort(),tP(e,i)}},kie=async(t,e,{signal:n})=>{if(e===void 0){const[r]=await bn(t,"message",{signal:n});return r}for await(const[r]of bd(t,"message",{signal:n}))if(e(r))return r},$ie=async(t,e,{signal:n})=>{await bn(t,"disconnect",{signal:n}),nee(e)},Cie=async(t,e,{signal:n})=>{const[r]=await bn(t,"strict:error",{signal:n});throw YI(r,e)},_ie=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0}={})=>gN({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:!n,reference:i}),gN=({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:i,reference:s})=>{Qb({methodName:"getEachMessage",isSubprocess:n,ipc:r,isConnected:nP(t)}),eP(e,s);const o=Zp(t,e,n),a=new AbortController,c={};return Aie(t,o,a),xie({ipcEmitter:o,isSubprocess:n,controller:a,state:c}),Iie({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:n,shouldAwait:i,controller:a,state:c,reference:s})},Aie=async(t,e,n)=>{try{await bn(e,"disconnect",{signal:n.signal}),n.abort()}catch{}},xie=async({ipcEmitter:t,isSubprocess:e,controller:n,state:r})=>{try{const[i]=await bn(t,"strict:error",{signal:n.signal});r.error=YI(i,e),n.abort()}catch{}},Iie=async function*({anyProcess:t,channel:e,ipcEmitter:n,isSubprocess:r,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(const[c]of bd(n,"message",{signal:s.signal}))yN(o),yield c}catch{yN(o)}finally{s.abort(),tP(e,a),r||e0(t),i&&await t}},yN=({error:t})=>{if(t)throw t},Pie=(t,{ipc:e})=>{Object.assign(t,vN(t,!1,e))},Nie=()=>{const t=Oe,e=!0,n=Oe.channel!==void 0;return{...vN(t,e,n),getCancelSignal:Lee.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n})}},vN=(t,e,n)=>({sendMessage:iP.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n}),getOneMessage:Rie.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})}),Oie=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,verboseInfo:o})=>{JP(r);const a=new tE;Lie(a,r),Object.assign(a,{readable:Fie,writable:Mie,duplex:zie});const c=m0({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:!1}),u=Bie(c,o,i);return{subprocess:a,promise:u}},Lie=(t,e)=>{const n=hd(),r=hd(),i=hd(),s=Array.from({length:e.length-3},hd),o=hd(),a=[n,r,i,...s];Object.assign(t,{stdin:n,stdout:r,stderr:i,all:o,stdio:a})},hd=()=>{const t=new oE;return t.end(),t},Fie=()=>new Es({read(){}}),Mie=()=>new wm({write(){}}),zie=()=>new bm({read(){},write(){}}),Bie=async(t,e,n)=>y0(t,e,n),qie=(t,e)=>XP(jie,t,e,!1),pd=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${om[t]}.`)},wN={fileNumber:pd,generator:uN,asyncGenerator:uN,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(){}},jie={input:{...wN,fileUrl:({value:t})=>({stream:X0(t)}),filePath:({value:{file:t}})=>({stream:X0(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:{...wN,fileUrl:({value:t})=>({stream:J0(t)}),filePath:({value:{file:t}})=>({stream:J0(t)}),webStream:({value:t})=>({stream:wm.fromWeb(t)}),iterable:pd,asyncIterable:pd,string:pd,uint8Array:pd}};function k0(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(const i of t)$0(i);const e=t.some(({readableObjectMode:i})=>i),n=Uie(t,e),r=new Gie({objectMode:e,writableHighWaterMark:n,readableHighWaterMark:n});for(const i of t)r.add(i);return r}const Uie=(t,e)=>{if(t.length===0)return Ed(e);const n=t.filter(({readableObjectMode:r})=>r===e).map(({readableHighWaterMark:r})=>r);return Math.max(...n)};class Gie extends oE{#e=new Set([]);#t=new Set([]);#n=new Set([]);#r;#s=Symbol("unpipe");#i=new WeakMap;add(e){if($0(e),this.#e.has(e))return;this.#e.add(e),this.#r??=Wie(this,this.#e,this.#s);const n=Kie({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($0(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 Wie=async(t,e,n)=>{cm(t,TN);const r=new AbortController;try{await Promise.race([Hie(t,r),Vie(t,e,n,r)])}finally{r.abort(),cm(t,-TN)}},Hie=async(t,{signal:e})=>{try{await Pi(t,{signal:e,cleanup:!0})}catch(n){throw bN(t,n),n}},Vie=async(t,e,n,{signal:r})=>{for await(const[i]of bd(t,"unpipe",{signal:r}))e.has(i)&&i.emit(n)},$0=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Kie=async({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,onFinished:s,unpipeEvent:o})=>{cm(t,RN);const a=new AbortController;try{await Promise.race([Yie(s,e,a),Xie({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,controller:a}),Jie({stream:e,streams:n,ended:r,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),cm(t,-RN)}n.size>0&&n.size===r.size+i.size&&(r.size===0&&i.size>0?C0(t):Zie(t))},Yie=async(t,e,{signal:n})=>{try{await t,n.aborted||C0(e)}catch(r){n.aborted||bN(e,r)}},Xie=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;EN(o)?i.add(e):DN(t,o)}},Jie=async({stream:t,streams:e,ended:n,aborted:r,unpipeEvent:i,controller:{signal:s}})=>{if(await bn(t,i,{signal:s}),!t.readable)return bn(s,"abort",{signal:s});e.delete(t),n.delete(t),r.delete(t)},Zie=t=>{t.writable&&t.end()},bN=(t,e)=>{EN(e)?C0(t):DN(t,e)},EN=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",C0=t=>{(t.readable||t.writable)&&t.destroy()},DN=(t,e)=>{t.destroyed||(t.once("error",Qie),t.destroy(e))},Qie=()=>{},cm=(t,e)=>{const n=t.getMaxListeners();n!==0&&n!==Number.POSITIVE_INFINITY&&t.setMaxListeners(n+e)},TN=2,RN=1,um=(t,e)=>{t.pipe(e),ese(t,e),tse(t,e)},ese=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(t,{cleanup:!0,readable:!0,writable:!1})}catch{}SN(e)}},SN=t=>{t.writable&&t.end()},tse=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(e,{cleanup:!0,readable:!1,writable:!0})}catch{}kN(t)}},kN=t=>{t.readable&&t.destroy()},nse=(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)))rse(t,a,o,i);for(const{stream:a}of s.filter(({type:c})=>!vo.has(c)))sse({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]:k0(s);um(o,i)}},rse=(t,e,n,r)=>{n==="output"?um(t.stdio[r],e):um(e,t.stdio[r]);const i=ise[r];i!==void 0&&(t[i]=e),t.stdio[r]=e},ise=["stdin","stdout","stderr"],sse=({subprocess:t,stream:e,direction:n,fdNumber:r,pipeGroups:i,controller:s})=>{if(e===void 0)return;ose(e,s);const[o,a]=n==="output"?[e,t.stdio[r]]:[t.stdio[r],e],c=i.get(o)??[];i.set(o,[...c,a])},ose=(t,{signal:e})=>{fo(t)&&Xp(t,ase,e)},ase=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"),A0=globalThis,cse=Object.defineProperty.bind(Object);class use{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(A0[_0])return A0[_0];cse(A0,_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 $N{}const lse=t=>({onExit(e,n){return t.onExit(e,n)},load(){return t.load()},unload(){return t.unload()}});class dse extends $N{onExit(){return()=>{}}load(){}unload(){}}class fse extends $N{#e=x0.platform==="win32"?"SIGINT":"SIGHUP";#t=new use;#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 x0=globalThis.process,{onExit:hse,load:nce,unload:rce}=lse(lm(x0)?new fse(x0):new dse),pse=(t,{cleanup:e,detached:n},{signal:r})=>{if(!e||n)return;const i=hse(()=>{t.kill()});sE(r,()=>{i()})},mse=({source:t,sourcePromise:e,boundOptions:n,createNested:r},...i)=>{const s=EI(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=gse(n,r,i),{sourceStream:d,sourceError:f}=vse(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}},gse=(t,e,n)=>{try{const{destination:r,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=yse(t,e,...n),a=XI(r,s);return{destination:r,destinationStream:a,from:i,unpipeSignal:o}}catch(r){return{destinationError:r}}},yse=(t,e,n,...r)=>{if(Array.isArray(n))return{destination:e(CN,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]=rI(n,...r);return{destination:e(CN)(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}`)},CN=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),vse=(t,e)=>{try{return{sourceStream:t0(t,e)}}catch(n){return{sourceError:n}}},wse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r,fileDescriptors:i,sourceOptions:s,startTime:o})=>{const a=bse({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r});if(a!==void 0)throw _N({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},bse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r})=>{if(e!==void 0&&r!==void 0)return r;if(r!==void 0)return kN(t),r;if(e!==void 0)return SN(n),e},_N=({error:t,fileDescriptors:e,sourceOptions:n,startTime:r})=>m0({error:t,command:AN,escapedCommand:AN,fileDescriptors:e,options:n,startTime:r,isSync:!1}),AN="source.pipe(destination)",Ese=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},Dse=(t,e,n)=>{const r=dm.has(e)?Rse(t,e):Tse(t,e);return Xp(t,kse,n.signal),Xp(e,$se,n.signal),Sse(e),r},Tse=(t,e)=>{const n=k0([t]);return um(n,e),dm.set(e,n),n},Rse=(t,e)=>{const n=dm.get(e);return n.add(t),n},Sse=async t=>{try{await Pi(t,{cleanup:!0,readable:!1,writable:!0})}catch{}dm.delete(t)},dm=new WeakMap,kse=2,$se=1,Cse=(t,e)=>t===void 0?[]:[_se(t,e)],_se=async(t,{sourceStream:e,mergedStream:n,fileDescriptors:r,sourceOptions:i,startTime:s})=>{await O2(t,e),await n.remove(e);const o=new Error("Pipe canceled by `unpipeSignal` option.");throw _N({error:o,fileDescriptors:r,sourceOptions:i,startTime:s})},I0=(t,...e)=>{if(nr(e[0]))return I0.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});const{destination:n,...r}=mse(t,...e),i=Ase({...r,destination:n});return i.pipe=I0.bind(void 0,{...t,source:n,sourcePromise:i,boundOptions:{}}),i},Ase=async({sourcePromise:t,sourceStream:e,sourceOptions:n,sourceError:r,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{const l=xse(t,i);wse({sourceStream:e,sourceError:r,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:n,startTime:u});const d=new AbortController;try{const f=Dse(e,s,d);return await Promise.race([Ese(l),...Cse(a,{sourceStream:e,mergedStream:f,sourceOptions:n,fileDescriptors:c,startTime:u})])}finally{d.abort()}},xse=(t,e)=>Promise.allSettled([t,e]),xN=({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:r,encoding:i,preserveNewlines:s})=>{const o=new AbortController;return Ise(e,o),PN({stream:t,controller:o,binary:n,shouldEncode:!t.readableObjectMode&&r,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},Ise=async(t,e)=>{try{await t}catch{}finally{e.abort()}},IN=({stream:t,onStreamEnd:e,lines:n,encoding:r,stripFinalNewline:i,allMixed:s})=>{const o=new AbortController;Pse(e,o,t);const a=t.readableObjectMode&&!s;return PN({stream:t,controller:o,binary:r==="buffer",shouldEncode:!a,encoding:r,shouldSplit:!a&&n,preserveNewlines:!i})},Pse=async(t,e,n)=>{try{await t}catch{n.destroy()}finally{e.abort()}},PN=({stream:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})=>{const a=bd(t,"data",{signal:e.signal,highWaterMark:ON,highWatermark:ON});return Nse({onStdoutChunk:a,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})},NN=Ed(!0),ON=NN,Nse=async function*({onStdoutChunk:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o}){const a=Ose({binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(const[c]of t)yield*fd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*S0(a)}},Ose=({binary:t,shouldEncode:e,encoding:n,shouldSplit:r,preserveNewlines:i})=>[oN(t,n,!e),tN(t,i,!r,{})].filter(Boolean),Lse=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=Fse({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Mse(t),d]);return}const f=eN(c,n),h=IN({stream:t,onStreamEnd:e,lines:o,encoding:r,stripFinalNewline:f,allMixed:a}),[p]=await Promise.all([zse({stream:t,iterable:h,fdNumber:n,encoding:r,maxBuffer:s,lines:o}),d]);return p},Fse=async({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!fN({stdioItems:o[n]?.stdioItems,encoding:r,verboseInfo:s,fdNumber:n}))return;const a=IN({stream:t,onStreamEnd:e,lines:!0,encoding:r,stripFinalNewline:!0,allMixed:i});await eie(a,t,n,s)},Mse=async t=>{await X2(),t.readableFlowing===null&&t.resume()},zse=async({stream:t,stream:{readableObjectMode:e},iterable:n,fdNumber:r,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await bte(n,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Ste(n,{maxBuffer:s})):await Ote(n,{maxBuffer:s})}catch(a){return FN(qte({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:r}))}},LN=async t=>{try{return await t}catch(e){return FN(e)}},FN=({bufferedData:t})=>rZ(t)?new Uint8Array(t):t,P0=async(t,e,n,{isSameDirection:r,stopOnExit:i=!1}={})=>{const s=Bse(t,n),o=new AbortController;try{await Promise.race([...i?[n.exitPromise]:[],Pi(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||Use(a,e,n,r)}finally{o.abort()}},Bse=(t,{originalStreams:[e],subprocess:n})=>{const r={stdinCleanedUp:!1};return t===e&&qse(t,n,r),r},qse=(t,e,n)=>{const{_destroy:r}=t;t._destroy=(...i)=>{jse(e,n),r.call(t,...i)}},jse=({exitCode:t,signalCode:e},n)=>{(t!==null||e!==null)&&(n.stdinCleanedUp=!0)},Use=(t,e,n,r)=>{if(!Gse(t,e,n,r))throw t},Gse=(t,e,n,r=!0)=>n.propagating?zN(t)||N0(t):(n.propagating=!0,MN(n,e)===r?zN(t):N0(t)),MN=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",N0=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",zN=t=>t?.code==="EPIPE",Wse=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>BN({stream:c,fdNumber:u,encoding:e,buffer:n[u],maxBuffer:r[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),BN=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=P0(t,e,u);if(MN(u,e)){await l;return}const[d]=await Promise.all([Lse({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},Hse=({stdout:t,stderr:e},{all:n})=>n&&(t||e)?k0([t,e].filter(Boolean)):void 0,Vse=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>BN({...Kse(t,n),fdNumber:"all",encoding:e,maxBuffer:r[1]+r[2],lines:i[1]||i[2],allMixed:Yse(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Kse=({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}},Yse=({all:t,stdout:e,stderr:n})=>t&&e&&n&&e.readableObjectMode!==n.readableObjectMode,Xse=t=>Ib(t,"ipc"),Jse=(t,e)=>{const n=bI(t);ad({type:"ipc",verboseMessage:n,fdNumber:"ipc",verboseInfo:e})},Zse=async({subprocess:t,buffer:e,maxBuffer:n,ipc:r,ipcOutput:i,verboseInfo:s})=>{if(!r)return i;const o=Xse(s),a=od(e,"ipc"),c=od(n,"ipc");for await(const u of gN({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:r,shouldAwait:!1,reference:!0}))a&&(Ute(t,i,c),i.push(u)),o&&Jse(u,s);return i},Qse=async(t,e)=>(await Promise.allSettled([t]),e),eoe=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:y,controller:g})=>{const w=lie(t,f),E={originalStreams:m,fileDescriptors:p,subprocess:t,exitPromise:w,propagating:!1},k=Wse({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),_=Vse({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),I=[],x=Zse({subprocess:t,buffer:n,maxBuffer:r,ipc:l,ipcOutput:I,verboseInfo:h}),A=toe(m,t,E),P=noe(p,E);try{return await Promise.race([Promise.all([{},fie(w),Promise.all(k),_,x,Zee(t,d),...A,...P]),y,roe(t,g),...Gee(t,s,f,g),...QQ({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:g}),...Bee({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:g})])}catch(O){return f.terminationReason??="other",Promise.all([{error:O},w,Promise.all(k.map(C=>LN(C))),LN(_),Qse(x,I),Promise.allSettled(A),Promise.allSettled(P)])}},toe=(t,e,n)=>t.map((r,i)=>r===e.stdio[i]?void 0:P0(r,i,n)),noe=(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})=>P0(o,r,e,{isSameDirection:vo.has(i),stopOnExit:i==="native"}))),roe=async(t,{signal:e})=>{const[n]=await bn(t,"error",{signal:e});throw n},ioe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),O0=(t,e,n)=>{const r=t[n];r.has(e)||r.set(e,[]);const i=r.get(e),s=ud();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},qN=async t=>{if(t!==void 0)try{await jN(t)}catch{}},soe=async t=>{if(t!==void 0)try{await UN(t)}catch{}},jN=async t=>{await Pi(t,{cleanup:!0,readable:!1,writable:!0})},UN=async t=>{await Pi(t,{cleanup:!0,readable:!0,writable:!1})},GN=async(t,e)=>{if(await t,e)throw e},WN=(t,e,n)=>{n&&!N0(n)?t.destroy(n):e&&t.destroy()},ooe=({subprocess:t,concurrentStreams:e,encoding:n},{from:r,binary:i=!0,preserveNewlines:s=!0}={})=>{const o=i||mo.has(n),{subprocessStdout:a,waitReadableDestroy:c}=HN(t,r,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=VN(a,o),{read:f,onStdoutDataDone:h}=KN({subprocessStdout:a,subprocess:t,binary:o,encoding:n,preserveNewlines:s}),p=new Es({read:f,destroy:Do(XN.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return YN({subprocessStdout:a,onStdoutDataDone:h,readable:p,subprocess:t}),p},HN=(t,e,n)=>{const r=t0(t,e),i=O0(n,r,"readableDestroy");return{subprocessStdout:r,waitReadableDestroy:i}},VN=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n},r)=>r?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:NN},KN=({subprocessStdout:t,subprocess:e,binary:n,encoding:r,preserveNewlines:i})=>{const s=ud(),o=xN({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:!n,encoding:r,preserveNewlines:i});return{read(){aoe(this,o,s)},onStdoutDataDone:s}},aoe=async(t,e,n)=>{try{const{value:r,done:i}=await e.next();i?n.resolve():t.push(r)}catch{}},YN=async({subprocessStdout:t,onStdoutDataDone:e,readable:n,subprocess:r,subprocessStdin:i})=>{try{await UN(t),await r,await qN(i),await e,n.readable&&n.push(null)}catch(s){await qN(i),JN(n,s)}},XN=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:n},r)=>{await fm(n,e)&&(JN(t,r),await GN(e,r))},JN=(t,e)=>{WN(t,t.readable,e)},coe=({subprocess:t,concurrentStreams:e},{to:n}={})=>{const{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}=ZN(t,n,e),o=new wm({...QN(r,t,i),destroy:Do(t2.bind(void 0,{subprocessStdin:r,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:r.writableHighWaterMark,objectMode:r.writableObjectMode});return e2(r,o),o},ZN=(t,e,n)=>{const r=XI(t,e),i=O0(n,r,"writableFinal"),s=O0(n,r,"writableDestroy");return{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}},QN=(t,e,n)=>({write:uoe.bind(void 0,t),final:Do(loe.bind(void 0,t,e,n))}),uoe=(t,e,n,r)=>{t.write(e,n)?r():t.once("drain",r)},loe=async(t,e,n)=>{await fm(n,e)&&(t.writable&&t.end(),await e)},e2=async(t,e,n)=>{try{await jN(t),e.writable&&e.end()}catch(r){await soe(n),n2(e,r)}},t2=async({subprocessStdin:t,subprocess:e,waitWritableFinal:n,waitWritableDestroy:r},i)=>{await fm(n,e),await fm(r,e)&&(n2(t,i),await GN(e,i))},n2=(t,e)=>{WN(t,t.writable,e)},doe=({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}=HN(t,r,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=ZN(t,i,e),{readableEncoding:h,readableObjectMode:p,readableHighWaterMark:m}=VN(c,a),{read:y,onStdoutDataDone:g}=KN({subprocessStdout:c,subprocess:t,binary:a,encoding:n,preserveNewlines:o}),w=new bm({read:y,...QN(l,t,d),destroy:Do(foe.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 YN({subprocessStdout:c,onStdoutDataDone:g,readable:w,subprocess:t,subprocessStdin:l}),e2(l,w,c),w},foe=async({subprocessStdout:t,subprocessStdin:e,subprocess:n,waitReadableDestroy:r,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([XN({subprocessStdout:t,subprocess:n,waitReadableDestroy:r},o),t2({subprocessStdin:e,subprocess:n,waitWritableFinal:i,waitWritableDestroy:s},o)])},r2=(t,e,{from:n,binary:r=!1,preserveNewlines:i=!1}={})=>{const s=r||mo.has(e),o=t0(t,n),a=xN({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return hoe(a,o,t)},hoe=async function*(t,e,n){try{yield*t}finally{e.readable&&e.destroy(),await n}},poe=(t,{encoding:e})=>{const n=ioe();t.readable=ooe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.writable=coe.bind(void 0,{subprocess:t,concurrentStreams:n}),t.duplex=doe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.iterable=r2.bind(void 0,t,e),t[Symbol.asyncIterator]=r2.bind(void 0,t,e,{})},moe=(t,e)=>{for(const[n,r]of yoe){const i=r.value.bind(e);Reflect.defineProperty(t,n,{...r,value:i})}},goe=(async()=>{})().constructor.prototype,yoe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(goe,t)]),voe=(t,e,n,r)=>{const{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=woe(t,e,n),{subprocess:f,promise:h}=Eoe({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=I0.bind(void 0,{source:f,sourcePromise:h,boundOptions:{},createNested:r}),moe(f,h),po.set(f,{options:l,fileDescriptors:d}),f},woe=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=TI(t,e,n),{file:a,commandArguments:c,options:u}=dP(t,e,n),l=boe(u),d=qie(l,o);return{file:a,commandArguments:c,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},boe=({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}},Eoe=({file:t,commandArguments:e,options:n,startTime:r,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Y2(t,e,n)}catch(p){return Oie({error:p,command:s,escapedCommand:o,fileDescriptors:a,options:n,startTime:r,verboseInfo:i})}const u=new AbortController;Z2(Number.POSITIVE_INFINITY,u.signal);const l=[...c.stdio];nse(c,a,u),pse(c,n,u);const d={},f=ud();c.kill=KQ.bind(void 0,{kill:c.kill.bind(c),options:n,onInternalError:f,context:d,controller:u}),c.all=Hse(c,n),poe(c,n),Pie(c,n);const h=Doe({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}},Doe=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,y]=await eoe({subprocess:t,options:e,context:c,verboseInfo:r,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();const g=p.map((k,_)=>Pa(k,e,_)),w=Pa(m,e,"all"),E=Toe({errorInfo:d,exitCode:f,signal:h,stdio:g,all:w,ipcOutput:y,context:c,options:e,command:o,escapedCommand:a,startTime:n});return y0(E,r,e)},Toe=({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?g0({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}):AP({command:c,escapedCommand:u,stdio:r,all:i,ipcOutput:s,options:a,startTime:l}),L0=(t,e)=>{const n=Object.fromEntries(Object.entries(e).map(([r,i])=>[r,Roe(r,t[r],i)]));return{...t,...n}},Roe=(t,e,n)=>Soe.has(t)&&nr(e)&&nr(n)?{...e,...n}:n,Soe=new Set(["env",...mI]),wo=(t,e,n,r)=>{const i=(o,a,c)=>wo(o,a,n,c),s=(...o)=>koe({mapArguments:t,deepOptions:n,boundOptions:e,setBoundExeca:r,createNested:i},...o);return r!==void 0&&r(s,i,e),s},koe=({mapArguments:t,deepOptions:e={},boundOptions:n={},setBoundExeca:r,createNested:i},s,...o)=>{if(nr(s))return i(t,L0(n,s),r);const{file:a,commandArguments:c,options:u,isSync:l}=$oe({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:n});return l?gie(a,c,u):voe(a,c,u,i)},$oe=({mapArguments:t,firstArgument:e,nextArguments:n,deepOptions:r,boundOptions:i})=>{const s=lZ(e)?dZ(e,n):[e,...n],[o,a,c]=rI(...s),u=L0(L0(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}},Coe=({file:t,commandArguments:e})=>i2(t,e),_oe=({file:t,commandArguments:e})=>({...i2(t,e),isSync:!0}),i2=(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]=Aoe(t);return{file:n,commandArguments:r}},Aoe=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(xoe)){const i=n.at(-1);i&&i.endsWith("\\")?n[n.length-1]=`${i.slice(0,-1)} ${r}`:n.push(r)}return n},xoe=/ +/g,Ioe=(t,e,n)=>{t.sync=e(Noe,n),t.s=t.sync},Poe=({options:t})=>s2(t),Noe=({options:t})=>({...s2(t),isSync:!0}),s2=t=>({options:{...Ooe(t),...t}}),Ooe=({input:t,inputFile:e,stdio:n})=>t===void 0&&e===void 0&&n===void 0?{stdin:"inherit"}:{},Loe={preferLocal:!0},F0=wo(()=>({}));wo(()=>({isSync:!0})),wo(Coe),wo(_oe),wo(Hee),wo(Poe,{},Loe,Ioe),Nie();const M0=qp(2);let Foe=class{constructor(e="dot"){this.path=e}async unflatten(e){return await M0(async()=>{const n=await F0("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 M0(async()=>{const n=await F0(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 M0(async()=>{const n=await F0(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 Moe="likec4",zoe="1.17.1",Boe="MIT",qoe="https://likec4.dev",joe="Denis Davydkov <denis@davydkov.com>",Uoe={url:"https://github.com/sponsors/davydkov"},Goe={type:"git",url:"https://github.com/likec4/likec4.git",directory:"packages/likec4"},Woe={node:">=20.18.1"},Hoe="https://github.com/likec4/likec4/issues",Voe="module",Koe="./bin/likec4.mjs",Yoe={".":"./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/*"}},Xoe={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/*"}}},Joe={"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"},Zoe={"@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.27.1",vite:"5.4.11"},Qoe={"@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.14.1","@mantine/hooks":"7.14.1","@mantine/spotlight":"7.14.1","@mantine/vanilla-extract":"7.14.1","@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.17.7","@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.1","@vanilla-extract/dynamic":"^2.1.2","@vanilla-extract/vite-plugin":"^4.0.18","@xyflow/react":"12.3.5","@xyflow/system":"0.0.46",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.17","get-port":"^7.1.0",glob:"^11.0.0","html-to-image":"^1.11.11",json5:"^2.2.3",langium:"3.3.0",mkdirp:"^3.0.1",nanostores:"0.11.3","npm-run-all2":"^7.0.1","p-limit":"^6.1.0","package-up":"^5.0.0",postcss:"^8.4.49","postcss-preset-mantine":"^1.17.0","pretty-ms":"^9.2.0","prop-types":"^15.8.1","react-error-boundary":"^4.1.2","react-resizable-panels":"^2.1.7","react-shadow":"^20.5.0",remeda:"^2.17.3","std-env":"^3.8.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.3.1",typescript:"^5.7.2",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"},eae="yarn@4.5.3",o2={name:Moe,version:zoe,license:Boe,homepage:qoe,author:joe,sponsor:Uoe,repository:Goe,engines:Woe,bugs:Hoe,type:Voe,bin:Koe,exports:Yoe,publishConfig:Xoe,scripts:Joe,dependencies:Zoe,devDependencies:Qoe,packageManager:eae},hm=Object.create(null),md=t=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?hm:globalThis),ls=new Proxy(hm,{get(t,e){return md()[e]??hm[e]},has(t,e){const n=md();return e in n||e in hm},set(t,e,n){const r=md(!0);return r[e]=n,!0},deleteProperty(t,e){if(!e)return!1;const n=md(!0);return delete n[e],!0},ownKeys(){const t=md(!0);return Object.keys(t)}}),tae=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",nae=[["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 rae(){if(globalThis.process?.env)for(const t of nae){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 a2=rae();a2.name;function bo(t){return t?t!=="false":!1}const iae=globalThis.process?.platform||"",pm=bo(ls.CI)||a2.ci!==!1,c2=bo(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);bo(ls.DEBUG);const sae=tae==="test"||bo(ls.TEST);bo(ls.MINIMAL);const oae=/^win/i.test(iae);!bo(ls.NO_COLOR)&&(bo(ls.FORCE_COLOR)||(c2||oae)&&ls.TERM);const aae=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(aae?.split(".")[0]);const cae=globalThis.process||Object.create(null),u2={versions:{}};new Proxy(cae,{get(t,e){if(e==="env")return ls;if(e in t)return t[e];if(e in u2)return u2[e]}});const uae=globalThis.process?.release?.name==="node",lae=!!globalThis.Bun||!!globalThis.process?.versions?.bun,dae=!!globalThis.Deno,fae=!!globalThis.fastly,hae=!!globalThis.Netlify,pae=!!globalThis.EdgeRuntime,mae=globalThis.navigator?.userAgent==="Cloudflare-Workers",gae=[[hae,"netlify"],[pae,"edge-light"],[mae,"workerd"],[fae,"fastly"],[dae,"deno"],[lae,"bun"],[uae,"node"]];function yae(){const t=gae.find(e=>e[0]);if(t)return{name:t[1]}}const vae=yae();vae?.name;const l2=ft.bold(ft.bgRed(ft.white("ERROR"))),wae=ft.bold(ft.yellow("WARN")),bae=ft.bold(ft.green("INFO"));function d2(t){const e=tO("info",{prefix:t,allowClearScreen:!pm}),n=!pm;return{...e,info(r,i){e.info(`${bae} ${r}`,{timestamp:n,...i})},warn(r,i){e.warn(`${wae} ${r}`,{timestamp:n,...i})},error(r,i){if(r instanceof Error){e.error(`${l2} ${ft.red(r.stack??r.name+" "+r.message)}`,{timestamp:n,error:r,...i});return}e.error(`${l2} ${r}`,{timestamp:n,...i})}}}const z0=()=>{},Eae={info:z0,warn:z0,error:z0},Dae=1e6;function f2(t){const[e,n]=wd(t),r=e*1e3+n/Dae;return{ms:r,pretty:PP(r)}}function Tae(t){const e=wd();return{stopAndLog(n="done in "){n=ft.green(`${n}${f2(e).pretty}`),t?t.info(n):Xe.success(n)}}}class Rae{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(se)});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 Sae{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 h2(t){return e=>new t(e)}const kae={logger:()=>{throw new Error("Logger must be provided")},likec4:{Layouter:()=>{throw new Error("Layouter must be provided")},Views:h2(Rae)},cli:{Workspace:h2(Sae)}};function p2(t){const e=La(t,{useFileSystem:!0,logger:"default",graphviz:"wasm"});let n;switch(e.logger){case!1:n=Eae;break;case"vite":n=d2("c4:lsp ");break;case"default":n=Xe.withTag("lsp");break;default:n=e.logger}const r=e.graphviz==="binary";n.info(`${ft.dim("version")} ${o2.version}`),n.info(`${ft.dim("layout")} ${r?"binary":"wasm"}`);const i={logger:()=>n,likec4:{Layouter:()=>new tZ(r===!0?new Foe:new yd)}};return WK(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=>lv(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}}}}]),yX(e.useFileSystem?wX:{},kae,i).likec4}const m2=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=p2(La(n,{useFileSystem:!1,logger:!1,graphviz:"wasm"})),i=Kt.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(m2(o))):o}static likec4Instances=new Map;static async fromWorkspace(e="",n){const r=Z0(e);if(!R2(r))throw new Error(`Workspace not found: ${r}`);let i=ds.likec4Instances.get(r);if(!i){const s=p2(La(n,{useFileSystem:!0,logger:"default",graphviz:"wasm"}));await s.cli.Workspace.initWorkspace({uri:C2(r).toString(),name:$2(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(m2(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:dv(r,yi("id"))}),this.modelLayoutedRef=new WeakRef(e)}return e}getErrors(){return this.langiumDocuments.all.toArray().flatMap(e=>(e.diagnostics??[]).filter(n=>n.severity===Qc.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===Qc.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?[Kt.file(e)]:[],n?[Kt.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{f2 as $,ks as A,se as B,PD as C,Ki as D,ko as E,et as F,ft as G,uO as H,qp as I,lO as J,Xe as K,we as L,So as M,oT as N,vi as O,Fk as P,d2 as Q,VO as R,oK as S,Fo as T,qw as U,_E as V,aK as W,sa as X,Nm as Y,OC as Z,Bk as _,Ha as a,Tae as a0,Fv as a1,za as a2,Hi as a3,MD as a4,Ye as a5,o2 as a6,Cr as b,qa as c,Hn as d,Ba as e,Ie as f,FD as g,ds as h,kt as i,FC as j,Sd as k,gn as l,Wa as m,o$ as n,on as o,Bo as p,vt as q,ct as r,Ld as s,Ga as t,Me as u,dn as v,Am as w,Zr as x,AE as y,rt as z};