@prefecthq/prefab-ui 0.18.4 → 0.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 (73) hide show
  1. package/dist/app/_baseUniq-ta6OwJqW.js +1 -0
  2. package/dist/app/{app-DHCIgFOe.js → app-DWWmwIek.js} +24 -24
  3. package/dist/app/architectureDiagram-2XIMDMQ5-BO1X9-2l.js +36 -0
  4. package/dist/app/{blockDiagram-WCTKOSBZ-B524maQO.js → blockDiagram-WCTKOSBZ-DTJHXSgX.js} +1 -1
  5. package/dist/app/{bundle-B1IKgexG.js → bundle-7gpdAmXr.js} +199 -1
  6. package/dist/app/{c4Diagram-IC4MRINW-LiBCLrwc.js → c4Diagram-IC4MRINW-CsB0rI2O.js} +1 -1
  7. package/dist/app/{carousel-VYrmGQGT.js → carousel-BeyGRq-O.js} +1 -1
  8. package/dist/app/channel-DqGM1rbw.js +1 -0
  9. package/dist/app/{charts-CAbb86jt.js → charts-vQRKX19o.js} +1 -1
  10. package/dist/app/{chunk-4BX2VUAB-Dx0YoTOp.js → chunk-4BX2VUAB-CuzpJkZk.js} +1 -1
  11. package/dist/app/{chunk-55IACEB6-BMKwRFGH.js → chunk-55IACEB6-CPJs1nxf.js} +1 -1
  12. package/dist/app/{chunk-FMBD7UC4-P9b1fgHH.js → chunk-FMBD7UC4-BsH-SQ6e.js} +1 -1
  13. package/dist/app/{chunk-JSJVCQXG-C9-xDx_f.js → chunk-JSJVCQXG-Dav_pqEt.js} +1 -1
  14. package/dist/app/{chunk-KX2RTZJC-y06NOTAw.js → chunk-KX2RTZJC-DreiEKRs.js} +1 -1
  15. package/dist/app/{chunk-NQ4KR5QH-u-MeLygg.js → chunk-NQ4KR5QH-h2D0g_PU.js} +1 -1
  16. package/dist/app/{chunk-QZHKN3VN-8B7bIcf4.js → chunk-QZHKN3VN-BLKI444a.js} +1 -1
  17. package/dist/app/{chunk-WL4C6EOR-cOPqvc_c.js → chunk-WL4C6EOR-chGwGATN.js} +1 -1
  18. package/dist/app/classDiagram-VBA2DB6C-DNgqPbFT.js +1 -0
  19. package/dist/app/classDiagram-v2-RAHNMMFH-DNgqPbFT.js +1 -0
  20. package/dist/app/clone-CHxe1GA6.js +1 -0
  21. package/dist/app/{compound-calendar-Ci50EeZ5.js → compound-calendar-B8qX5Zsi.js} +1 -1
  22. package/dist/app/{content-B9KneKdC.js → content-BhQ8q-Lu.js} +1 -1
  23. package/dist/app/{cose-bilkent-S5V4N54A-Dc9uKygA.js → cose-bilkent-S5V4N54A-BCdmuqoX.js} +1 -1
  24. package/dist/app/dagre-KLK3FWXG-DPK0mP3v.js +4 -0
  25. package/dist/app/diagram-E7M64L7V-CbyJJCWv.js +24 -0
  26. package/dist/app/diagram-IFDJBPK2-BPWtrQhI.js +43 -0
  27. package/dist/app/diagram-P4PSJMXO-DFNqedAw.js +24 -0
  28. package/dist/app/{erDiagram-INFDFZHY-DgnBfTmZ.js → erDiagram-INFDFZHY-DxkXc9lq.js} +1 -1
  29. package/dist/app/{flowDiagram-PKNHOUZH-BRLGgwUn.js → flowDiagram-PKNHOUZH-DCOpTmpL.js} +1 -1
  30. package/dist/app/{ganttDiagram-A5KZAMGK-iYM5gdvu.js → ganttDiagram-A5KZAMGK-D-OZdfLM.js} +1 -1
  31. package/dist/app/gitGraphDiagram-K3NZZRJ6-y1hS_Fs3.js +65 -0
  32. package/dist/app/graph-DuuFfizS.js +1 -0
  33. package/dist/app/{icons-barrel-C1Fhceou.js → icons-barrel-BsWue30w.js} +1 -1
  34. package/dist/app/infoDiagram-LFFYTUFH-CFSg4gxg.js +2 -0
  35. package/dist/app/{ishikawaDiagram-PHBUUO56-D8LCuUtc.js → ishikawaDiagram-PHBUUO56-BBnueC1U.js} +1 -1
  36. package/dist/app/{journeyDiagram-4ABVD52K-DPJtXOUh.js → journeyDiagram-4ABVD52K-BC2rNb-q.js} +1 -1
  37. package/dist/app/{kanban-definition-K7BYSVSG-DIpHQQGq.js → kanban-definition-K7BYSVSG-CY4EnSlW.js} +1 -1
  38. package/dist/app/layout-Bzcwrl3z.js +1 -0
  39. package/dist/app/{mermaid-CC_vTxSJ.js → mermaid-WcsgrQ20.js} +2 -2
  40. package/dist/app/{mermaid.core-D6aFEa0I.js → mermaid.core-C0_6bYX2.js} +5 -5
  41. package/dist/app/min-M3lbM33X.js +1 -0
  42. package/dist/app/{mindmap-definition-YRQLILUH-BheWB4Ui.js → mindmap-definition-YRQLILUH-BdvFQgM9.js} +1 -1
  43. package/dist/app/{pieDiagram-SKSYHLDU-DOrruAwd.js → pieDiagram-SKSYHLDU-DM-1JZKF.js} +2 -2
  44. package/dist/app/{quadrantDiagram-337W2JSQ-B8BTERHr.js → quadrantDiagram-337W2JSQ-BvwKB1au.js} +1 -1
  45. package/dist/app/renderer.css +1 -1
  46. package/dist/app/renderer.js +106 -106
  47. package/dist/app/{requirementDiagram-Z7DCOOCP-DnOpKcso.js → requirementDiagram-Z7DCOOCP-lW4OvRpm.js} +1 -1
  48. package/dist/app/{sankeyDiagram-WA2Y5GQK-CoXOdwrO.js → sankeyDiagram-WA2Y5GQK-Bij_tjGA.js} +1 -1
  49. package/dist/app/{sequenceDiagram-2WXFIKYE-CWNQviI4.js → sequenceDiagram-2WXFIKYE-DulfYz7n.js} +1 -1
  50. package/dist/app/stateDiagram-RAJIS63D-CVYHUS3C.js +1 -0
  51. package/dist/app/{stateDiagram-v2-FVOUBMTO-B8eU3khJ.js → stateDiagram-v2-FVOUBMTO-DdFVAz3y.js} +1 -1
  52. package/dist/app/{timeline-definition-YZTLITO2-CTMhdLW0.js → timeline-definition-YZTLITO2-CEvKcZCX.js} +1 -1
  53. package/dist/app/treemap-KZPCXAKY-yrs_ILyI.js +162 -0
  54. package/dist/app/{vennDiagram-LZ73GAT5-B_Dobi9s.js → vennDiagram-LZ73GAT5-CQ9AzVUS.js} +1 -1
  55. package/dist/app/{xychartDiagram-JWTSCODW-C5MtDZ7P.js → xychartDiagram-JWTSCODW-CPDhlJMj.js} +1 -1
  56. package/package.json +1 -1
  57. package/dist/app/_basePickBy-BVmN5HKo.js +0 -1
  58. package/dist/app/_baseUniq-DLSCZPvE.js +0 -1
  59. package/dist/app/architectureDiagram-2XIMDMQ5-2JqupSrT.js +0 -36
  60. package/dist/app/channel-DIEGSkkN.js +0 -1
  61. package/dist/app/classDiagram-VBA2DB6C-C_-qrCYz.js +0 -1
  62. package/dist/app/classDiagram-v2-RAHNMMFH-C_-qrCYz.js +0 -1
  63. package/dist/app/clone-BtAo9xZX.js +0 -1
  64. package/dist/app/dagre-KLK3FWXG-CuYQqi5J.js +0 -4
  65. package/dist/app/diagram-E7M64L7V-7lLEvUXT.js +0 -24
  66. package/dist/app/diagram-IFDJBPK2-DfivzPeV.js +0 -43
  67. package/dist/app/diagram-P4PSJMXO-9eL_NaeT.js +0 -24
  68. package/dist/app/gitGraphDiagram-K3NZZRJ6-BH7iD4e-.js +0 -65
  69. package/dist/app/graph-z0MF59mG.js +0 -1
  70. package/dist/app/infoDiagram-LFFYTUFH-wthc3uSb.js +0 -2
  71. package/dist/app/layout-Cn0Vvyqu.js +0 -1
  72. package/dist/app/stateDiagram-RAJIS63D-C--FinAX.js +0 -1
  73. package/dist/app/treemap-KZPCXAKY-H4wvUyKw.js +0 -162
@@ -0,0 +1,162 @@
1
+ var Wf=Object.defineProperty;var Kf=(t,e,n)=>e in t?Wf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var zt=(t,e,n)=>Kf(t,typeof e!="symbol"?e+"":e,n);import{J as Hf,_ as nn}from"./renderer.js";import{m as Lt,f as Xf,d as Yf}from"./min-M3lbM33X.js";import{b as Jf,l as Qf,c as Zf,m as eh,r as Qc,n as va}from"./_baseUniq-ta6OwJqW.js";import{aP as th}from"./mermaid.core-C0_6bYX2.js";function nh(t,e){return Jf(Lt(t,e))}function rh(t,e){return t&&t.length?Qf(t,Zf(e)):[]}function De(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ot(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Vt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function ih(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Br(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Xu{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return De(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.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}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 Ei(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Yu(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Ju(t){return Ei(t)&&typeof t.fullText=="string"}class Oe{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 Oe(()=>({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 Je})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=sh(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 Oe(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Je:{done:!1,value:e(i)}})}filter(e){return new Oe(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Je})}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 Oe(()=>({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(Ds(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Je})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Oe(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Ds(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Je})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Oe(()=>{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 Oe(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Je:this.nextFn(n.state)))}distinct(e){return new Oe(()=>({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 Je})}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 sh(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ds(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Qu=new Oe(()=>{},()=>Je),Je=Object.freeze({done:!0,value:void 0});function fe(...t){if(t.length===1){const e=t[0];if(e instanceof Oe)return e;if(Ds(e))return new Oe(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Oe(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Je)}return t.length>1?new Oe(()=>({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++];Ds(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Je}):Qu}class Nc extends Oe{constructor(e,n,r){super(()=>({iterators:r!=null&&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 a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return Je})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Va;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Va||(Va={}));function Wa(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{De(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&Wa(i,e))}):De(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&Wa(r,e)))}function ia(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function xt(t){const n=Es(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Es(t){for(;t.$container;)t=t.$container;return t}function Zc(t){return ot(t)?t.ref?[t.ref]:[]:Vt(t)?t.items.map(e=>e.ref):[]}function Ic(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Oe(()=>({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(De(s)){if(r.keyIndex++,el(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(De(o)&&el(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Je})}function Oi(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Nc(t,n=>Ic(n,e))}function Dt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Nc(t,n=>Ic(n,e),{includeRoot:!0})}function el(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?_h(n,e):!1}function Ms(t){return new Oe(()=>({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(ot(r)||Vt(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(ot(s)||Vt(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Je})}function ah(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Zu(i.defaultValue))}function Zu(t){return Array.isArray(t)?[...t.map(Zu)]:t}const Ye={$type:"AbstractElement",cardinality:"cardinality"};function oh(t){return J.isInstance(t,Ye.$type)}const As={$type:"AbstractParserRule"};function Li(t){return J.isInstance(t,As.$type)}const as={$type:"AbstractRule"},st={$type:"AbstractType"},gn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function sa(t){return J.isInstance(t,gn.$type)}const Ss={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function ed(t){return J.isInstance(t,Ss.$type)}const tl={$type:"ArrayLiteral",elements:"elements"},nl={$type:"ArrayType",elementType:"elementType"},yn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Cn(t){return J.isInstance(t,yn.$type)}const Ka={$type:"BooleanLiteral",true:"true"};function ch(t){return J.isInstance(t,Ka.$type)}const Tn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function lh(t){return J.isInstance(t,Tn.$type)}const Dn={$type:"Condition"},Cs={$type:"Conjunction",left:"left",right:"right"};function uh(t){return J.isInstance(t,Cs.$type)}const Rn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function aa(t){return J.isInstance(t,Rn.$type)}const ks={$type:"Disjunction",left:"left",right:"right"};function dh(t){return J.isInstance(t,ks.$type)}const Ha={$type:"EndOfFile",cardinality:"cardinality"};function fh(t){return J.isInstance(t,Ha.$type)}const rn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},rl={$type:"GrammarImport",path:"path"},qn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Pc(t){return J.isInstance(t,qn.$type)}const Xa={$type:"InferredType",name:"name"};function td(t){return J.isInstance(t,Xa.$type)}const _t={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Fs(t){return J.isInstance(t,_t.$type)}const Ea={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},il={$type:"InfixRuleOperators",precedences:"precedences"},di={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function hh(t){return J.isInstance(t,di.$type)}const fi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function kn(t){return J.isInstance(t,fi.$type)}const os={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},zn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function ph(t){return J.isInstance(t,zn.$type)}const Ya={$type:"Negation",value:"value"};function mh(t){return J.isInstance(t,Ya.$type)}const sl={$type:"NumberLiteral",value:"value"},cs={$type:"Parameter",name:"name"},Ja={$type:"ParameterReference",parameter:"parameter"};function gh(t){return J.isInstance(t,Ja.$type)}const ft={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Gt(t){return J.isInstance(t,ft.$type)}const Aa={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},Bn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function yh(t){return J.isInstance(t,Bn.$type)}const Qa={$type:"ReturnType",name:"name"};function Th(t){return J.isInstance(t,Qa.$type)}const Vn={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function bn(t){return J.isInstance(t,Vn.$type)}const hi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Rh(t){return J.isInstance(t,hi.$type)}const al={$type:"StringLiteral",value:"value"},Wn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function vh(t){return J.isInstance(t,Wn.$type)}const tt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},Kn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Eh(t){return J.isInstance(t,Kn.$type)}const Bt={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function jt(t){return J.isInstance(t,Bt.$type)}const Hn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Ah(t){return J.isInstance(t,Hn.$type)}const bs={$type:"Type",name:"name",type:"type"};function Sh(t){return J.isInstance(t,bs.$type)}const Vr={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Wr={$type:"TypeDefinition"},ol={$type:"UnionType",types:"types"},ws={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function nd(t){return J.isInstance(t,ws.$type)}const Xn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Ch(t){return J.isInstance(t,Xn.$type)}const Kr={$type:"ValueLiteral"},pi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function kh(t){return J.isInstance(t,pi.$type)}class rd extends Xu{constructor(){super(...arguments),this.types={AbstractElement:{name:Ye.$type,properties:{cardinality:{name:Ye.cardinality}},superTypes:[]},AbstractParserRule:{name:As.$type,properties:{},superTypes:[as.$type,st.$type]},AbstractRule:{name:as.$type,properties:{},superTypes:[]},AbstractType:{name:st.$type,properties:{},superTypes:[]},Action:{name:gn.$type,properties:{cardinality:{name:gn.cardinality},feature:{name:gn.feature},inferredType:{name:gn.inferredType},operator:{name:gn.operator},type:{name:gn.type,referenceType:st.$type}},superTypes:[Ye.$type]},Alternatives:{name:Ss.$type,properties:{cardinality:{name:Ss.cardinality},elements:{name:Ss.elements,defaultValue:[]}},superTypes:[Ye.$type]},ArrayLiteral:{name:tl.$type,properties:{elements:{name:tl.elements,defaultValue:[]}},superTypes:[Kr.$type]},ArrayType:{name:nl.$type,properties:{elementType:{name:nl.elementType}},superTypes:[Wr.$type]},Assignment:{name:yn.$type,properties:{cardinality:{name:yn.cardinality},feature:{name:yn.feature},operator:{name:yn.operator},predicate:{name:yn.predicate},terminal:{name:yn.terminal}},superTypes:[Ye.$type]},BooleanLiteral:{name:Ka.$type,properties:{true:{name:Ka.true,defaultValue:!1}},superTypes:[Dn.$type,Kr.$type]},CharacterRange:{name:Tn.$type,properties:{cardinality:{name:Tn.cardinality},left:{name:Tn.left},lookahead:{name:Tn.lookahead},parenthesized:{name:Tn.parenthesized,defaultValue:!1},right:{name:Tn.right}},superTypes:[tt.$type]},Condition:{name:Dn.$type,properties:{},superTypes:[]},Conjunction:{name:Cs.$type,properties:{left:{name:Cs.left},right:{name:Cs.right}},superTypes:[Dn.$type]},CrossReference:{name:Rn.$type,properties:{cardinality:{name:Rn.cardinality},deprecatedSyntax:{name:Rn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Rn.isMulti,defaultValue:!1},terminal:{name:Rn.terminal},type:{name:Rn.type,referenceType:st.$type}},superTypes:[Ye.$type]},Disjunction:{name:ks.$type,properties:{left:{name:ks.left},right:{name:ks.right}},superTypes:[Dn.$type]},EndOfFile:{name:Ha.$type,properties:{cardinality:{name:Ha.cardinality}},superTypes:[Ye.$type]},Grammar:{name:rn.$type,properties:{imports:{name:rn.imports,defaultValue:[]},interfaces:{name:rn.interfaces,defaultValue:[]},isDeclared:{name:rn.isDeclared,defaultValue:!1},name:{name:rn.name},rules:{name:rn.rules,defaultValue:[]},types:{name:rn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:rl.$type,properties:{path:{name:rl.path}},superTypes:[]},Group:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},elements:{name:qn.elements,defaultValue:[]},guardCondition:{name:qn.guardCondition},predicate:{name:qn.predicate}},superTypes:[Ye.$type]},InferredType:{name:Xa.$type,properties:{name:{name:Xa.name}},superTypes:[st.$type]},InfixRule:{name:_t.$type,properties:{call:{name:_t.call},dataType:{name:_t.dataType},inferredType:{name:_t.inferredType},name:{name:_t.name},operators:{name:_t.operators},parameters:{name:_t.parameters,defaultValue:[]},returnType:{name:_t.returnType,referenceType:st.$type}},superTypes:[As.$type]},InfixRuleOperatorList:{name:Ea.$type,properties:{associativity:{name:Ea.associativity},operators:{name:Ea.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:il.$type,properties:{precedences:{name:il.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:di.$type,properties:{attributes:{name:di.attributes,defaultValue:[]},name:{name:di.name},superTypes:{name:di.superTypes,defaultValue:[],referenceType:st.$type}},superTypes:[st.$type]},Keyword:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},predicate:{name:fi.predicate},value:{name:fi.value}},superTypes:[Ye.$type]},NamedArgument:{name:os.$type,properties:{calledByName:{name:os.calledByName,defaultValue:!1},parameter:{name:os.parameter,referenceType:cs.$type},value:{name:os.value}},superTypes:[]},NegatedToken:{name:zn.$type,properties:{cardinality:{name:zn.cardinality},lookahead:{name:zn.lookahead},parenthesized:{name:zn.parenthesized,defaultValue:!1},terminal:{name:zn.terminal}},superTypes:[tt.$type]},Negation:{name:Ya.$type,properties:{value:{name:Ya.value}},superTypes:[Dn.$type]},NumberLiteral:{name:sl.$type,properties:{value:{name:sl.value}},superTypes:[Kr.$type]},Parameter:{name:cs.$type,properties:{name:{name:cs.name}},superTypes:[]},ParameterReference:{name:Ja.$type,properties:{parameter:{name:Ja.parameter,referenceType:cs.$type}},superTypes:[Dn.$type]},ParserRule:{name:ft.$type,properties:{dataType:{name:ft.dataType},definition:{name:ft.definition},entry:{name:ft.entry,defaultValue:!1},fragment:{name:ft.fragment,defaultValue:!1},inferredType:{name:ft.inferredType},name:{name:ft.name},parameters:{name:ft.parameters,defaultValue:[]},returnType:{name:ft.returnType,referenceType:st.$type}},superTypes:[As.$type]},ReferenceType:{name:Aa.$type,properties:{isMulti:{name:Aa.isMulti,defaultValue:!1},referenceType:{name:Aa.referenceType}},superTypes:[Wr.$type]},RegexToken:{name:Bn.$type,properties:{cardinality:{name:Bn.cardinality},lookahead:{name:Bn.lookahead},parenthesized:{name:Bn.parenthesized,defaultValue:!1},regex:{name:Bn.regex}},superTypes:[tt.$type]},ReturnType:{name:Qa.$type,properties:{name:{name:Qa.name}},superTypes:[]},RuleCall:{name:Vn.$type,properties:{arguments:{name:Vn.arguments,defaultValue:[]},cardinality:{name:Vn.cardinality},predicate:{name:Vn.predicate},rule:{name:Vn.rule,referenceType:as.$type}},superTypes:[Ye.$type]},SimpleType:{name:hi.$type,properties:{primitiveType:{name:hi.primitiveType},stringType:{name:hi.stringType},typeRef:{name:hi.typeRef,referenceType:st.$type}},superTypes:[Wr.$type]},StringLiteral:{name:al.$type,properties:{value:{name:al.value}},superTypes:[Kr.$type]},TerminalAlternatives:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},elements:{name:Wn.elements,defaultValue:[]},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1}},superTypes:[tt.$type]},TerminalElement:{name:tt.$type,properties:{cardinality:{name:tt.cardinality},lookahead:{name:tt.lookahead},parenthesized:{name:tt.parenthesized,defaultValue:!1}},superTypes:[Ye.$type]},TerminalGroup:{name:Kn.$type,properties:{cardinality:{name:Kn.cardinality},elements:{name:Kn.elements,defaultValue:[]},lookahead:{name:Kn.lookahead},parenthesized:{name:Kn.parenthesized,defaultValue:!1}},superTypes:[tt.$type]},TerminalRule:{name:Bt.$type,properties:{definition:{name:Bt.definition},fragment:{name:Bt.fragment,defaultValue:!1},hidden:{name:Bt.hidden,defaultValue:!1},name:{name:Bt.name},type:{name:Bt.type}},superTypes:[as.$type]},TerminalRuleCall:{name:Hn.$type,properties:{cardinality:{name:Hn.cardinality},lookahead:{name:Hn.lookahead},parenthesized:{name:Hn.parenthesized,defaultValue:!1},rule:{name:Hn.rule,referenceType:Bt.$type}},superTypes:[tt.$type]},Type:{name:bs.$type,properties:{name:{name:bs.name},type:{name:bs.type}},superTypes:[st.$type]},TypeAttribute:{name:Vr.$type,properties:{defaultValue:{name:Vr.defaultValue},isOptional:{name:Vr.isOptional,defaultValue:!1},name:{name:Vr.name},type:{name:Vr.type}},superTypes:[]},TypeDefinition:{name:Wr.$type,properties:{},superTypes:[]},UnionType:{name:ol.$type,properties:{types:{name:ol.types,defaultValue:[]}},superTypes:[Wr.$type]},UnorderedGroup:{name:ws.$type,properties:{cardinality:{name:ws.cardinality},elements:{name:ws.elements,defaultValue:[]}},superTypes:[Ye.$type]},UntilToken:{name:Xn.$type,properties:{cardinality:{name:Xn.cardinality},lookahead:{name:Xn.lookahead},parenthesized:{name:Xn.parenthesized,defaultValue:!1},terminal:{name:Xn.terminal}},superTypes:[tt.$type]},ValueLiteral:{name:Kr.$type,properties:{},superTypes:[]},Wildcard:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},lookahead:{name:pi.lookahead},parenthesized:{name:pi.parenthesized,defaultValue:!1}},superTypes:[tt.$type]}}}}const J=new rd;function Za(t){return new Nc(t,e=>Ei(e)?e.content:[],{includeRoot:!0})}function bh(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function eo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Gs(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var $t;(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"})($t||($t={}));function wh(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return $t.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return $t.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?$t.Inside:n?$t.OverlapBack:r?$t.OverlapFront:$t.Outside}function _h(t,e){return wh(t,e)>$t.After}const Nh=/^[\w\p{L}]$/u;function Ih(t,e){if(t){const n=Ph(t,!0);if(n&&cl(n,e))return n;if(Ju(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(cl(s,e))return s}}}}function cl(t,e){return Yu(t)&&e.includes(t.tokenType.name)}function Ph(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}}class id extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function xi(t,e="Error: Got unexpected value."){throw new Error(e)}function q(t){return t.charCodeAt(0)}function Sa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Hr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Mn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $h(){throw Error("Internal Error - Should never get here!")}function ll(t){return t.type==="Character"}const js=[];for(let t=q("0");t<=q("9");t++)js.push(t);const Us=[q("_")].concat(js);for(let t=q("a");t<=q("z");t++)Us.push(t);for(let t=q("A");t<=q("Z");t++)Us.push(t);const ul=[q(" "),q("\f"),q(`
2
+ `),q("\r"),q(" "),q("\v"),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q(" "),q("\u2028"),q("\u2029"),q(" "),q(" "),q(" "),q("\uFEFF")],Oh=/[0-9a-fA-F]/,ls=/[0-9]/,Lh=/[1-9]/;class sd{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":Hr(r,"global");break;case"i":Hr(r,"ignoreCase");break;case"m":Hr(r,"multiLine");break;case"u":Hr(r,"unicode");break;case"y":Hr(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;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}Mn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return $h()}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;Mn(n);break}if(!(e===!0&&n===void 0)&&Mn(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()),Mn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[q(`
3
+ `),q("\r"),q("\u2028"),q("\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=js;break;case"D":e=js,n=!0;break;case"s":e=ul;break;case"S":e=ul,n=!0;break;case"w":e=Us;break;case"W":e=Us,n=!0;break}if(Mn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=q("\f");break;case"n":e=q(`
4
+ `);break;case"r":e=q("\r");break;case"t":e=q(" ");break;case"v":e=q("\v");break}if(Mn(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:q("\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:q(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:q(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,ll(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,ll(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Sa(r.value,e),e.push(q("-")),Sa(i.value,e)}else Sa(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:q("\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(Lh.test(e)===!1)throw Error("Expecting a positive integer");for(;ls.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(ls.test(e)===!1)throw Error("Expecting an integer");for(;ls.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:q(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 ls.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)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));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(Oh.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 oa{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"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(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){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const xh=/\r?\n/gm,Dh=new sd;class Mh extends oa{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=ca(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 Ca=new Mh;function Fh(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Ca.reset(t),Ca.visit(Dh.pattern(t)),Ca.multiline}catch{return!1}}const Gh=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function ad(t){const e=typeof t=="string"?new RegExp(t):t;return Gh.some(n=>e.test(n))}function ca(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jh(t,e){const n=Uh(t),r=e.match(n);return!!r&&r[0].length>0}function Uh(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(l){s+=n.substr(r,l),r+=l}function c(l){s+="(?:"+n.substr(r,l)+"|$)",r+=l}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"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],c(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[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"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function qh(t){return t.rules.find(e=>Gt(e)&&e.entry)}function zh(t){return t.rules.filter(e=>jt(e)&&e.hidden)}function od(t,e){const n=new Set,r=qh(t);if(!r)return new Set(t.rules);const i=[r].concat(zh(t));for(const a of i)cd(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||jt(a)&&a.hidden)&&s.add(a);return s}function cd(t,e,n){e.add(t.name),Oi(t).forEach(r=>{if(bn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&cd(i,e,n)}})}function Bh(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=ud(t.type.ref);return e==null?void 0:e.terminal}}function Vh(t){return t.hidden&&!ad(Oc(t))}function Wh(t,e){return!t||!e?[]:$c(t,e,t.astNode,!0)}function ld(t,e,n){if(!t||!e)return;const r=$c(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 $c(t,e,n,r){if(!r){const i=ia(t.grammarSource,Cn);if(i&&i.feature===e)return[t]}return Ei(t)&&t.astNode===n?t.content.flatMap(i=>$c(i,e,n,!1)):[]}function Kh(t,e,n){if(!t)return;const r=Hh(t,e,t==null?void 0: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 Hh(t,e,n){if(t.astNode!==n)return[];if(kn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Za(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?kn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Xh(t){var n;const e=t.astNode;for(;e===((n=t.container)==null?void 0:n.astNode);){const r=ia(t.grammarSource,Cn);if(r)return r;t=t.container}}function ud(t){let e=t;return td(e)&&(sa(e.$container)?e=e.$container.$container:Li(e.$container)?e=e.$container:xi(e.$container)),dd(t,e,new Map)}function dd(t,e,n){var i;function r(s,a){let o;return ia(s,Cn)||(o=dd(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of Oi(e)){if(Cn(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(bn(s)&&Gt(s.rule.ref))return r(s,s.rule.ref);if(Rh(s)&&((i=s.typeRef)!=null&&i.ref))return r(s,s.typeRef.ref)}}function fd(t){return hd(t,new Set)}function hd(t,e){if(e.has(t))return!0;e.add(t);for(const n of Oi(t))if(bn(n)){if(!n.rule.ref||Gt(n.rule.ref)&&!hd(n.rule.ref,e)||Fs(n.rule.ref))return!1}else{if(Cn(n))return!1;if(sa(n))return!1}return!!t.definition}function pd(t){if(!jt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Ai(t){if(Li(t))return Gt(t)&&fd(t)?t.name:pd(t)??t.name;if(hh(t)||Sh(t)||Th(t))return t.name;if(sa(t)){const e=Yh(t);if(e)return e}else if(td(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Yh(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return Ai(t.type.ref)}function Jh(t){var e;return jt(t)?((e=t.type)==null?void 0:e.name)??"string":pd(t)??t.name}function Oc(t){const e={s:!1,i:!1,u:!1},n=wr(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Lc=/[\s\S]/.source;function wr(t,e){var n;if(vh(t))return Qh(t);if(Eh(t))return Zh(t);if(lh(t))return np(t);if(Ah(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Mt(wr(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(ph(t))return tp(t);if(Ch(t))return ep(t);if(yh(t)){const r=t.regex.lastIndexOf("/"),i=t.regex.substring(1,r),s=t.regex.substring(r+1);return e&&(e.i=s.includes("i"),e.s=s.includes("s"),e.u=s.includes("u")),Mt(i,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(kh(t))return Mt(Lc,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}, ${(n=t==null?void 0:t.$cstNode)==null?void 0:n.text}`)}}}function Qh(t){return Mt(t.elements.map(e=>wr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Zh(t){return Mt(t.elements.map(e=>wr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ep(t){return Mt(`${Lc}*?${wr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function tp(t){return Mt(`(?!${wr(t.terminal)})${Lc}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function np(t){return t.right?Mt(`[${ka(t.left)}-${ka(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Mt(ka(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ka(t){return ca(t.value)}function Mt(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function rp(t){const e=[],n=t.Grammar;for(const r of n.rules)jt(r)&&Vh(r)&&Fh(Oc(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Nh}}function to(t){console&&console.error&&console.error(`Error: ${t}`)}function md(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function gd(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function yd(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function ip(t){return sp(t)?t.LABEL:t.name}function sp(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class gt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(n=>{n.accept(e)})}}class qe extends gt{constructor(e){super([]),this.idx=1,Object.assign(this,yt(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class _r extends gt{constructor(e){super(e.definition),this.orgText="",Object.assign(this,yt(e))}}class Ve extends gt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,yt(e))}}let xe=class extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}};class Ze extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class et extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class Te extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class We extends gt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,yt(e))}}class Ke extends gt{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,Object.assign(this,yt(e))}}class ae{constructor(e){this.idx=1,Object.assign(this,yt(e))}accept(e){e.visit(this)}}function ap(t){return t.map(_s)}function _s(t){function e(n){return n.map(_s)}if(t instanceof qe){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(n.label=t.label),n}else{if(t instanceof Ve)return{type:"Alternative",definition:e(t.definition)};if(t instanceof xe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ze)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:_s(new ae({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof We)return{type:"RepetitionWithSeparator",idx:t.idx,separator:_s(new ae({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Te)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ke)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ae){const n={type:"Terminal",name:t.terminalType.name,label:ip(t.terminalType),idx:t.idx};typeof t.label=="string"&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=r instanceof RegExp?r.source:r),n}else{if(t instanceof _r)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function yt(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class Nr{visit(e){const n=e;switch(n.constructor){case qe:return this.visitNonTerminal(n);case Ve:return this.visitAlternative(n);case xe:return this.visitOption(n);case Ze:return this.visitRepetitionMandatory(n);case et:return this.visitRepetitionMandatoryWithSeparator(n);case We:return this.visitRepetitionWithSeparator(n);case Te:return this.visitRepetition(n);case Ke:return this.visitAlternation(n);case ae:return this.visitTerminal(n);case _r: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 op(t){return t instanceof Ve||t instanceof xe||t instanceof Te||t instanceof Ze||t instanceof et||t instanceof We||t instanceof ae||t instanceof _r}function qs(t,e=[]){return t instanceof xe||t instanceof Te||t instanceof We?!0:t instanceof Ke?t.definition.some(r=>qs(r,e)):t instanceof qe&&e.includes(t)?!1:t instanceof gt?(t instanceof qe&&e.push(t),t.definition.every(r=>qs(r,e))):!1}function cp(t){return t instanceof Ke}function ht(t){if(t instanceof qe)return"SUBRULE";if(t instanceof xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof We)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof ae)return"CONSUME";throw Error("non exhaustive match")}class la{walk(e,n=[]){e.definition.forEach((r,i)=>{const s=e.definition.slice(i+1);if(r instanceof qe)this.walkProdRef(r,s,n);else if(r instanceof ae)this.walkTerminal(r,s,n);else if(r instanceof Ve)this.walkFlat(r,s,n);else if(r instanceof xe)this.walkOption(r,s,n);else if(r instanceof Ze)this.walkAtLeastOne(r,s,n);else if(r instanceof et)this.walkAtLeastOneSep(r,s,n);else if(r instanceof We)this.walkManySep(r,s,n);else if(r instanceof Te)this.walkMany(r,s,n);else if(r instanceof Ke)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 xe({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=dl(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new xe({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=dl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);e.definition.forEach(s=>{const a=new Ve({definition:[s]});this.walk(a,i)})}}function dl(t,e,n){return[new xe({definition:[new ae({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Di(t){if(t instanceof qe)return Di(t.referencedRule);if(t instanceof ae)return dp(t);if(op(t))return lp(t);if(cp(t))return up(t);throw Error("non exhaustive match")}function lp(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=qs(s),e=e.concat(Di(s)),r=r+1,i=n.length>r;return[...new Set(e)]}function up(t){const e=t.definition.map(n=>Di(n));return[...new Set(e.flat())]}function dp(t){return[t.terminalType]}const Td="_~IN~_";class fp extends la{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=pp(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new Ve({definition:s}),o=Di(a);this.follows[i]=o}}function hp(t){const e={};return t.forEach(n=>{const r=new fp(n).startWalking();Object.assign(e,r)}),e}function pp(t,e){return t.name+e+Td}let Ns={};const mp=new sd;function ua(t){const e=t.toString();if(Ns.hasOwnProperty(e))return Ns[e];{const n=mp.pattern(e);return Ns[e]=n,n}}function gp(){Ns={}}const Rd="Complement Sets are not supported for first char optimization",zs=`Unable to use "first char" lexer optimizations:
13
+ `;function yp(t,e=!1){try{const n=ua(t);return no(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===Rd)e&&md(`${zs} 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.`),to(`${zs}
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 no(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)no(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"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":us(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(Rd);a.value.forEach(c=>{if(typeof c=="number")us(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)us(u,e,n);else{for(let u=l.from;u<=l.to&&u<gi;u++)us(u,e,n);if(l.to>=gi){const u=l.from>=gi?l.from:gi,f=l.to,m=Wt(u),h=Wt(f);for(let E=m;E<=h;E++)e[E]=E}}}});break;case"Group":no(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&ro(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function us(t,e,n){const r=Wt(t);e[r]=r,n===!0&&Tp(t,e)}function Tp(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=Wt(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=Wt(i.charCodeAt(0));e[s]=s}}}function fl(t,e){return t.value.find(n=>{if(typeof n=="number")return e.includes(n);{const r=n;return e.find(i=>r.from<=i&&i<=r.to)!==void 0}})}function ro(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(ro):ro(t.value):!1}class Rp extends oa{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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?fl(e,this.targetCharCodes)===void 0&&(this.found=!0):fl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function xc(t,e){if(e instanceof RegExp){const n=ua(e),r=new Rp(t);return r.visit(n),r.found}else{for(const n of e){const r=n.charCodeAt(0);if(t.includes(r))return!0}return!1}}const wn="PATTERN",mi="defaultMode",ds="modes";function vp(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(b,k)=>k()},e);const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{Bp()});let r;n("Reject Lexer.NA",()=>{r=t.filter(b=>b[wn]!==Be.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=r.map(b=>{const k=b[wn];if(k instanceof RegExp){const P=k.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!k.ignoreCase?P:P.length===2&&P[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(P[1])?P[1]:hl(k)}else{if(typeof k=="function")return i=!0,{exec:k};if(typeof k=="object")return i=!0,k;if(typeof k=="string"){if(k.length===1)return k;{const P=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),V=new RegExp(P);return hl(V)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=r.map(b=>b.tokenTypeIdx),o=r.map(b=>{const k=b.GROUP;if(k!==Be.SKIPPED){if(typeof k=="string")return k;if(k===void 0)return!1;throw Error("non exhaustive match")}}),c=r.map(b=>{const k=b.LONGER_ALT;if(k)return Array.isArray(k)?k.map(V=>r.indexOf(V)):[r.indexOf(k)]}),l=r.map(b=>b.PUSH_MODE),u=r.map(b=>Object.hasOwn(b,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const b=Ad(e.lineTerminatorCharacters);f=r.map(k=>!1),e.positionTracking!=="onlyOffset"&&(f=r.map(k=>Object.hasOwn(k,"LINE_BREAKS")?!!k.LINE_BREAKS:Ed(k,b)===!1&&xc(b,k.PATTERN)))});let m,h,E,_;n("Misc Mapping #2",()=>{m=r.map(vd),h=s.map(Up),E=r.reduce((b,k)=>{const P=k.GROUP;return typeof P=="string"&&P!==Be.SKIPPED&&(b[P]=[]),b},{}),_=s.map((b,k)=>({pattern:s[k],longerAlt:c[k],canLineTerminator:f[k],isCustom:m[k],short:h[k],group:o[k],push:l[k],pop:u[k],tokenTypeIdx:a[k],tokenType:r[k]}))});let I=!0,C=[];return e.safeMode||n("First Char Optimization",()=>{C=r.reduce((b,k,P)=>{if(typeof k.PATTERN=="string"){const V=k.PATTERN.charCodeAt(0),B=Wt(V);ba(b,B,_[P])}else if(Array.isArray(k.START_CHARS_HINT)){let V;k.START_CHARS_HINT.forEach(B=>{const H=typeof B=="string"?B.charCodeAt(0):B,re=Wt(H);V!==re&&(V=re,ba(b,re,_[P]))})}else if(k.PATTERN instanceof RegExp)if(k.PATTERN.unicode)I=!1,e.ensureOptimizations&&to(`${zs} Unable to analyze < ${k.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 V=yp(k.PATTERN,e.ensureOptimizations);V.length===0&&(I=!1),V.forEach(B=>{ba(b,B,_[P])})}else e.ensureOptimizations&&to(`${zs} TokenType: <${k.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`),I=!1;return b},[])}),{emptyGroups:E,patternIdxToConfig:_,charCodeToPatternIdxToConfig:C,hasCustom:i,canBeOptimized:I}}function Ep(t,e){let n=[];const r=Sp(t);n=n.concat(r.errors);const i=Cp(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Ap(s)),n=n.concat($p(s)),n=n.concat(Op(s,e)),n=n.concat(Lp(s)),n}function Ap(t){let e=[];const n=t.filter(r=>r[wn]instanceof RegExp);return e=e.concat(bp(n)),e=e.concat(Np(n)),e=e.concat(Ip(n)),e=e.concat(Pp(n)),e=e.concat(wp(n)),e}function Sp(t){const e=t.filter(i=>!Object.hasOwn(i,wn)),n=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Re.MISSING_PATTERN,tokenTypes:[i]})),r=t.filter(i=>!e.includes(i));return{errors:n,valid:r}}function Cp(t){const e=t.filter(i=>{const s=i[wn];return!(s instanceof RegExp)&&typeof s!="function"&&!Object.hasOwn(s,"exec")&&typeof s!="string"}),n=e.map(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:Re.INVALID_PATTERN,tokenTypes:[i]})),r=t.filter(i=>!e.includes(i));return{errors:n,valid:r}}const kp=/[^\\][$]/;function bp(t){class e extends oa{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}return t.filter(i=>{const s=i.PATTERN;try{const a=ua(s),o=new e;return o.visit(a),o.found}catch{return kp.test(s.source)}}).map(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:Re.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function wp(t){return t.filter(r=>r.PATTERN.test("")).map(r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Re.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const _p=/[^\\[][\^]|^\^/;function Np(t){class e extends oa{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}return t.filter(i=>{const s=i.PATTERN;try{const a=ua(s),o=new e;return o.visit(a),o.found}catch{return _p.test(s.source)}}).map(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:Re.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Ip(t){return t.filter(r=>{const i=r[wn];return i instanceof RegExp&&(i.multiline||i.global)}).map(r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Re.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function Pp(t){const e=[];let n=t.map(s=>t.reduce((a,o)=>(s.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==Be.NA&&(e.push(o),a.push(o)),a),[]));return n=n.filter(Boolean),n.filter(s=>s.length>1).map(s=>{const a=s.map(c=>c.name);return{message:`The same RegExp pattern ->${s[0].PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Re.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function $p(t){return t.filter(r=>{if(!Object.hasOwn(r,"GROUP"))return!1;const i=r.GROUP;return i!==Be.SKIPPED&&i!==Be.NA&&typeof i!="string"}).map(r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Re.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function Op(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Re.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Lp(t){const e=[],n=t.reduce((r,i,s)=>{const a=i.PATTERN;return a===Be.NA||(typeof a=="string"?r.push({str:a,idx:s,tokenType:i}):a instanceof RegExp&&Dp(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return t.forEach((r,i)=>{n.forEach(({str:s,idx:a,tokenType:o})=>{if(i<a&&xp(s,r.PATTERN)){const c=`Token: ->${o.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:Re.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function xp(t,e){if(e instanceof RegExp){if(Mp(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Dp(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(n=>t.source.indexOf(n)!==-1)===void 0}function Mp(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function hl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Fp(t,e,n){const r=[];return Object.hasOwn(t,mi)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+mi+`> property in its definition
34
+ `,type:Re.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,ds)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+ds+`> property in its definition
35
+ `,type:Re.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,ds)&&Object.hasOwn(t,mi)&&!Object.hasOwn(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${mi}: <${t.defaultMode}>which does not exist
36
+ `,type:Re.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,ds)&&Object.keys(t.modes).forEach(i=>{const s=t.modes[i];s.forEach((a,o)=>{a===void 0?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}>
37
+ `,type:Re.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(a,"LONGER_ALT")&&(Array.isArray(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT]).forEach(l=>{l!==void 0&&!s.includes(l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${i}>
38
+ `,type:Re.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),r}function Gp(t,e,n){const r=[];let i=!1;const a=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[wn]!==Be.NA),o=Ad(n);return e&&a.forEach(c=>{const l=Ed(c,o);if(l!==!1){const f={message:zp(c,l),type:l.issue,tokenType:c};r.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):xc(o,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:Re.NO_LINE_BREAKS_FLAGS}),r}function jp(t){const e={};return Object.keys(t).forEach(r=>{const i=t[r];if(Array.isArray(i))e[r]=[];else throw Error("non exhaustive match")}),e}function vd(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function Up(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const qp={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 Ed(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{xc(e,t.PATTERN)}catch(n){return{issue:Re.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(vd(t))return{issue:Re.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function zp(t,e){if(e.issue===Re.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===Re.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 Ad(t){return t.map(n=>typeof n=="string"?n.charCodeAt(0):n)}function ba(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const gi=256;let Is=[];function Wt(t){return t<gi?t:Is[t]}function Bp(){if(Is.length===0){Is=new Array(65536);for(let t=0;t<65536;t++)Is[t]=t>255?255+~~(t/255):t}}function Mi(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function Bs(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let pl=1;const Sd={};function Fi(t){const e=Vp(t);Wp(e),Hp(e),Kp(e),e.forEach(n=>{n.isParent=n.categoryMatches.length>0})}function Vp(t){let e=[...t],n=t,r=!0;for(;r;){n=n.map(s=>s.CATEGORIES).flat().filter(Boolean);const i=n.filter(s=>!e.includes(s));e=e.concat(i),i.length===0?r=!1:n=i}return e}function Wp(t){t.forEach(e=>{kd(e)||(Sd[pl]=e,e.tokenTypeIdx=pl++),ml(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ml(e)||(e.CATEGORIES=[]),Xp(e)||(e.categoryMatches=[]),Yp(e)||(e.categoryMatchesMap={})})}function Kp(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(n=>{e.categoryMatches.push(Sd[n].tokenTypeIdx)})})}function Hp(t){t.forEach(e=>{Cd([],e)})}function Cd(t,e){t.forEach(n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(n=>{const r=t.concat(e);r.includes(n)||Cd(r,n)})}function kd(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function ml(t){return Object.hasOwn(t??{},"CATEGORIES")}function Xp(t){return Object.hasOwn(t??{},"categoryMatches")}function Yp(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Jp(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const io={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Re;(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"})(Re||(Re={}));const yi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:io,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(yi);class Be{constructor(e,n=yi){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 a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:c}=gd(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}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=Object.assign({},yi,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===yi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=qp;else if(this.config.lineTerminatorCharacters===yi.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),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:mi}:(s=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Fp(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Gp(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,c])=>{i.modes[o]=c.filter(l=>l!==void 0)});const a=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,c])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Ep(c,a))}),this.lexerDefinitionErrors.length===0){Fi(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=vp(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+c)}this.lexerDefinitionWarning.forEach(o=>{md(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/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 o=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(n.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.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",()=>{gp()}),this.TRACE_INIT("toFastProperties",()=>{yd(this)})})}tokenize(e,n=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(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,a,o,c,l,u,f,m,h,E,_,I,C;const b=e,k=b.length;let P=0,V=0;const B=this.hasCustom?0:Math.floor(e.length/10),H=new Array(B),re=[];let oe=this.trackStartLines?1:void 0,ce=this.trackStartLines?1:void 0;const N=jp(this.emptyGroups),R=this.trackStartLines,g=this.config.lineTerminatorsPattern;let S=0,y=[],T=[];const A=[],L=[];Object.freeze(L);let D=!1;const x=U=>{if(A.length===1&&U.tokenType.PUSH_MODE===void 0){const Z=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(U);re.push({offset:U.startOffset,line:U.startLine,column:U.startColumn,length:U.image.length,message:Z})}else{A.pop();const Z=A.at(-1);y=this.patternIdxToConfig[Z],T=this.charCodeToPatternIdxToConfig[Z],S=y.length;const Ne=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;T&&Ne?D=!0:D=!1}};function j(U){A.push(U),T=this.charCodeToPatternIdxToConfig[U],y=this.patternIdxToConfig[U],S=y.length,S=y.length;const Z=this.canModeBeOptimized[U]&&this.config.safeMode===!1;T&&Z?D=!0:D=!1}j.call(this,n);let F;const te=this.config.recoveryEnabled;for(;P<k;){c=null,f=-1;const U=b.charCodeAt(P);let Z;if(D){const ge=Wt(U),le=T[ge];Z=le!==void 0?le:L}else Z=y;const Ne=Z.length;for(r=0;r<Ne;r++){F=Z[r];const ge=F.pattern;l=null;const le=F.short;if(le!==!1?U===le&&(f=1,c=ge):F.isCustom===!0?(C=ge.exec(b,P,H,N),C!==null?(c=C[0],f=c.length,C.payload!==void 0&&(l=C.payload)):c=null):(ge.lastIndex=P,f=this.matchLength(ge,e,P)),f!==-1){if(o=F.longerAlt,o!==void 0){c=e.substring(P,P+f);const be=o.length;for(s=0;s<be;s++){const Ie=y[o[s]],Ce=Ie.pattern;if(u=null,Ie.isCustom===!0?(C=Ce.exec(b,P,H,N),C!==null?(a=C[0],C.payload!==void 0&&(u=C.payload)):a=null):(Ce.lastIndex=P,a=this.match(Ce,e,P)),a&&a.length>c.length){c=a,f=a.length,l=u,F=Ie;break}}}break}}if(f!==-1){if(m=F.group,m!==void 0&&(c=c!==null?c:e.substring(P,P+f),h=F.tokenTypeIdx,E=this.createTokenInstance(c,P,h,F.tokenType,oe,ce,f),this.handlePayload(E,l),m===!1?V=this.addToken(H,V,E):N[m].push(E)),R===!0&&F.canLineTerminator===!0){let ge=0,le,be;g.lastIndex=0;do c=c!==null?c:e.substring(P,P+f),le=g.test(c),le===!0&&(be=g.lastIndex-1,ge++);while(le===!0);ge!==0?(oe=oe+ge,ce=f-be,this.updateTokenEndLineColumnLocation(E,m,be,ge,oe,ce,f)):ce=this.computeNewColumn(ce,f)}else ce=this.computeNewColumn(ce,f);P=P+f,this.handleModes(F,x,j,E)}else{const ge=P,le=oe,be=ce;let Ie=te===!1;for(;Ie===!1&&P<k;)for(P++,i=0;i<S;i++){const Ce=y[i],Y=Ce.pattern,He=Ce.short;if(He!==!1?b.charCodeAt(P)===He&&(Ie=!0):Ce.isCustom===!0?Ie=Y.exec(b,P,H,N)!==null:(Y.lastIndex=P,Ie=Y.exec(e)!==null),Ie===!0)break}if(_=P-ge,ce=this.computeNewColumn(ce,_),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(b,ge,_,le,be,A.at(-1)),re.push({offset:ge,line:le,column:be,length:_,message:I}),te===!1)break}}return this.hasCustom||(H.length=V),{tokens:H,groups:N,errors:re}}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)}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let c,l;n!==void 0&&(c=r===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}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,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-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)}match(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchLength(e,n,r){return e.test(n)===!0?e.lastIndex-r:-1}}Be.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";Be.NA=/NOT_APPLICABLE/;function rr(t){return bd(t)?t.LABEL:t.name}function bd(t){return typeof t.LABEL=="string"&&t.LABEL!==""}const Qp="parent",gl="categories",yl="label",Tl="group",Rl="push_mode",vl="pop_mode",El="longer_alt",Al="line_breaks",Sl="start_chars_hint";function wd(t){return Zp(t)}function Zp(t){const e=t.pattern,n={};if(n.name=t.name,e!==void 0&&(n.PATTERN=e),Object.hasOwn(t,Qp))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,gl)&&(n.CATEGORIES=t[gl]),Fi([n]),Object.hasOwn(t,yl)&&(n.LABEL=t[yl]),Object.hasOwn(t,Tl)&&(n.GROUP=t[Tl]),Object.hasOwn(t,vl)&&(n.POP_MODE=t[vl]),Object.hasOwn(t,Rl)&&(n.PUSH_MODE=t[Rl]),Object.hasOwn(t,El)&&(n.LONGER_ALT=t[El]),Object.hasOwn(t,Al)&&(n.LINE_BREAKS=t[Al]),Object.hasOwn(t,Sl)&&(n.START_CHARS_HINT=t[Sl]),n}const Kt=wd({name:"EOF",pattern:Be.NA});Fi([Kt]);function Dc(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function _d(t,e){return Mi(t,e)}const tr={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${bd(t)?`--> ${rr(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: ",o=`
58
+ but found: '`+e[0].image+"'";if(r)return s+r+o;{const f=`one of these possible Token sequences:
59
+ ${t.reduce((m,h)=>m.concat(h),[]).map(m=>`[${m.map(h=>rr(h)).join(", ")}]`).map((m,h)=>` ${h+1}. ${m}`).join(`
60
+ `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
61
+ but found: '`+e[0].image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${t.map(l=>`[${l.map(u=>rr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(tr);const em={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+t.name+"<-"}},An={buildDuplicateFoundError(t,e){function n(u){return u instanceof ae?u.terminalType.name:u instanceof qe?u.nonTerminalName:""}const r=t.name,i=e[0],s=i.idx,a=ht(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
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 l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
67
+ `),l},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=t.prefixPath.map(i=>rr(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=t.alternation.idx===0?"":t.alternation.idx,n=t.prefixPath.length===0;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
76
+ `;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
77
+ Only the last alternative may be empty.
78
+ `;else{const i=t.prefixPath.map(s=>rr(s)).join(", ");r+=`<${i}> may appears as a prefix path in all these alternatives.
79
+ `}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
80
+ For Further details.`,r},buildEmptyRepetitionError(t){let e=ht(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
81
+ 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.
82
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
83
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
84
+ has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=t.leftRecursionPath.map(s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
85
+ rule: <${e}> can be invoked from itself (directly or indirectly)
86
+ without consuming any Tokens. The grammar path that causes this is:
87
+ ${r}
88
+ To fix this refactor your grammar to remove the left recursion.
89
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof _r?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function tm(t,e){const n=new nm(t,e);return n.resolveRefs(),n.errors}class nm extends Nr{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(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:ze.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class rm extends la{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=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...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(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class im extends rm{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 Ve({definition:i});this.possibleTokTypes=Di(s),this.found=!0}}}class da extends la{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 sm extends da{walkMany(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Cl extends da{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class am extends da{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class kl extends da{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=n.concat(r)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function so(t,e,n=[]){n=[...n];let r=[],i=0;function s(o){return o.concat(t.slice(i+1))}function a(o){const c=so(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof Ve)return a(o.definition);if(o instanceof qe)return a(o.definition);if(o instanceof xe)r=a(o.definition);else if(o instanceof Ze){const c=o.definition.concat([new Te({definition:o.definition})]);return a(c)}else if(o instanceof et){const c=[new Ve({definition:o.definition}),new Te({definition:[new ae({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof We){const c=o.definition.concat([new Te({definition:[new ae({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof Te){const c=o.definition.concat([new Te({definition:o.definition})]);r=a(c)}else{if(o instanceof Ke)return o.definition.forEach(c=>{c.definition.length!==0&&(r=a(c.definition))}),r;if(o instanceof ae)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:t.slice(i)}),r}function om(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=e.length,l=c-r-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){const m=f.pop();if(m===a){o&&f.at(-1).idx<=l&&f.pop();continue}const h=m.def,E=m.idx,_=m.ruleStack,I=m.occurrenceStack;if(h.length===0)continue;const C=h[0];if(C===i){const b={idx:E,def:h.slice(1),ruleStack:_.slice(0,-1),occurrenceStack:I.slice(0,-1)};f.push(b)}else if(C instanceof ae)if(E<c-1){const b=E+1,k=e[b];if(n(k,C.terminalType)){const P={idx:b,def:h.slice(1),ruleStack:_,occurrenceStack:I};f.push(P)}}else if(E===c-1)u.push({nextTokenType:C.terminalType,nextTokenOccurrence:C.idx,ruleStack:_,occurrenceStack:I}),o=!0;else throw Error("non exhaustive match");else if(C instanceof qe){const b=[..._];b.push(C.nonTerminalName);const k=[...I];k.push(C.idx);const P={idx:E,def:C.definition.concat(s,h.slice(1)),ruleStack:b,occurrenceStack:k};f.push(P)}else if(C instanceof xe){const b={idx:E,def:h.slice(1),ruleStack:_,occurrenceStack:I};f.push(b),f.push(a);const k={idx:E,def:C.definition.concat(h.slice(1)),ruleStack:_,occurrenceStack:I};f.push(k)}else if(C instanceof Ze){const b=new Te({definition:C.definition,idx:C.idx}),k=C.definition.concat([b],h.slice(1)),P={idx:E,def:k,ruleStack:_,occurrenceStack:I};f.push(P)}else if(C instanceof et){const b=new ae({terminalType:C.separator}),k=new Te({definition:[b].concat(C.definition),idx:C.idx}),P=C.definition.concat([k],h.slice(1)),V={idx:E,def:P,ruleStack:_,occurrenceStack:I};f.push(V)}else if(C instanceof We){const b={idx:E,def:h.slice(1),ruleStack:_,occurrenceStack:I};f.push(b),f.push(a);const k=new ae({terminalType:C.separator}),P=new Te({definition:[k].concat(C.definition),idx:C.idx}),V=C.definition.concat([P],h.slice(1)),B={idx:E,def:V,ruleStack:_,occurrenceStack:I};f.push(B)}else if(C instanceof Te){const b={idx:E,def:h.slice(1),ruleStack:_,occurrenceStack:I};f.push(b),f.push(a);const k=new Te({definition:C.definition,idx:C.idx}),P=C.definition.concat([k],h.slice(1)),V={idx:E,def:P,ruleStack:_,occurrenceStack:I};f.push(V)}else if(C instanceof Ke)for(let b=C.definition.length-1;b>=0;b--){const k=C.definition[b],P={idx:E,def:k.definition.concat(h.slice(1)),ruleStack:_,occurrenceStack:I};f.push(P),f.push(a)}else if(C instanceof Ve)f.push({idx:E,def:C.definition.concat(h.slice(1)),ruleStack:_,occurrenceStack:I});else if(C instanceof _r)f.push(cm(C,E,_,I));else throw Error("non exhaustive match")}return u}function cm(t,e,n,r){const i=[...n];i.push(t.name);const s=[...r];return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var he;(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"})(he||(he={}));function Mc(t){if(t instanceof xe||t==="Option")return he.OPTION;if(t instanceof Te||t==="Repetition")return he.REPETITION;if(t instanceof Ze||t==="RepetitionMandatory")return he.REPETITION_MANDATORY;if(t instanceof et||t==="RepetitionMandatoryWithSeparator")return he.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof We||t==="RepetitionWithSeparator")return he.REPETITION_WITH_SEPARATOR;if(t instanceof Ke||t==="Alternation")return he.ALTERNATION;throw Error("non exhaustive match")}function bl(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Mc(r);return s===he.ALTERNATION?fa(e,n,i):ha(e,n,s,i)}function lm(t,e,n,r,i,s){const a=fa(t,e,n),o=Pd(a)?Bs:Mi;return s(a,r,o,i)}function um(t,e,n,r,i,s){const a=ha(t,e,i,n),o=Pd(a)?Bs:Mi;return s(a[0],o,r)}function dm(t,e,n,r){const i=t.length,s=t.every(a=>a.every(o=>o.length===1));if(e)return function(a){const o=a.map(c=>c.GATE);for(let c=0;c<i;c++){const l=t[c],u=l.length,f=o[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let m=0;m<u;m++){const h=l[m],E=h.length;for(let _=0;_<E;_++){const I=this.LA_FAST(_+1);if(n(I,h[_])===!1)continue e}return c}}};if(s&&!r){const o=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(m=>{Object.hasOwn(c,m)||(c[m]=u)})}),c),{});return function(){const c=this.LA_FAST(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],c=o.length;e:for(let l=0;l<c;l++){const u=o[l],f=u.length;for(let m=0;m<f;m++){const h=this.LA_FAST(m+1);if(n(h,u[m])===!1)continue e}return a}}}}function fm(t,e,n){const r=t.every(s=>s.length===1),i=t.length;if(r&&!n){const s=t.flat();if(s.length===1&&s[0].categoryMatches.length===0){const o=s[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const a=s.reduce((o,c,l)=>(o[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{o[u]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let c=0;c<o;c++){const l=this.LA_FAST(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class hm extends la{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,he.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,he.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,he.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,he.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,he.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class Nd extends Nr{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,he.OPTION)}visitRepetition(e){this.checkIsTarget(e,he.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,he.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,he.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,he.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,he.ALTERNATION)}}function wl(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function wa(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 a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const c="_"+r.categoryMatches[o];i.push(a+c)}}e=i}return e}function pm(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 a=e[s];if(i[a]===!0)return!1}}return!0}function Id(t,e){const n=t.map(a=>so([a],1)),r=wl(n.length),i=n.map(a=>{const o={};return a.forEach(c=>{wa(c.partialPath).forEach(u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=wl(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,m=l[u].suffixDef,h=wa(f);if(pm(i,h,c)||m.length===0||f.length===e){const _=r[c];if(ao(_,f)===!1){_.push(f);for(let I=0;I<h.length;I++){const C=h[I];i[c][C]=!0}}}else{const _=so(m,a+1,f);s[c]=s[c].concat(_),_.forEach(I=>{wa(I.partialPath).forEach(b=>{i[c][b]=!0})})}}}}return r}function fa(t,e,n,r){const i=new Nd(t,he.ALTERNATION,r);return e.accept(i),Id(i.result,n)}function ha(t,e,n,r){const i=new Nd(t,n);e.accept(i);const s=i.result,o=new hm(e,t,n).startWalking(),c=new Ve({definition:s}),l=new Ve({definition:o});return Id([c,l],r)}function ao(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],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function mm(t,e){return t.length<e.length&&t.every((n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Pd(t){return t.every(e=>e.every(n=>n.every(r=>r.categoryMatches.length===0)))}function gm(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(n=>Object.assign({type:ze.CUSTOM_LOOKAHEAD_VALIDATION},n))}function ym(t,e,n,r){const i=t.flatMap(c=>Tm(c,n)),s=Im(t,e,n),a=t.flatMap(c=>bm(c,n)),o=t.flatMap(c=>Em(c,t,r,n));return i.concat(s,a,o)}function Tm(t,e){const n=new vm;t.accept(n);const r=n.allProductions,i=Object.groupBy(r,Rm),s=Object.fromEntries(Object.entries(i).filter(([o,c])=>c.length>1));return Object.values(s).map(o=>{const c=o[0],l=e.buildDuplicateFoundError(t,o),u=ht(c),f={message:l,type:ze.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},m=$d(c);return m&&(f.parameter=m),f})}function Rm(t){return`${ht(t)}_#_${t.idx}_#_${$d(t)}`}function $d(t){return t instanceof ae?t.terminalType.name:t instanceof qe?t.nonTerminalName:""}class vm extends Nr{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 Em(t,e,n,r){const i=[];if(e.reduce((a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:ze.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Am(t,e,n){const r=[];let i;return e.includes(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:ze.INVALID_RULE_OVERRIDE,ruleName:t})),r}function Od(t,e,n,r=[]){const i=[],s=Ps(e.definition);if(s.length===0)return[];{const a=t.name;s.includes(t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:ze.LEFT_RECURSION,ruleName:a});const c=r.concat([t]),u=s.filter(f=>!c.includes(f)).flatMap(f=>{const m=[...r];return m.push(f),Od(t,f,n,m)});return i.concat(u)}}function Ps(t){let e=[];if(t.length===0)return e;const n=t[0];if(n instanceof qe)e.push(n.referencedRule);else if(n instanceof Ve||n instanceof xe||n instanceof Ze||n instanceof et||n instanceof We||n instanceof Te)e=e.concat(Ps(n.definition));else if(n instanceof Ke)e=n.definition.map(s=>Ps(s.definition)).flat();else if(!(n instanceof ae))throw Error("non exhaustive match");const r=qs(n),i=t.length>1;if(r&&i){const s=t.slice(1);return e.concat(Ps(s))}else return e}class Fc extends Nr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Sm(t,e){const n=new Fc;return t.accept(n),n.alternations.flatMap(s=>s.definition.slice(0,-1).flatMap((o,c)=>om([o],[],Mi,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:ze.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]))}function Cm(t,e,n){const r=new Fc;t.accept(r);let i=r.alternations;return i=i.filter(a=>a.ignoreAmbiguities!==!0),i.flatMap(a=>{const o=a.idx,c=a.maxLookahead||e,l=fa(o,t,c,a),u=_m(l,a,t,n),f=Nm(l,a,t,n);return u.concat(f)})}class km extends Nr{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 bm(t,e){const n=new Fc;return t.accept(n),n.alternations.flatMap(s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:ze.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function wm(t,e,n){const r=[];return t.forEach(i=>{const s=new km;i.accept(s),s.allProductions.forEach(o=>{const c=Mc(o),l=o.maxLookahead||e,u=o.idx;if(ha(u,i,c,l)[0].flat().length===0){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:ze.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function _m(t,e,n,r){const i=[];return t.reduce((o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{const f=[l];t.forEach((m,h)=>{l!==h&&ao(m,u)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!ao(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]).map(o=>{const c=o.alts.map(u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:ze.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function Nm(t,e,n,r){const i=t.reduce((a,o,c)=>{const l=o.map(u=>({idx:c,path:u}));return a.concat(l)},[]);return i.flatMap(a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path;return i.filter(m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx<c&&mm(m.path,l)).map(m=>{const h=[m.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:m.path}),type:ze.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:E,alternatives:h}})})}function Im(t,e,n){const r=[],i=e.map(s=>s.name);return t.forEach(s=>{const a=s.name;if(i.includes(a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:ze.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function Pm(t){const e=Object.assign({errMsgProvider:em},t),n={};return t.rules.forEach(r=>{n[r.name]=r}),tm(n,e.errMsgProvider)}function $m(t){var e;const n=(e=t.errMsgProvider)!==null&&e!==void 0?e:An;return ym(t.rules,t.tokenTypes,n,t.grammarName)}const Ld="MismatchedTokenException",xd="NoViableAltException",Dd="EarlyExitException",Md="NotAllInputParsedException",Fd=[Ld,xd,Dd,Md];Object.freeze(Fd);function Vs(t){return Fd.includes(t.name)}class pa 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 Gd extends pa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Ld}}class Om extends pa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=xd}}class Lm extends pa{constructor(e,n){super(e,n),this.name=Md}}class xm extends pa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Dd}}const _a={},jd="InRuleRecoveryException";class Dm extends Error{constructor(e){super(e),this.name=jd}}class Mm{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Ft.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Fm)}getTokenToInsert(e){const n=Dc(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(),a=this.exportLexerState(),o=[];let c=!1;const l=this.LA_FAST(1);let u=this.LA_FAST(1);const f=()=>{const m=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:m,ruleName:this.getCurrRuleFullName()}),E=new Gd(h,l,this.LA(0));E.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(E)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getNextPossibleTokenTypes(e){const n=e.ruleStack[0],i=this.getGAstProductions()[n];return new im(i,e).startWalking()}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 Dm("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||n.length===0)return!1;const r=this.LA_FAST(1);return n.find(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();return this.getFollowSetFromFollowKey(n).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA_FAST(1),r=2;for(;;){const i=e.find(s=>_d(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return _a;const e=this.currRuleShortName,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,r=this.RULE_STACK_IDX+1,i=new Array(r);for(let s=0;s<r;s++)s===0?i[s]=_a:i[s]={ruleName:this.shortRuleNameToFullName(e[s]),idxInCallingRule:n[s],inRule:this.shortRuleNameToFullName(e[s-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(n=>this.getFollowSetFromFollowKey(n)).flat()}getFollowSetFromFollowKey(e){if(e===_a)return[Kt];const n=e.ruleName+e.idxInCallingRule+Td+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,Kt)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA_FAST(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return n.slice(0,-1)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,n=new Array(e);for(let r=0;r<e;r++)n[r]=this.shortRuleNameToFullName(this.RULE_STACK[r]);return n}}function Fm(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const m=this.getCurrRuleFullName(),h=this.getGAstProductions()[m];c=new s(h,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Kt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const Gm=4,Xt=8,Ud=1<<Xt,qd=2<<Xt,oo=3<<Xt,co=4<<Xt,lo=5<<Xt,$s=6<<Xt;function Na(t,e,n){return n|e|t}class Gc{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:Ft.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(n.length===0){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 e.flatMap(n=>Od(n,n,An))}validateEmptyOrAlternatives(e){return e.flatMap(n=>Sm(n,An))}validateAmbiguousAlternationAlternatives(e,n){return e.flatMap(r=>Cm(r,n,An))}validateSomeNonEmptyLookaheadPath(e,n){return wm(e,n,An)}buildLookaheadForAlternation(e){return lm(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,dm)}buildLookaheadForOptional(e){return um(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Mc(e.prodType),fm)}}class jm{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ft.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Ft.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Gc({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=qm(n);r.forEach(l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${ht(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=Na(this.fullRuleNameToShort[n.name],Ud,l.idx);this.setLaFuncCache(m,f)})}),i.forEach(l=>{this.computeLookaheadFunc(n,l.idx,oo,"Repetition",l.maxLookahead,ht(l))}),s.forEach(l=>{this.computeLookaheadFunc(n,l.idx,qd,"Option",l.maxLookahead,ht(l))}),a.forEach(l=>{this.computeLookaheadFunc(n,l.idx,co,"RepetitionMandatory",l.maxLookahead,ht(l))}),o.forEach(l=>{this.computeLookaheadFunc(n,l.idx,$s,"RepetitionMandatoryWithSeparator",l.maxLookahead,ht(l))}),c.forEach(l=>{this.computeLookaheadFunc(n,l.idx,lo,"RepetitionWithSeparator",l.maxLookahead,ht(l))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Na(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){return Na(this.currRuleShortName,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class Um extends Nr{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 fs=new Um;function qm(t){fs.reset(),t.accept(fs);const e=fs.dslMethods;return fs.reset(),e}function _l(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Nl(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 zm(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function Bm(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const Vm="name";function zd(t,e){Object.defineProperty(t,Vm,{enumerable:!1,configurable:!0,writable:!1,value:e})}function Wm(t,e){const n=Object.keys(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let c=0;c<o;c++){const l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function Km(t,e){const n=function(){};zd(n,t+"BaseSemantics");const r={visit:function(i,s){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,s)},validateVisitor:function(){const i=Xm(this,e);if(i.length!==0){const s=i.map(a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
90
+ ${s.join(`
91
+
92
+ `).replace(/\n/g,`
93
+ `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Hm(t,e,n){const r=function(){};zd(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return e.forEach(s=>{i[s]=Wm}),r.prototype=i,r.prototype.constructor=r,r}var uo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(uo||(uo={}));function Xm(t,e){return Ym(t,e)}function Ym(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:uo.MISSING_METHOD,methodName:i})).filter(Boolean)}class Jm{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Ft.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nl,this.setNodeLocationFromNode=Nl,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=_l,this.setNodeLocationFromNode=_l,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(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_FAST(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];zm(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];Bm(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=Km(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Hm(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}}class Qm{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.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Er}LA_FAST(e){const n=this.currIdx+e;return this.tokVector[n]}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Er:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}}class Zm{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=Ks){if(this.definedRulesNames.includes(e)){const a={message:An.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ze.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Ks){const i=Am(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){var r;const i=(r=e.coreRule)!==null&&r!==void 0?r:e;return function(){this.isBackTrackingStack.push(1);const s=this.saveRecogState();try{return i.apply(this,n),!0}catch(a){if(Vs(a))return!1;throw a}finally{this.reloadRecogState(s),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return ap(Object.values(this.gastProductionsCache))}}class eg{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Bs,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
94
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
95
+ For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
96
+ Note that the first argument for the parser constructor
97
+ 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.
98
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
99
+ For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((s,a)=>(s[a.name]=a,s),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Jp)){const s=Object.values(e.modes).flat(),a=[...new Set(s)];this.tokensMap=a.reduce((o,c)=>(o[c.name]=c,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},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=Kt;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(s=>{var a;return((a=s.categoryMatches)===null||a===void 0?void 0:a.length)==0});this.tokenMatcher=i?Bs:Mi,Fi(Object.values(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'
100
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(r,"resyncEnabled")?r.resyncEnabled:Ks.resyncEnabled,s=Object.hasOwn(r,"recoveryValueFunc")?r.recoveryValueFunc:Ks.recoveryValueFunc,a=this.ruleShortNameIdx<<Gm+Xt;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...f){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,f);const m=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(m),m}catch(m){return this.invokeRuleCatch(m,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...f){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,f)}catch(m){return this.invokeRuleCatch(m,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return o.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:n,coreRule:o})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK_IDX===0,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Vs(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),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,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(qd,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 a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(co,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 a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,he.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,co,e,am)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead($s,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 o=()=>this.tokenMatcher(this.LA_FAST(1),s);for(;this.tokenMatcher(this.LA_FAST(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,kl],o,$s,e,kl)}else throw this.raiseEarlyExitException(e,he.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(oo,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 o=n.GATE;if(o!==void 0){const c=i;i=()=>o.call(this)&&c.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,oo,e,sm,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(lo,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 o=()=>this.tokenMatcher(this.LA_FAST(1),s);for(;this.tokenMatcher(this.LA_FAST(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Cl],o,lo,e,Cl)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,$s,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ud,n),i=Array.isArray(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.coreRule.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 Vs(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_FAST(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 Gd(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===jd?r:s}}else throw r}saveRecogState(){const e=this.errors,n=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const n=e.RULE_STACK;for(let r=0;r<n.length;r++)this.RULE_STACK[r]=n[r];this.RULE_STACK_IDX=n.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=r,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Kt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let n=0;n<this.maxLookahead+1;n++)this.tokVector.push(Er)}onAfterParse(e){if(this.isAtEndOfInput()===!1){const n=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:n,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Lm(r,n))}for(;this.tokVector.at(-1)===Er;)this.tokVector.pop()}}class tg{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Ft.errorMessageProvider}SAVE_ERROR(e){if(Vs(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=ha(e,s,n,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new xm(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=fa(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));const o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Om(c,this.LA(1),o))}}const ma={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ma);const Il=!0,Pl=Math.pow(2,Xt)-1,Bd=wd({name:"RECORDING_PHASE_TOKEN",pattern:Be.NA});Fi([Bd]);const Vd=Dc(Bd,`This IToken indicates the Parser is in Recording Phase
101
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Vd);const ng={name:`This CSTNode indicates the Parser is in Recording Phase
102
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class rg{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 Er}topLevelRuleRecord(e,n){try{const r=new _r({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+`
103
+ This error was thrown during the "grammar recording phase" For more info see:
104
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Xr.call(this,xe,e,n)}atLeastOneInternalRecord(e,n){Xr.call(this,Ze,n,e)}atLeastOneSepFirstInternalRecord(e,n){Xr.call(this,et,n,e,Il)}manyInternalRecord(e,n){Xr.call(this,Te,n,e)}manySepFirstInternalRecord(e,n){Xr.call(this,We,n,e,Il)}orInternalRecord(e,n){return ig.call(this,e,n)}subruleInternalRecord(e,n,r){if(Ws(n),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(`<SUBRULE${$l(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
105
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),s=e.ruleName,a=new qe({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?ng:ma}consumeInternalRecord(e,n,r){if(Ws(n),!kd(e)){const a=new Error(`<CONSUME${$l(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
106
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=this.recordingProdStack.at(-1),s=new ae({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Vd}}function Xr(t,e,n,r=!1){Ws(n);const i=this.recordingProdStack.at(-1),s=typeof e=="function"?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),ma}function ig(t,e){Ws(e);const n=this.recordingProdStack.at(-1),r=Array.isArray(t)===!1,i=r===!1?t:t.DEF,s=new Ke({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=i.some(o=>typeof o.GATE=="function");return s.hasPredicates=a,n.definition.push(s),i.forEach(o=>{const c=new Ve({definition:[]});s.definition.push(c),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),ma}function $l(t){return t===0?"":`${t}`}function Ws(t){if(t<0||t>Pl){const e=new Error(`Invalid DSL Method idx value: <${t}>
107
+ Idx value must be a none negative value smaller than ${Pl+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class sg{initPerformanceTracer(e){if(Object.hasOwn(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=Ft.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}=gd(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function ag(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 Er=Dc(Kt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er);const Ft=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:tr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ks=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var ze;(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"})(ze||(ze={}));function Ol(t=void 0){return function(){return t}}class Gi{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",()=>{yd(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=Pm({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(r.length===0&&this.skipValidations===!1){const i=$m({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:An,grammarName:n}),s=gm({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=hp(Object.values(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:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!Gi.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
108
+ ${e.join(`
109
+ -------------------------------
110
+ `)}`)})}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.initGastRecorder(n),r.initPerformanceTracer(n),Object.hasOwn(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
111
+ Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
112
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
113
+ For further details.`);this.skipValidations=Object.hasOwn(n,"skipValidations")?n.skipValidations:Ft.skipValidations}}Gi.DEFER_DEFINITION_ERRORS_HANDLING=!1;ag(Gi,[Mm,jm,Jm,Qm,eg,Zm,tg,rg,sg]);class og extends Gi{constructor(e,n=Ft){const r=Object.assign({},n);r.outputCst=!1,super(e,r)}}function Ar(t,e,n){return`${t.name}_${e}_${n}`}const Ht=1,cg=2,Wd=4,Kd=5,ji=7,lg=8,ug=9,dg=10,fg=11,Hd=12;class jc{constructor(e){this.target=e}isEpsilon(){return!1}}class Uc extends jc{constructor(e,n){super(e),this.tokenType=n}}class Xd extends jc{constructor(e){super(e)}isEpsilon(){return!0}}class qc extends jc{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function hg(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};pg(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=In(e,i,i);s!==void 0&&kg(e,i,s)}return e}function pg(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=_e(t,i,void 0,{type:cg}),a=_e(t,i,void 0,{type:ji});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Yd(t,e,n){return n instanceof ae?zc(t,e,n.terminalType,n):n instanceof qe?Cg(t,e,n):n instanceof Ke?Rg(t,e,n):n instanceof xe?vg(t,e,n):n instanceof Te?mg(t,e,n):n instanceof We?gg(t,e,n):n instanceof Ze?yg(t,e,n):n instanceof et?Tg(t,e,n):In(t,e,n)}function mg(t,e,n){const r=_e(t,e,n,{type:Kd});Yt(t,r);const i=Ir(t,e,r,n,In(t,e,n));return Qd(t,e,n,i)}function gg(t,e,n){const r=_e(t,e,n,{type:Kd});Yt(t,r);const i=Ir(t,e,r,n,In(t,e,n)),s=zc(t,e,n.separator,n);return Qd(t,e,n,i,s)}function yg(t,e,n){const r=_e(t,e,n,{type:Wd});Yt(t,r);const i=Ir(t,e,r,n,In(t,e,n));return Jd(t,e,n,i)}function Tg(t,e,n){const r=_e(t,e,n,{type:Wd});Yt(t,r);const i=Ir(t,e,r,n,In(t,e,n)),s=zc(t,e,n.separator,n);return Jd(t,e,n,i,s)}function Rg(t,e,n){const r=_e(t,e,n,{type:Ht});Yt(t,r);const i=Lt(n.definition,a=>Yd(t,e,a));return Ir(t,e,r,n,...i)}function vg(t,e,n){const r=_e(t,e,n,{type:Ht});Yt(t,r);const i=Ir(t,e,r,n,In(t,e,n));return Eg(t,e,n,i)}function In(t,e,n){const r=eh(Lt(n.definition,i=>Yd(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Sg(t,r)}function Jd(t,e,n,r,i){const s=r.left,a=r.right,o=_e(t,e,n,{type:fg});Yt(t,o);const c=_e(t,e,n,{type:Hd});return s.loopback=o,c.loopback=o,t.decisionMap[Ar(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,ke(a,o),i===void 0?(ke(o,s),ke(o,c)):(ke(o,c),ke(o,i.left),ke(i.right,s)),{left:s,right:c}}function Qd(t,e,n,r,i){const s=r.left,a=r.right,o=_e(t,e,n,{type:dg});Yt(t,o);const c=_e(t,e,n,{type:Hd}),l=_e(t,e,n,{type:ug});return o.loopback=l,c.loopback=l,ke(o,s),ke(o,c),ke(a,l),i!==void 0?(ke(l,c),ke(l,i.left),ke(i.right,s)):ke(l,o),t.decisionMap[Ar(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function Eg(t,e,n,r){const i=r.left,s=r.right;return ke(i,s),t.decisionMap[Ar(e,"Option",n.idx)]=i,r}function Yt(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Ir(t,e,n,r,...i){const s=_e(t,e,r,{type:lg,start:n});n.end=s;for(const o of i)o!==void 0?(ke(n,o.left),ke(o.right,s)):ke(n,s);const a={left:n,right:s};return t.decisionMap[Ar(e,Ag(r),r.idx)]=n,a}function Ag(t){if(t instanceof Ke)return"Alternation";if(t instanceof xe)return"Option";if(t instanceof Te)return"Repetition";if(t instanceof We)return"RepetitionWithSeparator";if(t instanceof Ze)return"RepetitionMandatory";if(t instanceof et)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Sg(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const c=o instanceof qc,l=o,u=e[s+1].left;a.left.type===Ht&&a.right.type===Ht&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,bg(t,a.right)):ke(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function zc(t,e,n,r){const i=_e(t,e,r,{type:Ht}),s=_e(t,e,r,{type:Ht});return Bc(i,new Uc(s,n)),{left:i,right:s}}function Cg(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=_e(t,e,n,{type:Ht}),a=_e(t,e,n,{type:Ht}),o=new qc(i,r,a);return Bc(s,o),{left:s,right:a}}function kg(t,e,n){const r=t.ruleToStartState.get(e);ke(r,n.left);const i=t.ruleToStopState.get(e);return ke(n.right,i),{left:r,right:i}}function ke(t,e){const n=new Xd(e);Bc(t,n)}function _e(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 Bc(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function bg(t,e){t.states.splice(t.states.indexOf(e),1)}const Hs={};class fo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Zd(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Lt(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Zd(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function wg(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 ef{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 Ll=new ef;class _g extends Gc{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=hg(e.rules),this.dfas=Ng(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Ar(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=Lt(bl({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),m=>Lt(m,h=>h[0]));if(xl(f,!1)&&!s){const m=Qc(f,(h,E,_)=>(va(E,I=>{I&&(h[I.tokenTypeIdx]=_,va(I.categoryMatches,C=>{h[C]=_}))}),h),{});return i?function(h){var E;const _=this.LA_FAST(1),I=m[_.tokenTypeIdx];if(h!==void 0&&I!==void 0){const C=(E=h[I])===null||E===void 0?void 0:E.GATE;if(C!==void 0&&C.call(this)===!1)return}return I}:function(){const h=this.LA_FAST(1);return m[h.tokenTypeIdx]}}else return i?function(m){const h=new ef,E=m===void 0?0:m.length;for(let I=0;I<E;I++){const C=m==null?void 0:m[I].GATE;h.set(I,C===void 0||C.call(this))}const _=Ia.call(this,a,u,h,o);return typeof _=="number"?_:void 0}:function(){const m=Ia.call(this,a,u,Ll,o);return typeof m=="number"?m:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Ar(r,i,n),u=this.atn.decisionMap[c].decision,f=Lt(bl({maxLookahead:1,occurrence:n,prodType:i,rule:r}),m=>Lt(m,h=>h[0]));if(xl(f)&&f[0][0]&&!s){const m=f[0],h=Xf(m);if(h.length===1&&th(h[0].categoryMatches)){const _=h[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===_}}else{const E=Qc(h,(_,I)=>(I!==void 0&&(_[I.tokenTypeIdx]=!0,va(I.categoryMatches,C=>{_[C]=!0})),_),{});return function(){const _=this.LA_FAST(1);return E[_.tokenTypeIdx]===!0}}}return function(){const m=Ia.call(this,a,u,Ll,o);return typeof m=="object"?!1:m===0}}}function xl(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 a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function Ng(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=wg(t.decisionStates[r],r);return n}function Ia(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=jg(i.atnStartState);s=nf(i,tf(o)),i.start=s}return Ig.apply(this,[i,s,n,r])}function Ig(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA_FAST(s++);for(;;){let c=Dg(i,o);if(c===void 0&&(c=Pg.apply(this,[t,i,o,s,n,r])),c===Hs)return xg(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function Pg(t,e,n,r,i,s){const a=Mg(e.configs,n,i);if(a.size===0)return Dl(t,e,n,Hs),Hs;let o=tf(a);const c=Gg(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(Bg(a)){const l=Yf(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,$g.apply(this,[t,r,a.alts,s])}return o=Dl(t,e,n,o),o}function $g(t,e,n,r){const i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,c=Og({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function Og(t){const e=Lt(t.prefixPath,i=>rr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Lg(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
114
+ <${e}> may appears as a prefix path in all these alternatives.
115
+ `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
116
+ For Further details.`,r}function Lg(t){if(t instanceof qe)return"SUBRULE";if(t instanceof xe)return"OPTION";if(t instanceof Ke)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof et)return"AT_LEAST_ONE_SEP";if(t instanceof We)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof ae)return"CONSUME";throw Error("non exhaustive match")}function xg(t,e,n){const r=nh(e.configs.elements,s=>s.state.transitions),i=rh(r.filter(s=>s instanceof Uc).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function Dg(t,e){return t.edges[e.tokenTypeIdx]}function Mg(t,e,n){const r=new fo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===ji){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=Fg(l,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new fo;for(const a of r.elements)Xs(a,s)}if(i.length>0&&!qg(s))for(const a of i)s.add(a);return s}function Fg(t,e){if(t instanceof Uc&&_d(e,t.tokenType))return t.target}function Gg(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 tf(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Dl(t,e,n,r){return r=nf(t,r),e.edges[n.tokenTypeIdx]=r,r}function nf(t,e){if(e===Hs)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 jg(t){const e=new fo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Xs(s,e)}return e}function Xs(t,e){const n=t.state;if(n.type===ji){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Xs(a,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],a=Ug(t,s);a!==void 0&&Xs(a,e)}}function Ug(t,e){if(e instanceof Xd)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof qc){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function qg(t){for(const e of t.elements)if(e.state.type===ji)return!0;return!1}function zg(t){for(const e of t.elements)if(e.state.type!==ji)return!1;return!0}function Bg(t){if(zg(t))return!0;const e=Vg(t.elements);return Wg(e)&&!Kg(e)}function Vg(t){const e=new Map;for(const n of t){const r=Zd(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function Wg(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Kg(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var ho;(function(t){function e(n){return typeof n=="string"}t.is=e})(ho||(ho={}));var Ys;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ys||(Ys={}));var po;(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})(po||(po={}));var Si;(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})(Si||(Si={}));var Q;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Si.MAX_VALUE),i===Number.MAX_VALUE&&(i=Si.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=n})(Q||(Q={}));var K;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:Q.create(r,i),end:Q.create(s,a)};if(Q.is(r)&&Q.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&Q.is(i.start)&&Q.is(i.end)}t.is=n})(K||(K={}));var Ci;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&K.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Ci||(Ci={}));var mo;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&K.is(i.targetRange)&&v.string(i.targetUri)&&K.is(i.targetSelectionRange)&&(K.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(mo||(mo={}));var Js;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=n})(Js||(Js={}));var go;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&K.is(i.range)&&Js.is(i.color)}t.is=n})(go||(go={}));var yo;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||mt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,mt.is))}t.is=n})(yo||(yo={}));var To;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(To||(To={}));var Ro;(function(t){function e(r,i,s,a,o,c){const l={startLine:r,endLine:i};return v.defined(s)&&(l.startCharacter=s),v.defined(a)&&(l.endCharacter=a),v.defined(o)&&(l.kind=o),v.defined(c)&&(l.collapsedText=c),l}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=n})(Ro||(Ro={}));var Qs;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Ci.is(i.location)&&v.string(i.message)}t.is=n})(Qs||(Qs={}));var vo;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(vo||(vo={}));var Eo;(function(t){t.Unnecessary=1,t.Deprecated=2})(Eo||(Eo={}));var Ao;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Ao||(Ao={}));var ki;(function(t){function e(r,i,s,a,o,c){let l={range:r,message:i};return v.defined(s)&&(l.severity=s),v.defined(a)&&(l.code=a),v.defined(o)&&(l.source=o),v.defined(c)&&(l.relatedInformation=c),l}t.create=e;function n(r){var i;let s=r;return v.defined(s)&&K.is(s.range)&&v.string(s.message)&&(v.number(s.severity)||v.undefined(s.severity))&&(v.integer(s.code)||v.string(s.code)||v.undefined(s.code))&&(v.undefined(s.codeDescription)||v.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(s.source)||v.undefined(s.source))&&(v.undefined(s.relatedInformation)||v.typedArray(s.relatedInformation,Qs.is))}t.is=n})(ki||(ki={}));var _n;(function(t){function e(r,i,...s){let a={title:r,command:i};return v.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=n})(_n||(_n={}));var mt;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return v.objectLiteral(a)&&v.string(a.newText)&&K.is(a.range)}t.is=i})(mt||(mt={}));var Sn;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=n})(Sn||(Sn={}));var Le;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(Le||(Le={}));var Ot;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return mt.is(a)&&(Sn.is(a.annotationId)||Le.is(a.annotationId))}t.is=i})(Ot||(Ot={}));var bi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&wi.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(bi||(bi={}));var Sr;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(Sr||(Sr={}));var Cr;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(Cr||(Cr={}));var kr;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Le.is(i.annotationId))}t.is=n})(kr||(kr={}));var Zs;(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=>v.string(i.kind)?Sr.is(i)||Cr.is(i)||kr.is(i):bi.is(i)))}t.is=e})(Zs||(Zs={}));class hs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=mt.insert(e,n):Le.is(r)?(s=r,i=Ot.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Ot.insert(e,n,s)),this.edits.push(i),s!==void 0)return s}replace(e,n,r){let i,s;if(r===void 0?i=mt.replace(e,n):Le.is(r)?(s=r,i=Ot.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Ot.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=mt.del(e):Le.is(n)?(i=n,r=Ot.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Ot.del(e,i)),this.edits.push(r),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class Ml{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,n){let r;if(Le.is(e)?r=e:(r=this.nextId(),n=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(n===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=n,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class Hg{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Ml(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(bi.is(n)){const r=new hs(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new hs(e.changes[n]);this._textEditChanges[n]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(wi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const n={uri:e.uri,version:e.version};let r=this._textEditChanges[n.uri];if(!r){const i=[],s={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(s),r=new hs(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let n=this._textEditChanges[e];if(!n){let r=[];this._workspaceEdit.changes[e]=r,n=new hs(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ml,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Sn.is(n)||Le.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Sr.create(e,r):(a=Le.is(i)?i:this._changeAnnotations.manage(i),s=Sr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;Sn.is(r)||Le.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Cr.create(e,n,i):(o=Le.is(s)?s:this._changeAnnotations.manage(s),a=Cr.create(e,n,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Sn.is(n)||Le.is(n)?i=n:r=n;let s,a;if(i===void 0?s=kr.create(e,r):(a=Le.is(i)?i:this._changeAnnotations.manage(i),s=kr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var So;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)}t.is=n})(So||(So={}));var Co;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=n})(Co||(Co={}));var wi;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=n})(wi||(wi={}));var ko;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=n})(ko||(ko={}));var ea;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(ea||(ea={}));var br;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&ea.is(r.kind)&&v.string(r.value)}t.is=e})(br||(br={}));var bo;(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})(bo||(bo={}));var wo;(function(t){t.PlainText=1,t.Snippet=2})(wo||(wo={}));var _o;(function(t){t.Deprecated=1})(_o||(_o={}));var No;(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&&v.string(i.newText)&&K.is(i.insert)&&K.is(i.replace)}t.is=n})(No||(No={}));var Io;(function(t){t.asIs=1,t.adjustIndentation=2})(Io||(Io={}));var Po;(function(t){function e(n){const r=n;return r&&(v.string(r.detail)||r.detail===void 0)&&(v.string(r.description)||r.description===void 0)}t.is=e})(Po||(Po={}));var $o;(function(t){function e(n){return{label:n}}t.create=e})($o||($o={}));var Oo;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Oo||(Oo={}));var _i;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=n})(_i||(_i={}));var Lo;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(br.is(r.contents)||_i.is(r.contents)||v.typedArray(r.contents,_i.is))&&(n.range===void 0||K.is(n.range))}t.is=e})(Lo||(Lo={}));var xo;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(xo||(xo={}));var Do;(function(t){function e(n,r,...i){let s={label:n};return v.defined(r)&&(s.documentation=r),v.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Do||(Do={}));var Mo;(function(t){t.Text=1,t.Read=2,t.Write=3})(Mo||(Mo={}));var Fo;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(Fo||(Fo={}));var Go;(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})(Go||(Go={}));var jo;(function(t){t.Deprecated=1})(jo||(jo={}));var Uo;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Uo||(Uo={}));var qo;(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})(qo||(qo={}));var zo;(function(t){function e(r,i,s,a,o,c){let l={name:r,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function n(r){let i=r;return i&&v.string(i.name)&&v.number(i.kind)&&K.is(i.range)&&K.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(zo||(zo={}));var Bo;(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"})(Bo||(Bo={}));var Ni;(function(t){t.Invoked=1,t.Automatic=2})(Ni||(Ni={}));var Vo;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.typedArray(i.diagnostics,ki.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Ni.Invoked||i.triggerKind===Ni.Automatic)}t.is=n})(Vo||(Vo={}));var Wo;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):_n.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,ki.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||_n.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||Zs.is(i.edit))}t.is=n})(Wo||(Wo={}));var Ko;(function(t){function e(r,i){let s={range:r};return v.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.command)||_n.is(i.command))}t.is=n})(Ko||(Ko={}));var Ho;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=n})(Ho||(Ho={}));var Xo;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Xo||(Xo={}));var Yo;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&K.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(Yo||(Yo={}));var Jo;(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"})(Jo||(Jo={}));var Qo;(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"})(Qo||(Qo={}));var Zo;(function(t){function e(n){const r=n;return v.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})(Zo||(Zo={}));var ec;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&K.is(i.range)&&v.string(i.text)}t.is=n})(ec||(ec={}));var tc;(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&&K.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(tc||(tc={}));var nc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&K.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(nc||(nc={}));var rc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&K.is(r.stoppedLocation)}t.is=n})(rc||(rc={}));var ta;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(ta||(ta={}));var na;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||br.is(i.tooltip))&&(i.location===void 0||Ci.is(i.location))&&(i.command===void 0||_n.is(i.command))}t.is=n})(na||(na={}));var ic;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&Q.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,na.is))&&(i.kind===void 0||ta.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,mt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||br.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(ic||(ic={}));var sc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(sc||(sc={}));var ac;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(ac||(ac={}));var oc;(function(t){function e(n){return{items:n}}t.create=e})(oc||(oc={}));var cc;(function(t){t.Invoked=0,t.Automatic=1})(cc||(cc={}));var lc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(lc||(lc={}));var uc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(uc||(uc={}));var dc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Ys.is(r.uri)&&v.string(r.name)}t.is=e})(dc||(dc={}));const Xg=[`
117
+ `,`\r
118
+ `,"\r"];var fc;(function(t){function e(s,a,o,c){return new Yg(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],m=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=l)o=o.substring(0,m)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");l=m}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,m=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[m++]=c[u++]:s[m++]=l[f++];for(;u<c.length;)s[m++]=c[u++];for(;f<l.length;)s[m++]=l[f++];return s}})(fc||(fc={}));let Yg=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===`
119
+ `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
120
+ `&&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 Q.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return Q.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 v;(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 a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,E,_){return e.call(h)==="[object Number]"&&E<=h&&h<=_}t.numberRange=o;function c(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=c;function l(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=l;function u(h){return e.call(h)==="[object Function]"}t.func=u;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function m(h,E){return Array.isArray(h)&&h.every(E)}t.typedArray=m})(v||(v={}));const Jg=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Ot},get ChangeAnnotation(){return Sn},get ChangeAnnotationIdentifier(){return Le},get CodeAction(){return Wo},get CodeActionContext(){return Vo},get CodeActionKind(){return Bo},get CodeActionTriggerKind(){return Ni},get CodeDescription(){return Ao},get CodeLens(){return Ko},get Color(){return Js},get ColorInformation(){return go},get ColorPresentation(){return yo},get Command(){return _n},get CompletionItem(){return $o},get CompletionItemKind(){return bo},get CompletionItemLabelDetails(){return Po},get CompletionItemTag(){return _o},get CompletionList(){return Oo},get CreateFile(){return Sr},get DeleteFile(){return kr},get Diagnostic(){return ki},get DiagnosticRelatedInformation(){return Qs},get DiagnosticSeverity(){return vo},get DiagnosticTag(){return Eo},get DocumentHighlight(){return Fo},get DocumentHighlightKind(){return Mo},get DocumentLink(){return Xo},get DocumentSymbol(){return zo},get DocumentUri(){return ho},EOL:Xg,get FoldingRange(){return Ro},get FoldingRangeKind(){return To},get FormattingOptions(){return Ho},get Hover(){return Lo},get InlayHint(){return ic},get InlayHintKind(){return ta},get InlayHintLabelPart(){return na},get InlineCompletionContext(){return uc},get InlineCompletionItem(){return ac},get InlineCompletionList(){return oc},get InlineCompletionTriggerKind(){return cc},get InlineValueContext(){return rc},get InlineValueEvaluatableExpression(){return nc},get InlineValueText(){return ec},get InlineValueVariableLookup(){return tc},get InsertReplaceEdit(){return No},get InsertTextFormat(){return wo},get InsertTextMode(){return Io},get Location(){return Ci},get LocationLink(){return mo},get MarkedString(){return _i},get MarkupContent(){return br},get MarkupKind(){return ea},get OptionalVersionedTextDocumentIdentifier(){return wi},get ParameterInformation(){return xo},get Position(){return Q},get Range(){return K},get RenameFile(){return Cr},get SelectedCompletionInfo(){return lc},get SelectionRange(){return Yo},get SemanticTokenModifiers(){return Qo},get SemanticTokenTypes(){return Jo},get SemanticTokens(){return Zo},get SignatureInformation(){return Do},get StringValue(){return sc},get SymbolInformation(){return Uo},get SymbolKind(){return Go},get SymbolTag(){return jo},get TextDocument(){return fc},get TextDocumentEdit(){return bi},get TextDocumentIdentifier(){return So},get TextDocumentItem(){return ko},get TextEdit(){return mt},get URI(){return Ys},get VersionedTextDocumentIdentifier(){return Co},WorkspaceChange:Hg,get WorkspaceEdit(){return Zs},get WorkspaceFolder(){return dc},get WorkspaceSymbol(){return qo},get integer(){return po},get uinteger(){return Si}},Symbol.toStringTag,{value:"Module"}));class Qg{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new sf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Vc;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new hc(e.startOffset,e.image.length,eo(e),e.tokenType,!n);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)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new hc(s.startOffset,s.image.length,eo(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class rf{get hidden(){return!1}get astNode(){var n,r;const e=typeof((n=this._astNode)==null?void 0:n.$type)=="string"?this._astNode:(r=this.container)==null?void 0:r.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class hc extends rf{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 Vc extends rf{constructor(){super(...arguments),this.content=new Wc(this)}get offset(){var e;return((e=this.firstNonHiddenNode)==null?void 0:e.offset)??0}get length(){return this.end-this.offset}get end(){var e;return((e=this.lastNonHiddenNode)==null?void 0:e.end)??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:Q.create(0,0),end:Q.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 Wc extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Wc.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 sf extends Vc{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const pc=Symbol("Datatype");function Pa(t){return t.$type===pc}const Fl="​",af=t=>t.endsWith(Fl)?t:t+Fl;class of{constructor(e){var i;this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";(i=e.shared.profilers.LangiumProfiler)!=null&&i.isActive("parsing")?this.wrapper=new ry(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new lf(n,{...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 Zg extends of{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Qg,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=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);let i;Fs(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(af(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),Gt(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){const n=e.name,r=new Map;for(let i=0;i<e.operators.precedences.length;i++){const s=e.operators.precedences[i];for(const a of s.operators)r.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(n,r)}computeRuleType(e){return Fs(e)?Ai(e):e.fragment?void 0:fd(e)?pc:Ai(e)}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=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=this.doParse(i);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Wa(s,{deep:!0}),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let n=this.wrapper.rule(e);if(this.stack.length>0&&(n=this.construct()),n===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return n}startImplementation(e,n,r){return i=>{const s=!this.isRecording()&&e!==void 0;if(s){const a={$type:e};this.stack.push(a),e===pc?a.value="":n!==void 0&&(a.$infixName=n)}return r(i),s?this.construct():void 0}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,crossRef:c}=this.getAssignment(r),l=this.current;if(o){const u=kn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(Pa(l)){let u=i.image;kn(r)||(u=this.converter.convert(u,a).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,n,s)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,n,r){const{assignment:i,crossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Pa(a))a.value+=e.toString();else if(typeof e=="object"&&e){const c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}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)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Pa(e)?this.converter.convert(e.value,e.$cstNode):(ah(this.astReflection,e),e)}constructInfix(e,n){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const i=e.operators;if(!Array.isArray(i)||r.length<2)return r[0];let s=0,a=-1;for(let _=0;_<i.length;_++){const I=i[_],C=n.get(I)??{precedence:1/0,rightAssoc:!1};C.precedence>a?(a=C.precedence,s=_):C.precedence===a&&(C.rightAssoc||(s=_))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},h=this.constructInfix(f,n),E=this.constructInfix(m,n);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:i[s],right:E}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=ia(e,Cn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&aa(n.terminal)?n.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s==="single"&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):s==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),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 ey{buildMismatchTokenMessage(e){return tr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return tr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return tr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return tr.buildEarlyExitMessage(e)}}class cf extends ey{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 ty extends of{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(af(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,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}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 ny={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new cf};class lf extends og{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...ny,lookaheadStrategy:r?new Gc({maxLookahead:n.maxLookahead}):new _g({logging:n.skipValidations?()=>{}:void 0}),...n})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n,r){return this.RULE(e,n,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n,void 0)}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)}rule(e){return e.call(this,{})}}class ry extends lf{constructor(e,n,r){super(e,n),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,n,r){this.task.startSubTask(this.ruleName(n));try{return super.subrule(e,n,r)}finally{this.task.stopSubTask(this.ruleName(n))}}}function uf(t,e,n){return iy({parser:e,tokens:n,ruleNames:new Map},t),e}function iy(t,e){const n=od(e,!1),r=fe(e.rules).filter(Gt).filter(s=>n.has(s));for(const s of r){const a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Nn(a,s.definition))}const i=fe(e.rules).filter(Fs).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,sy(t,s))}function sy(t,e){const n=e.call.rule.ref;if(!n)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(jt(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(h=>h.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);const c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:r}},l={...s,$container:a};a.elements.push(c,l);const f=r.map(h=>t.tokens[h.value]).map((h,E)=>({ALT:()=>t.parser.consume(E,h,c)}));let m;return h=>{m??(m=Kc(t,n)),t.parser.subrule(0,m,!1,s,h),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,m,!1,l,h)}})}}function Nn(t,e,n=!1){let r;if(kn(e))r=fy(t,e);else if(sa(e))r=ay(t,e);else if(Cn(e))r=Nn(t,e.terminal);else if(aa(e))r=df(t,e);else if(bn(e))r=oy(t,e);else if(ed(e))r=ly(t,e);else if(nd(e))r=uy(t,e);else if(Pc(e))r=dy(t,e);else if(fh(e)){const i=t.consume++;r=()=>t.parser.consume(i,Kt,e)}else throw new id(e.$cstNode,`Unexpected element type: ${e.$type}`);return ff(t,n?void 0:ra(e),r,e.cardinality)}function ay(t,e){const n=Ai(e);return()=>t.parser.action(n,e)}function oy(t,e){const n=e.rule.ref;if(Li(n)){const r=t.subrule++,i=Gt(n)&&n.fragment,s=e.arguments.length>0?cy(n,e.arguments):()=>({});let a;return o=>{a??(a=Kc(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(jt(n)){const r=t.consume++,i=mc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)xi();else throw new id(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function cy(t,e){if(e.some(r=>r.calledByName)){const r=e.map(i=>{var s,a;return{parameterName:(a=(s=i.parameter)==null?void 0:s.ref)==null?void 0:a.name,predicate:pt(i.value)}});return i=>{const s={};for(const{parameterName:a,predicate:o}of r)a&&(s[a]=o(i));return s}}else{const r=e.map(i=>pt(i.value));return i=>{const s={};for(let a=0;a<r.length;a++)if(a<t.parameters.length){const o=t.parameters[a].name,c=r[a];s[o]=c(i)}return s}}}function pt(t){if(dh(t)){const e=pt(t.left),n=pt(t.right);return r=>e(r)||n(r)}else if(uh(t)){const e=pt(t.left),n=pt(t.right);return r=>e(r)&&n(r)}else if(mh(t)){const e=pt(t.value);return n=>!e(n)}else if(gh(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(ch(t)){const e=!!t.true;return()=>e}xi()}function ly(t,e){if(e.elements.length===1)return Nn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Nn(t,i,!0)},a=ra(i);a&&(s.GATE=pt(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function uy(t,e){if(e.elements.length===1)return Nn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Nn(t,o,!0)},l=ra(o);l&&(c.GATE=pt(l)),n.push(c)}const r=t.or++,i=(o,c)=>{const l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(r,n.map((c,l)=>{const u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(o),!f.isRecording()){const h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const E=f.unorderedGroups.get(h);typeof(E==null?void 0:E[l])>"u"&&(E[l]=!0)}};const m=c.GATE;return m?u.GATE=()=>m(o):u.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[l])},u})),a=ff(t,ra(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function dy(t,e){const n=e.elements.map(r=>Nn(t,r));return r=>n.forEach(i=>i(r))}function ra(t){if(Pc(t))return t.guardCondition}function df(t,e,n=e.terminal){if(n)if(bn(n)&&Gt(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=Kc(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(bn(n)&&jt(n.rule.ref)){const r=t.consume++,i=mc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(kn(n)){const r=t.consume++,i=mc(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=ud(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Ai(e.type.ref));return df(t,e,i)}}function fy(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 ff(t,e,n,r){const i=e&&pt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:Ol(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:Ol(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else xi()}function Kc(t,e){const n=hy(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function hy(t,e){if(Li(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Gt(r);)(Pc(r)||ed(r)||nd(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 mc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function py(t){const e=t.Grammar,n=t.parser.Lexer,r=new ty(t);return uf(e,r,n.definition),r.finalize(),r}function my(t){const e=gy(t);return e.finalize(),e}function gy(t){const e=t.Grammar,n=t.parser.Lexer,r=new Zg(t);return uf(e,r,n.definition)}class hf{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=fe(od(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(jt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Oc(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=ad(n)?Be.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}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(Li).flatMap(i=>Oi(i).filter(kn)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!(r!=null&&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(ca(e.value),"i"):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&jh("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class pf{convert(e,n){let r=n.grammarSource;if(aa(r)&&(r=Bh(r)),bn(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 It.convertInt(n);case"STRING":return It.convertString(n);case"ID":return It.convertID(n)}switch((i=Jh(e))==null?void 0:i.toLowerCase()){case"number":return It.convertNumber(n);case"boolean":return It.convertBoolean(n);case"bigint":return It.convertBigint(n);case"date":return It.convertDate(n);default:return n}}}var It;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const m=l.charAt(f);if(m==="\\"){const h=l.charAt(++f);u+=n(h)}else u+=m}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
121
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function r(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=r;function i(l){return parseInt(l)}t.convertInt=i;function s(l){return BigInt(l)}t.convertBigint=s;function a(l){return new Date(l)}t.convertDate=a;function o(l){return Number(l)}t.convertNumber=o;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(It||(It={}));var sn={},ps={},Gl;function Pn(){if(Gl)return ps;Gl=1,Object.defineProperty(ps,"__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={})),ps.default=e,ps}var Pe={},jl;function Ui(){if(jl)return Pe;jl=1,Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.stringArray=Pe.array=Pe.func=Pe.error=Pe.number=Pe.string=Pe.boolean=void 0;function t(o){return o===!0||o===!1}Pe.boolean=t;function e(o){return typeof o=="string"||o instanceof String}Pe.string=e;function n(o){return typeof o=="number"||o instanceof Number}Pe.number=n;function r(o){return o instanceof Error}Pe.error=r;function i(o){return typeof o=="function"}Pe.func=i;function s(o){return Array.isArray(o)}Pe.array=s;function a(o){return s(o)&&o.every(c=>e(c))}return Pe.stringArray=a,Pe}var an={},Ul;function Pr(){if(Ul)return an;Ul=1,Object.defineProperty(an,"__esModule",{value:!0}),an.Emitter=an.Event=void 0;const t=Pn();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(an.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let c=0,l=this._callbacks.length;c<l;c++)if(this._callbacks[c]===s)if(this._contexts[c]===a){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else o=!0;if(o)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 a=[],o=this._callbacks.slice(0),c=this._contexts.slice(0);for(let l=0,u=o.length;l<u;l++)try{a.push(o[l].apply(c[l],s))}catch(f){(0,t.default)().console.error(f)}return a}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,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.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 an.Emitter=r,r._noop=function(){},an}var ql;function ga(){if(ql)return sn;ql=1,Object.defineProperty(sn,"__esModule",{value:!0}),sn.CancellationTokenSource=sn.CancellationToken=void 0;const t=Pn(),e=Ui(),n=Pr();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(l){const u=l;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=c})(r||(sn.CancellationToken=r={}));const i=Object.freeze(function(o,c){const l=(0,t.default)().timer.setTimeout(o.bind(c),0);return{dispose(){l.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 a{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 sn.CancellationTokenSource=a,sn}var pe=ga();function yy(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Os=0,Ty=10;function Ry(){return Os=performance.now(),new pe.CancellationTokenSource}const nr=Symbol("OperationCancelled");function ya(t){return t===nr}async function Ue(t){if(t===pe.CancellationToken.None)return;const e=performance.now();if(e-Os>=Ty&&(Os=e,await yy(),Os=performance.now()),t.isCancellationRequested)throw nr}class Hc{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Ii{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(const r of e)if(Ii.isIncremental(r)){const i=gf(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),c=Math.max(i.end.line,0);let l=this._lineOffsets;const u=zl(r.text,!1,s);if(c-o===u.length)for(let m=0,h=u.length;m<h;m++)l[m+o+1]=u[m];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+u.length,h=l.length;m<h;m++)l[m]=l[m]+f}else if(Ii.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=zl(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&mf(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var gc;(function(t){function e(i,s,a,o){return new Ii(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Ii)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=yc(s.map(vy),(u,f)=>{const m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(gc||(gc={}));function yc(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);yc(r,e),yc(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function zl(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);mf(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function mf(t){return t===13||t===10}function gf(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 vy(t){const e=gf(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var yf;(()=>{var t={975:N=>{function R(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function g(y,T){for(var A,L="",D=0,x=-1,j=0,F=0;F<=y.length;++F){if(F<y.length)A=y.charCodeAt(F);else{if(A===47)break;A=47}if(A===47){if(!(x===F-1||j===1))if(x!==F-1&&j===2){if(L.length<2||D!==2||L.charCodeAt(L.length-1)!==46||L.charCodeAt(L.length-2)!==46){if(L.length>2){var te=L.lastIndexOf("/");if(te!==L.length-1){te===-1?(L="",D=0):D=(L=L.slice(0,te)).length-1-L.lastIndexOf("/"),x=F,j=0;continue}}else if(L.length===2||L.length===1){L="",D=0,x=F,j=0;continue}}T&&(L.length>0?L+="/..":L="..",D=2)}else L.length>0?L+="/"+y.slice(x+1,F):L=y.slice(x+1,F),D=F-x-1;x=F,j=0}else A===46&&j!==-1?++j:j=-1}return L}var S={resolve:function(){for(var y,T="",A=!1,L=arguments.length-1;L>=-1&&!A;L--){var D;L>=0?D=arguments[L]:(y===void 0&&(y=process.cwd()),D=y),R(D),D.length!==0&&(T=D+"/"+T,A=D.charCodeAt(0)===47)}return T=g(T,!A),A?T.length>0?"/"+T:"/":T.length>0?T:"."},normalize:function(y){if(R(y),y.length===0)return".";var T=y.charCodeAt(0)===47,A=y.charCodeAt(y.length-1)===47;return(y=g(y,!T)).length!==0||T||(y="."),y.length>0&&A&&(y+="/"),T?"/"+y:y},isAbsolute:function(y){return R(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,T=0;T<arguments.length;++T){var A=arguments[T];R(A),A.length>0&&(y===void 0?y=A:y+="/"+A)}return y===void 0?".":S.normalize(y)},relative:function(y,T){if(R(y),R(T),y===T||(y=S.resolve(y))===(T=S.resolve(T)))return"";for(var A=1;A<y.length&&y.charCodeAt(A)===47;++A);for(var L=y.length,D=L-A,x=1;x<T.length&&T.charCodeAt(x)===47;++x);for(var j=T.length-x,F=D<j?D:j,te=-1,U=0;U<=F;++U){if(U===F){if(j>F){if(T.charCodeAt(x+U)===47)return T.slice(x+U+1);if(U===0)return T.slice(x+U)}else D>F&&(y.charCodeAt(A+U)===47?te=U:U===0&&(te=0));break}var Z=y.charCodeAt(A+U);if(Z!==T.charCodeAt(x+U))break;Z===47&&(te=U)}var Ne="";for(U=A+te+1;U<=L;++U)U!==L&&y.charCodeAt(U)!==47||(Ne.length===0?Ne+="..":Ne+="/..");return Ne.length>0?Ne+T.slice(x+te):(x+=te,T.charCodeAt(x)===47&&++x,T.slice(x))},_makeLong:function(y){return y},dirname:function(y){if(R(y),y.length===0)return".";for(var T=y.charCodeAt(0),A=T===47,L=-1,D=!0,x=y.length-1;x>=1;--x)if((T=y.charCodeAt(x))===47){if(!D){L=x;break}}else D=!1;return L===-1?A?"/":".":A&&L===1?"//":y.slice(0,L)},basename:function(y,T){if(T!==void 0&&typeof T!="string")throw new TypeError('"ext" argument must be a string');R(y);var A,L=0,D=-1,x=!0;if(T!==void 0&&T.length>0&&T.length<=y.length){if(T.length===y.length&&T===y)return"";var j=T.length-1,F=-1;for(A=y.length-1;A>=0;--A){var te=y.charCodeAt(A);if(te===47){if(!x){L=A+1;break}}else F===-1&&(x=!1,F=A+1),j>=0&&(te===T.charCodeAt(j)?--j==-1&&(D=A):(j=-1,D=F))}return L===D?D=F:D===-1&&(D=y.length),y.slice(L,D)}for(A=y.length-1;A>=0;--A)if(y.charCodeAt(A)===47){if(!x){L=A+1;break}}else D===-1&&(x=!1,D=A+1);return D===-1?"":y.slice(L,D)},extname:function(y){R(y);for(var T=-1,A=0,L=-1,D=!0,x=0,j=y.length-1;j>=0;--j){var F=y.charCodeAt(j);if(F!==47)L===-1&&(D=!1,L=j+1),F===46?T===-1?T=j:x!==1&&(x=1):T!==-1&&(x=-1);else if(!D){A=j+1;break}}return T===-1||L===-1||x===0||x===1&&T===L-1&&T===A+1?"":y.slice(T,L)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return(function(T,A){var L=A.dir||A.root,D=A.base||(A.name||"")+(A.ext||"");return L?L===A.root?L+D:L+"/"+D:D})(0,y)},parse:function(y){R(y);var T={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return T;var A,L=y.charCodeAt(0),D=L===47;D?(T.root="/",A=1):A=0;for(var x=-1,j=0,F=-1,te=!0,U=y.length-1,Z=0;U>=A;--U)if((L=y.charCodeAt(U))!==47)F===-1&&(te=!1,F=U+1),L===46?x===-1?x=U:Z!==1&&(Z=1):x!==-1&&(Z=-1);else if(!te){j=U+1;break}return x===-1||F===-1||Z===0||Z===1&&x===F-1&&x===j+1?F!==-1&&(T.base=T.name=j===0&&D?y.slice(1,F):y.slice(j,F)):(j===0&&D?(T.name=y.slice(1,x),T.base=y.slice(1,F)):(T.name=y.slice(j,x),T.base=y.slice(j,F)),T.ext=y.slice(x,F)),j>0?T.dir=y.slice(0,j-1):D&&(T.dir="/"),T},sep:"/",delimiter:":",win32:null,posix:null};S.posix=S,N.exports=S}},e={};function n(N){var R=e[N];if(R!==void 0)return R.exports;var g=e[N]={exports:{}};return t[N](g,g.exports,n),g.exports}n.d=(N,R)=>{for(var g in R)n.o(R,g)&&!n.o(N,g)&&Object.defineProperty(N,g,{enumerable:!0,get:R[g]})},n.o=(N,R)=>Object.prototype.hasOwnProperty.call(N,R),n.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>m,Utils:()=>ce}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(N,R){if(!N.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!s.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!a.test(N.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(o.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{constructor(R,g,S,y,T,A=!1){zt(this,"scheme");zt(this,"authority");zt(this,"path");zt(this,"query");zt(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(L,D){return L||D?L:"file"})(R,A),this.authority=g||l,this.path=(function(L,D){switch(L){case"https":case"http":case"file":D?D[0]!==u&&(D=u+D):D=u}return D})(this.scheme,S||l),this.query=y||l,this.fragment=T||l,c(this,A))}static isUri(R){return R instanceof m||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return b(this)}with(R){if(!R)return this;let{scheme:g,authority:S,path:y,query:T,fragment:A}=R;return g===void 0?g=this.scheme:g===null&&(g=l),S===void 0?S=this.authority:S===null&&(S=l),y===void 0?y=this.path:y===null&&(y=l),T===void 0?T=this.query:T===null&&(T=l),A===void 0?A=this.fragment:A===null&&(A=l),g===this.scheme&&S===this.authority&&y===this.path&&T===this.query&&A===this.fragment?this:new E(g,S,y,T,A)}static parse(R,g=!1){const S=f.exec(R);return S?new E(S[2]||l,B(S[4]||l),B(S[5]||l),B(S[7]||l),B(S[9]||l),g):new E(l,l,l,l,l)}static file(R){let g=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const S=R.indexOf(u,2);S===-1?(g=R.substring(2),R=u):(g=R.substring(2,S),R=R.substring(S)||u)}return new E("file",g,R,l,l)}static from(R){const g=new E(R.scheme,R.authority,R.path,R.query,R.fragment);return c(g,!0),g}toString(R=!1){return k(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof m)return R;{const g=new E(R);return g._formatted=R.external,g._fsPath=R._sep===h?R.fsPath:null,g}}return R}}const h=i?1:void 0;class E extends m{constructor(){super(...arguments);zt(this,"_formatted",null);zt(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=b(this)),this._fsPath}toString(g=!1){return g?k(this,!0):(this._formatted||(this._formatted=k(this,!1)),this._formatted)}toJSON(){const g={$mid:1};return this._fsPath&&(g.fsPath=this._fsPath,g._sep=h),this._formatted&&(g.external=this._formatted),this.path&&(g.path=this.path),this.scheme&&(g.scheme=this.scheme),this.authority&&(g.authority=this.authority),this.query&&(g.query=this.query),this.fragment&&(g.fragment=this.fragment),g}}const _={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 I(N,R,g){let S,y=-1;for(let T=0;T<N.length;T++){const A=N.charCodeAt(T);if(A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===45||A===46||A===95||A===126||R&&A===47||g&&A===91||g&&A===93||g&&A===58)y!==-1&&(S+=encodeURIComponent(N.substring(y,T)),y=-1),S!==void 0&&(S+=N.charAt(T));else{S===void 0&&(S=N.substr(0,T));const L=_[A];L!==void 0?(y!==-1&&(S+=encodeURIComponent(N.substring(y,T)),y=-1),S+=L):y===-1&&(y=T)}}return y!==-1&&(S+=encodeURIComponent(N.substring(y))),S!==void 0?S:N}function C(N){let R;for(let g=0;g<N.length;g++){const S=N.charCodeAt(g);S===35||S===63?(R===void 0&&(R=N.substr(0,g)),R+=_[S]):R!==void 0&&(R+=N[g])}return R!==void 0?R:N}function b(N,R){let g;return g=N.authority&&N.path.length>1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(g=g.replace(/\//g,"\\")),g}function k(N,R){const g=R?C:I;let S="",{scheme:y,authority:T,path:A,query:L,fragment:D}=N;if(y&&(S+=y,S+=":"),(T||y==="file")&&(S+=u,S+=u),T){let x=T.indexOf("@");if(x!==-1){const j=T.substr(0,x);T=T.substr(x+1),x=j.lastIndexOf(":"),x===-1?S+=g(j,!1,!1):(S+=g(j.substr(0,x),!1,!1),S+=":",S+=g(j.substr(x+1),!1,!0)),S+="@"}T=T.toLowerCase(),x=T.lastIndexOf(":"),x===-1?S+=g(T,!1,!0):(S+=g(T.substr(0,x),!1,!0),S+=T.substr(x))}if(A){if(A.length>=3&&A.charCodeAt(0)===47&&A.charCodeAt(2)===58){const x=A.charCodeAt(1);x>=65&&x<=90&&(A=`/${String.fromCharCode(x+32)}:${A.substr(3)}`)}else if(A.length>=2&&A.charCodeAt(1)===58){const x=A.charCodeAt(0);x>=65&&x<=90&&(A=`${String.fromCharCode(x+32)}:${A.substr(2)}`)}S+=g(A,!0,!1)}return L&&(S+="?",S+=g(L,!1,!1)),D&&(S+="#",S+=R?D:I(D,!1,!1)),S}function P(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+P(N.substr(3)):N}}const V=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function B(N){return N.match(V)?N.replace(V,(R=>P(R))):N}var H=n(975);const re=H.posix||H,oe="/";var ce;(function(N){N.joinPath=function(R,...g){return R.with({path:re.join(R.path,...g)})},N.resolvePath=function(R,...g){let S=R.path,y=!1;S[0]!==oe&&(S=oe+S,y=!0);let T=re.resolve(S,...g);return y&&T[0]===oe&&!R.authority&&(T=T.substring(1)),R.with({path:T})},N.dirname=function(R){if(R.path.length===0||R.path===oe)return R;let g=re.dirname(R.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),R.with({path:g})},N.basename=function(R){return re.basename(R.path)},N.extname=function(R){return re.extname(R.path)}})(ce||(ce={})),yf=r})();const{URI:ct,Utils:Yr}=yf;var Qe;(function(t){t.basename=Yr.basename,t.dirname=Yr.dirname,t.extname=Yr.extname,t.joinPath=Yr.joinPath,t.resolvePath=Yr.resolvePath;const e=typeof process=="object"&&(process==null?void 0:process.platform)==="win32";function n(a,o){return(a==null?void 0:a.toString())===(o==null?void 0:o.toString())}t.equals=n;function r(a,o){const c=typeof a=="string"?ct.parse(a).path:a.path,l=typeof o=="string"?ct.parse(o).path:o.path,u=c.split("/").filter(_=>_.length>0),f=l.split("/").filter(_=>_.length>0);if(e){const _=/^[A-Z]:$/;if(u[0]&&_.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&_.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let m=0;for(;m<u.length&&u[m]===f[m];m++);const h="../".repeat(u.length-m),E=f.slice(m).join("/");return h+E}t.relative=r;function i(a){return ct.parse(a.toString()).toString()}t.normalize=i;function s(a,o){let c=typeof a=="string"?a:a.path,l=typeof o=="string"?o:o.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=s})(Qe||(Qe={}));class Ey{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Qe.normalize(e)}clear(){this.root.children.clear()}insert(e,n){const r=this.getNode(this.normalizeUri(e),!0);r.element=n}delete(e){const n=this.getNode(this.normalizeUri(e),!1);n!=null&&n.parent&&n.parent.children.delete(n.name)}has(e){var n;return((n=this.getNode(this.normalizeUri(e),!1))==null?void 0:n.element)!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){var n;return(n=this.getNode(this.normalizeUri(e),!1))==null?void 0:n.element}findNode(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);if(r)return{name:r.name,uri:Qe.joinPath(ct.parse(n),r.name).toString(),element:r.element}}findChildren(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);return r?Array.from(r.children.values()).map(i=>({name:i.name,uri:Qe.joinPath(ct.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(Qe.normalize(e),!1);return n?this.collectValues(n):[]}getNode(e,n){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let i=this.root;for(const s of r){let a=i.children.get(s);if(!a)if(n)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){const n=[];e.element&&n.push(e.element);for(const r of e.children.values())n.push(...this.collectValues(r));return n}}var W;(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"})(W||(W={}));class Ay{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=pe.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??ct.parse(e.uri),pe.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return pe.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:W.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:W.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var a,o;const r=(a=e.parseResult.value.$cstNode)==null?void 0:a.root.fullText,i=(o=this.textDocuments)==null?void 0:o.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const c=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:c})}return r!==s&&(e.parseResult=await this.parseAsync(e.uri,s,n),e.parseResult.value.$document=e),e.state=W.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=gc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Sy{constructor(e){this.documentTrie=new Ey,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return fe(this.documentTrie.all())}addDocument(e){const n=e.uri.toString();if(this.documentTrie.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentTrie.insert(n,e)}getDocument(e){const n=e.toString();return this.documentTrie.find(n)}getDocuments(e){const n=e.toString();return this.documentTrie.findAll(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.documentTrie.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&this.documentBuilder().resetToState(r,W.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=W.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=W.Changed;return this.documentTrie.delete(n),r}}const Fn=Symbol("RefResolving");class Cy{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,n=pe.CancellationToken.None){var r;if((r=this.profiler)!=null&&r.isActive("linking")){const i=this.profiler.createTask("linking",this.languageId);i.start();try{for(const s of Dt(e.parseResult.value))await Ue(n),Ms(s).forEach(a=>{const o=`${s.$type}:${a.property}`;i.startSubTask(o);try{this.doLink(a,e)}finally{i.stopSubTask(o)}})}finally{i.stop()}}else for(const i of Dt(e.parseResult.value))await Ue(n),Ms(i).forEach(s=>this.doLink(s,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=Fn;try{const i=this.getCandidate(e);if(Br(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const s=i.message??String(i);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${s}`}}n.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=Fn;try{const i=this.getCandidates(e),s=[];if(Br(i))r._linkingError=i;else for(const a of i){const o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}r._items=s}catch(i){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${i}`},r._items=[]}n.references.push(r)}}unlink(e){for(const n of e.references)"_ref"in n?(n._ref=void 0,delete n._nodeDescription):"_items"in n&&(n._items=void 0,delete n._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_ref:void 0,get ref(){if(De(this._ref))return this._ref;if(ih(this._nodeDescription)){const o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Fn;const o=Es(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<W.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o==null||o.references.push(this)}else this._ref===Fn&&s.throwCyclicReferenceError(e,n,i);return De(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Br(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Fn;const o=Es(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(Br(c))this._linkingError=c;else for(const u of c){const f=s.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,o==null||o.references.push(this)}else this._items===Fn&&s.throwCyclicReferenceError(e,n,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:a,container:e,property:n})}};return a}throwCyclicReferenceError(e,n,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${r}')`)}getLinkedNode(e){try{const n=this.getCandidate(e);if(Br(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}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=Es(e.container).$document;r&&r.state<W.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function ky(t){return typeof t.name=="string"}class by{getName(e){if(ky(e))return e.name}getNameNode(e){return ld(e.$cstNode,"name")}}class wy{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Dt(e.Grammar).some(n=>aa(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Xh(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(ot(i)||Vt(i))return Zc(i);if(Array.isArray(i)){for(const s of i)if((ot(s)||Vt(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Zc(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||bh(e,i)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(n.head());if(r){for(const i of Ms(r))if(Vt(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const n=this.documents.getDocument(e.sourceUri);if(n)return this.nodeLocator.getAstNode(n.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const n=this.findDeclarations(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&r.push(s)}return r}findReferences(e,n){const r=[];n.includeDeclaration&&r.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>Qe.equals(s.sourceUri,n.documentUri))),r.push(...i),fe(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=xt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:Gs(s),local:!0})}}return r}}class Pi{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return Va.sum(fe(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){return this.map.get(e)??[]}getStream(e){const n=this.map.get(e);return n?fe(n):Qu}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 fe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return fe(this.map.keys())}values(){return fe(this.map.values()).flat()}entriesGroupedByKey(){return fe(this.map.entries())}}class Bl{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 _y{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=pe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=Ic,i=pe.CancellationToken.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Ue(i),this.addExportedSymbol(a,s,n);return s}addExportedSymbol(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async collectLocalSymbols(e,n=pe.CancellationToken.None){const r=e.parseResult.value,i=new Pi;for(const s of Oi(r))await Ue(n),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(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 Vl{constructor(e,n,r){this.elements=e,this.outerScope=n,this.caseInsensitive=(r==null?void 0:r.caseInsensitive)??!1,this.concatOuterScope=(r==null?void 0:r.concatOuterScope)??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===n):this.elements.find(i=>i.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===n):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class Ny{constructor(e,n,r){this.elements=new Pi,this.caseInsensitive=(r==null?void 0:r.caseInsensitive)??!1,this.concatOuterScope=(r==null?void 0:r.concatOuterScope)??!0;for(const i of e){const s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);return(this.concatOuterScope||r.length===0)&&this.outerScope?fe(r).concat(this.outerScope.getElements(e)):fe(r)}getAllElements(){let e=fe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Tf{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 Iy extends Tf{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 Py extends Tf{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 $y extends Iy{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 Oy{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 $y(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=xt(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&n.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.type,r))),a=a.$container;while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new Vl(fe(e),n,r)}createScopeForNodes(e,n,r){const i=fe(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Vl(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new Ny(this.indexManager.allElements(e)))}}function Ly(t){return typeof t.$comment=="string"}function Wl(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class xy{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==null?void 0:n.replacer,s=(o,c)=>this.replacer(o,c,r),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=xt(e),JSON.stringify(e,a,n==null?void 0: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:a,uriConverter:o}){var c,l,u;if(!this.ignoreProperties.has(e))if(ot(n)){const f=n.ref,m=r?n.$refText:void 0;if(f){const h=xt(f);let E="";this.currentDocument&&this.currentDocument!==h&&(o?E=o(h.uri,f):E=h.uri.toString());const _=this.astNodeLocator.getAstNodePath(f);return{$ref:`${E}#${_}`,$refText:m}}else return{$error:((c=n.error)==null?void 0:c.message)??"Could not resolve reference",$refText:m}}else if(Vt(n)){const f=r?n.$refText:void 0,m=[];for(const h of n.items){const E=h.ref,_=xt(h.ref);let I="";this.currentDocument&&this.currentDocument!==_&&(o?I=o(_.uri,E):I=_.uri.toString());const C=this.astNodeLocator.getAstNodePath(E);m.push(`${I}#${C}`)}return{$refs:m,$refText:f}}else if(De(n)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&(f!=null&&f.$textRegion)&&(f.$textRegion.documentURI=(l=this.currentDocument)==null?void 0:l.uri.toString())),i&&!e&&(f??(f={...n}),f.$sourceText=(u=n.$cstNode)==null?void 0:u.text),a){f??(f={...n});const m=this.commentProvider.getComment(n);m&&(f.$comment=m.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 a=Wh(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){const f=l[u];Wl(f)?l[u]=this.reviveReference(e,c,n,f,r):De(f)&&this.linkNode(f,n,r,e,c,u)}else Wl(l)?e[c]=this.reviveReference(e,c,n,l,r):De(l)&&this.linkNode(l,n,r,e,c);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error,c;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(De(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){const l=[];for(const u of i.$refs){const f=this.getRefNode(r,u,s.uriConverter);De(f)&&l.push({ref:f})}if(l.length===0)c={$refText:a??"",items:l},o??(o="Could not resolve multi-reference");else return{$refText:a??"",items:l}}if(o)return c??(c={$refText:a??"",ref:void 0}),c.error={info:{container:e,property:n,reference:c},message:o},c}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):ct.parse(n),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):ct.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class Dy{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e==null?void 0: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);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(n.languageId,e)}getServices(e){var a,o;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const n=(o=(a=this.textDocuments)==null?void 0:a.get(e))==null?void 0:o.languageId;if(n!==void 0){const c=this.languageIdMap.get(n);if(c)return c}const r=Qe.extname(e),i=Qe.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(r);if(!s)throw n?new Error(`The service registry contains no services for the extension '${r}' for language '${n}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Ti(t){return{code:t}}var Tc;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Tc||(Tc={}));class My{constructor(e){this.entries=new Pi,this.knownCategories=new Set(Tc.defaults),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.");this.knownCategories.add(r);for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const c={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,c)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else xi()}}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(ya(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{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=fe(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,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const Fy=Object.freeze({validateNode:!0,validateChildren:!0});class Gy{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,n={},r=pe.CancellationToken.None){const i=e.parseResult,s=[];if(await Ue(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===at.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===at.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===at.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(ya(a))throw a;console.error("An error occurred during validation:",a)}return await Ue(r),s}processLexingErrors(e,n,r){var s;const i=[...e.lexerErrors,...((s=e.lexerReport)==null?void 0:s.diagnostics)??[]];for(const a of i){const o=a.severity??"error",c={severity:$a(o),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:Uy(o),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=eo(i.token);if(s){const a={severity:$a("error"),range:s,message:i.message,data:Ti(at.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){var i;for(const s of e.references){const a=s.error;if(a){const o={node:a.info.container,range:(i=s.$refNode)==null?void 0:i.range,property:a.info.property,index:a.info.index,data:{code:at.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};n.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,n,r=pe.CancellationToken.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,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=pe.CancellationToken.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Ue(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=pe.CancellationToken.None){var s;if((s=this.profiler)!=null&&s.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const o=Dt(e).iterator();for(const c of o){a.startSubTask(c.$type);const l=this.validateSingleNodeOptions(c,n);if(l.validateNode)try{const u=this.validationRegistry.getChecks(c.$type,n.categories);for(const f of u)await f(c,r,i)}finally{a.stopSubTask(c.$type)}l.validateChildren||o.prune()}}finally{a.stop()}}else{const a=Dt(e).iterator();for(const o of a){await Ue(i);const c=this.validateSingleNodeOptions(o,n);if(c.validateNode){const l=this.validationRegistry.getChecks(o.$type,n.categories);for(const u of l)await u(o,r,i)}c.validateChildren||a.prune()}}}validateSingleNodeOptions(e,n){return Fy}async validateAstAfter(e,n,r,i=pe.CancellationToken.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Ue(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:jy(r),severity:$a(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 jy(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=ld(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Kh(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 $a(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 Uy(t){switch(t){case"error":return Ti(at.LexingError);case"warning":return Ti(at.LexingWarning);case"info":return Ti(at.LexingInfo);case"hint":return Ti(at.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var at;(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"})(at||(at={}));class qy{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??xt(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 a;const o=()=>a??(a=Gs(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Gs(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class zy{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=pe.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Dt(i))await Ue(n),Ms(s).forEach(a=>{a.reference.error||r.push(...this.createInfoDescriptions(a))});return r}createInfoDescriptions(e){const n=e.reference;if(n.error||!n.$refNode)return[];let r=[];ot(n)&&n.$nodeDescription?r=[n.$nodeDescription]:Vt(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=xt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=Gs(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:Qe.equals(c.documentUri,i)});return a}}class By{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 a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),c=parseInt(s.substring(a+1)),l=i[o];return l==null?void 0:l[c]}return i[s]},e)}}var Vy=Pr();class Wy{constructor(e){this._ready=new Hc,this.onConfigurationSectionUpdateEmitter=new Vy.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n;this.workspaceConfig=((n=e.capabilities.workspace)==null?void 0:n.configuration)??!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){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([n,r])=>{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 on={},cn={},ms={},Oa={},G={},Kl;function Rf(){if(Kl)return G;Kl=1,Object.defineProperty(G,"__esModule",{value:!0}),G.Message=G.NotificationType9=G.NotificationType8=G.NotificationType7=G.NotificationType6=G.NotificationType5=G.NotificationType4=G.NotificationType3=G.NotificationType2=G.NotificationType1=G.NotificationType0=G.NotificationType=G.RequestType9=G.RequestType8=G.RequestType7=G.RequestType6=G.RequestType5=G.RequestType4=G.RequestType3=G.RequestType2=G.RequestType1=G.RequestType=G.RequestType0=G.AbstractMessageSignature=G.ParameterStructures=G.ResponseError=G.ErrorCodes=void 0;const t=Ui();var e;(function(R){R.ParseError=-32700,R.InvalidRequest=-32600,R.MethodNotFound=-32601,R.InvalidParams=-32602,R.InternalError=-32603,R.jsonrpcReservedErrorRangeStart=-32099,R.serverErrorStart=-32099,R.MessageWriteError=-32099,R.MessageReadError=-32098,R.PendingResponseRejected=-32097,R.ConnectionInactive=-32096,R.ServerNotInitialized=-32002,R.UnknownErrorCode=-32001,R.jsonrpcReservedErrorRangeEnd=-32e3,R.serverErrorEnd=-32e3})(e||(G.ErrorCodes=e={}));class n extends Error{constructor(g,S,y){super(S),this.code=t.number(g)?g:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const g={code:this.code,message:this.message};return this.data!==void 0&&(g.data=this.data),g}}G.ResponseError=n;class r{constructor(g){this.kind=g}static is(g){return g===r.auto||g===r.byName||g===r.byPosition}toString(){return this.kind}}G.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(g,S){this.method=g,this.numberOfParams=S}get parameterStructures(){return r.auto}}G.AbstractMessageSignature=i;class s extends i{constructor(g){super(g,0)}}G.RequestType0=s;class a extends i{constructor(g,S=r.auto){super(g,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.RequestType=a;class o extends i{constructor(g,S=r.auto){super(g,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.RequestType1=o;class c extends i{constructor(g){super(g,2)}}G.RequestType2=c;class l extends i{constructor(g){super(g,3)}}G.RequestType3=l;class u extends i{constructor(g){super(g,4)}}G.RequestType4=u;class f extends i{constructor(g){super(g,5)}}G.RequestType5=f;class m extends i{constructor(g){super(g,6)}}G.RequestType6=m;class h extends i{constructor(g){super(g,7)}}G.RequestType7=h;class E extends i{constructor(g){super(g,8)}}G.RequestType8=E;class _ extends i{constructor(g){super(g,9)}}G.RequestType9=_;class I extends i{constructor(g,S=r.auto){super(g,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.NotificationType=I;class C extends i{constructor(g){super(g,0)}}G.NotificationType0=C;class b extends i{constructor(g,S=r.auto){super(g,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.NotificationType1=b;class k extends i{constructor(g){super(g,2)}}G.NotificationType2=k;class P extends i{constructor(g){super(g,3)}}G.NotificationType3=P;class V extends i{constructor(g){super(g,4)}}G.NotificationType4=V;class B extends i{constructor(g){super(g,5)}}G.NotificationType5=B;class H extends i{constructor(g){super(g,6)}}G.NotificationType6=H;class re extends i{constructor(g){super(g,7)}}G.NotificationType7=re;class oe extends i{constructor(g){super(g,8)}}G.NotificationType8=oe;class ce extends i{constructor(g){super(g,9)}}G.NotificationType9=ce;var N;return(function(R){function g(T){const A=T;return A&&t.string(A.method)&&(t.string(A.id)||t.number(A.id))}R.isRequest=g;function S(T){const A=T;return A&&t.string(A.method)&&T.id===void 0}R.isNotification=S;function y(T){const A=T;return A&&(A.result!==void 0||!!A.error)&&(t.string(A.id)||t.number(A.id)||A.id===null)}R.isResponse=y})(N||(G.Message=N={})),G}var vt={},Hl;function vf(){if(Hl)return vt;Hl=1;var t;Object.defineProperty(vt,"__esModule",{value:!0}),vt.LRUCache=vt.LinkedMap=vt.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||(vt.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(){var s;return(s=this._head)==null?void 0:s.value}get last(){var s;return(s=this._tail)==null?void 0:s.value}has(s){return this._map.has(s)}get(s,a=e.None){const o=this._map.get(s);if(o)return a!==e.None&&this.touch(o,a),o.value}set(s,a,o=e.None){let c=this._map.get(s);if(c)c.value=a,o!==e.None&&this.touch(c,o);else{switch(c={key:s,value:a,next:void 0,previous:void 0},o){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 a=this._map.get(s);if(a)return this._map.delete(s),this.removeItem(a),this._size--,a.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,a){const o=this._state;let c=this._head;for(;c;){if(a?s.bind(a)(c.value,c.key,this):s(c.value,c.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.key,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}values(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.value,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}entries(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:[a.key,a.value],done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let a=this._head,o=this.size;for(;a&&o>s;)this._map.delete(a.key),a=a.next,o--;this._head=a,this._size=o,a&&(a.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 a=s.next,o=s.previous;if(!a||!o)throw new Error("Invalid list");a.previous=o,o.next=a}s.next=void 0,s.previous=void 0,this._state++}touch(s,a){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(a!==e.First&&a!==e.Last)){if(a===e.First){if(s===this._head)return;const o=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(o.previous=c,c.next=o),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(a===e.Last){if(s===this._tail)return;const o=s.next,c=s.previous;s===this._head?(o.previous=void 0,this._head=o):(o.previous=c,c.next=o),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((a,o)=>{s.push([o,a])}),s}fromJSON(s){this.clear();for(const[a,o]of s)this.set(a,o)}}vt.LinkedMap=n;class r extends n{constructor(s,a=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,a),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,a=e.AsNew){return super.get(s,a)}peek(s){return super.get(s,e.None)}set(s,a){return super.set(s,a,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return vt.LRUCache=r,vt}var Jr={},Xl;function Ky(){if(Xl)return Jr;Xl=1,Object.defineProperty(Jr,"__esModule",{value:!0}),Jr.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(Jr.Disposable=t={})),Jr}var ln={},Yl;function Hy(){if(Yl)return ln;Yl=1,Object.defineProperty(ln,"__esModule",{value:!0}),ln.SharedArrayReceiverStrategy=ln.SharedArraySenderStrategy=void 0;const t=ga();var e;(function(a){a.Continue=0,a.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const c=new SharedArrayBuffer(4),l=new Int32Array(c,0,1);l[0]=e.Continue,this.buffers.set(o.id,c),o.$cancellationData=c}async sendCancellation(o,c){const l=this.buffers.get(c);if(l===void 0)return;const u=new Int32Array(l,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}ln.SharedArraySenderStrategy=n;class r{constructor(o){this.data=new Int32Array(o,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(o){this.token=new r(o)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(o){const c=o.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return ln.SharedArrayReceiverStrategy=s,ln}var Et={},Qr={},Jl;function Ef(){if(Jl)return Qr;Jl=1,Object.defineProperty(Qr,"__esModule",{value:!0}),Qr.Semaphore=void 0;const t=Pn();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 Qr.Semaphore=e,Qr}var Ql;function Xy(){if(Ql)return Et;Ql=1,Object.defineProperty(Et,"__esModule",{value:!0}),Et.ReadableStreamMessageReader=Et.AbstractMessageReader=Et.MessageReader=void 0;const t=Pn(),e=Ui(),n=Pr(),r=Ef();var i;(function(c){function l(u){let f=u;return f&&e.func(f.listen)&&e.func(f.dispose)&&e.func(f.onError)&&e.func(f.onClose)&&e.func(f.onPartialMessage)}c.is=l})(i||(Et.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(l){this.errorEmitter.fire(this.asError(l))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(l){this.partialMessageEmitter.fire(l)}asError(l){return l instanceof Error?l:new Error(`Reader received error. Reason: ${e.string(l.message)?l.message:"unknown"}`)}}Et.AbstractMessageReader=s;var a;(function(c){function l(u){let f,m;const h=new Map;let E;const _=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(m=u.contentDecoder,h.set(m.name,m)),u.contentDecoders!==void 0)for(const I of u.contentDecoders)h.set(I.name,I);if(u.contentTypeDecoder!==void 0&&(E=u.contentTypeDecoder,_.set(E.name,E)),u.contentTypeDecoders!==void 0)for(const I of u.contentTypeDecoders)_.set(I.name,I)}return E===void 0&&(E=(0,t.default)().applicationJson.decoder,_.set(E.name,E)),{charset:f,contentDecoder:m,contentDecoders:h,contentTypeDecoder:E,contentTypeDecoders:_}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),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(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const m=f.get("content-length");if(!m){this.fireError(new Error(`Header must provide a Content-Length property.
122
+ ${JSON.stringify(Object.fromEntries(f))}`));return}const h=parseInt(m);if(isNaN(h)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=h}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,m=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(m)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Et.ReadableStreamMessageReader=o,Et}var At={},Zl;function Yy(){if(Zl)return At;Zl=1,Object.defineProperty(At,"__esModule",{value:!0}),At.WriteableStreamMessageWriter=At.AbstractMessageWriter=At.MessageWriter=void 0;const t=Pn(),e=Ui(),n=Ef(),r=Pr(),i="Content-Length: ",s=`\r
123
+ `;var a;(function(u){function f(m){let h=m;return h&&e.func(h.dispose)&&e.func(h.onClose)&&e.func(h.onError)&&e.func(h.write)}u.is=f})(a||(At.MessageWriter=a={}));class o{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(f,m,h){this.errorEmitter.fire([this.asError(f),m,h])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${e.string(f.message)?f.message:"unknown"}`)}}At.AbstractMessageWriter=o;var c;(function(u){function f(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,m){super(),this.writable=f,this.options=c.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(h=>this.fireError(h)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(h=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(h):h).then(h=>{const E=[];return E.push(i,h.byteLength.toString(),s),E.push(s),this.doWrite(f,E,h)},h=>{throw this.fireError(h),h}))}async doWrite(f,m,h){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(h)}catch(E){return this.handleError(E,f),Promise.reject(E)}}handleError(f,m){this.errorCount++,this.fireError(f,m,this.errorCount)}end(){this.writable.end()}}return At.WriteableStreamMessageWriter=l,At}var Zr={},eu;function Jy(){if(eu)return Zr;eu=1,Object.defineProperty(Zr,"__esModule",{value:!0}),Zr.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
124
+ `;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const a=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(a),this._totalLength+=a.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let a=0,o=0,c=0,l=0;e:for(;o<this._chunks.length;){const h=this._chunks[o];for(c=0;c<h.length;){switch(h[c]){case t:switch(a){case 0:a=1;break;case 2:a=3;break;default:a=0}break;case e:switch(a){case 1:a=2;break;case 3:a=4,c++;break e;default:a=0}break;default:a=0}c++}l+=h.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,m=this.toString(u,"ascii").split(n);if(m.length<2)return f;for(let h=0;h<m.length-2;h++){const E=m[h],_=E.indexOf(":");if(_===-1)throw new Error(`Message header must separate key and value using ':'
125
+ ${E}`);const I=E.substr(0,_),C=E.substr(_+1).trim();f.set(s?I.toLowerCase():I,C)}return f}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 l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return Zr.AbstractMessageBuffer=r,Zr}var La={},tu;function Qy(){return tu||(tu=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=Pn(),n=Ui(),r=Rf(),i=vf(),s=Pr(),a=ga();var o;(function(g){g.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(g){function S(y){return typeof y=="string"||typeof y=="number"}g.is=S})(c||(t.ProgressToken=c={}));var l;(function(g){g.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(g){function S(y){return n.func(y)}g.is=S})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var m;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(m||(t.Trace=m={}));var h;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(h||(t.TraceValues=h={})),(function(g){function S(T){if(!n.string(T))return g.Off;switch(T=T.toLowerCase(),T){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}g.fromString=S;function y(T){switch(T){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}g.toString=y})(m||(t.Trace=m={}));var E;(function(g){g.Text="text",g.JSON="json"})(E||(t.TraceFormat=E={})),(function(g){function S(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?g.JSON:g.Text):g.Text}g.fromString=S})(E||(t.TraceFormat=E={}));var _;(function(g){g.type=new r.NotificationType("$/setTrace")})(_||(t.SetTraceNotification=_={}));var I;(function(g){g.type=new r.NotificationType("$/logTrace")})(I||(t.LogTraceNotification=I={}));var C;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(C||(t.ConnectionErrors=C={}));class b extends Error{constructor(S,y){super(y),this.code=S,Object.setPrototypeOf(this,b.prototype)}}t.ConnectionError=b;var k;(function(g){function S(y){const T=y;return T&&n.func(T.cancelUndispatched)}g.is=S})(k||(t.ConnectionStrategy=k={}));var P;(function(g){function S(y){const T=y;return T&&(T.kind===void 0||T.kind==="id")&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}g.is=S})(P||(t.IdCancellationReceiverStrategy=P={}));var V;(function(g){function S(y){const T=y;return T&&T.kind==="request"&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}g.is=S})(V||(t.RequestCancellationReceiverStrategy=V={}));var B;(function(g){g.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function S(y){return P.is(y)||V.is(y)}g.is=S})(B||(t.CancellationReceiverStrategy=B={}));var H;(function(g){g.Message=Object.freeze({sendCancellation(y,T){return y.sendNotification(o.type,{id:T})},cleanup(y){}});function S(y){const T=y;return T&&n.func(T.sendCancellation)&&n.func(T.cleanup)}g.is=S})(H||(t.CancellationSenderStrategy=H={}));var re;(function(g){g.Message=Object.freeze({receiver:B.Message,sender:H.Message});function S(y){const T=y;return T&&B.is(T.receiver)&&H.is(T.sender)}g.is=S})(re||(t.CancellationStrategy=re={}));var oe;(function(g){function S(y){const T=y;return T&&n.func(T.handleMessage)}g.is=S})(oe||(t.MessageStrategy=oe={}));var ce;(function(g){function S(y){const T=y;return T&&(re.is(T.cancellationStrategy)||k.is(T.connectionStrategy)||oe.is(T.messageStrategy))}g.is=S})(ce||(t.ConnectionOptions=ce={}));var N;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(N||(N={}));function R(g,S,y,T){const A=y!==void 0?y:t.NullLogger;let L=0,D=0,x=0;const j="2.0";let F;const te=new Map;let U;const Z=new Map,Ne=new Map;let ge,le=new i.LinkedMap,be=new Map,Ie=new Set,Ce=new Map,Y=m.Off,He=E.Text,ye,nt=N.New;const Ln=new s.Emitter,Or=new s.Emitter,Lr=new s.Emitter,xr=new s.Emitter,Dr=new s.Emitter,rt=T&&T.cancellationStrategy?T.cancellationStrategy:re.Message;function Mr(p){if(p===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+p.toString()}function qi(p){return p===null?"res-unknown-"+(++x).toString():"res-"+p.toString()}function zi(){return"not-"+(++D).toString()}function Bi(p,w){r.Message.isRequest(w)?p.set(Mr(w.id),w):r.Message.isResponse(w)?p.set(qi(w.id),w):p.set(zi(),w)}function Vi(p){}function Fr(){return nt===N.Listening}function Gr(){return nt===N.Closed}function Tt(){return nt===N.Disposed}function jr(){(nt===N.New||nt===N.Listening)&&(nt=N.Closed,Or.fire(void 0))}function Wi(p){Ln.fire([p,void 0,void 0])}function Ki(p){Ln.fire(p)}g.onClose(jr),g.onError(Wi),S.onClose(jr),S.onError(Ki);function Ur(){ge||le.size===0||(ge=(0,e.default)().timer.setImmediate(()=>{ge=void 0,Hi()}))}function qr(p){r.Message.isRequest(p)?Yi(p):r.Message.isNotification(p)?Qi(p):r.Message.isResponse(p)?Ji(p):Zi(p)}function Hi(){if(le.size===0)return;const p=le.shift();try{const w=T==null?void 0:T.messageStrategy;oe.is(w)?w.handleMessage(p,qr):qr(p)}finally{Ur()}}const Xi=p=>{try{if(r.Message.isNotification(p)&&p.method===o.type.method){const w=p.params.id,O=Mr(w),M=le.get(O);if(r.Message.isRequest(M)){const ne=T==null?void 0:T.connectionStrategy,ie=ne&&ne.cancelUndispatched?ne.cancelUndispatched(M,Vi):void 0;if(ie&&(ie.error!==void 0||ie.result!==void 0)){le.delete(O),Ce.delete(w),ie.id=M.id,tn(ie,p.method,Date.now()),S.write(ie).catch(()=>A.error("Sending response for canceled message failed."));return}}const se=Ce.get(w);if(se!==void 0){se.cancel(),xn(p);return}else Ie.add(w)}Bi(le,p)}finally{Ur()}};function Yi(p){if(Tt())return;function w(X,ue,ee){const we={jsonrpc:j,id:p.id};X instanceof r.ResponseError?we.error=X.toJson():we.result=X===void 0?null:X,tn(we,ue,ee),S.write(we).catch(()=>A.error("Sending response failed."))}function O(X,ue,ee){const we={jsonrpc:j,id:p.id,error:X.toJson()};tn(we,ue,ee),S.write(we).catch(()=>A.error("Sending response failed."))}function M(X,ue,ee){X===void 0&&(X=null);const we={jsonrpc:j,id:p.id,result:X};tn(we,ue,ee),S.write(we).catch(()=>A.error("Sending response failed."))}ns(p);const se=te.get(p.method);let ne,ie;se&&(ne=se.type,ie=se.handler);const Ae=Date.now();if(ie||F){const X=p.id??String(Date.now()),ue=P.is(rt.receiver)?rt.receiver.createCancellationTokenSource(X):rt.receiver.createCancellationTokenSource(p);p.id!==null&&Ie.has(p.id)&&ue.cancel(),p.id!==null&&Ce.set(X,ue);try{let ee;if(ie)if(p.params===void 0){if(ne!==void 0&&ne.numberOfParams!==0){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines ${ne.numberOfParams} params but received none.`),p.method,Ae);return}ee=ie(ue.token)}else if(Array.isArray(p.params)){if(ne!==void 0&&ne.parameterStructures===r.ParameterStructures.byName){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by name but received parameters by position`),p.method,Ae);return}ee=ie(...p.params,ue.token)}else{if(ne!==void 0&&ne.parameterStructures===r.ParameterStructures.byPosition){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by position but received parameters by name`),p.method,Ae);return}ee=ie(p.params,ue.token)}else F&&(ee=F(p.method,p.params,ue.token));const we=ee;ee?we.then?we.then(Fe=>{Ce.delete(X),w(Fe,p.method,Ae)},Fe=>{Ce.delete(X),Fe instanceof r.ResponseError?O(Fe,p.method,Ae):Fe&&n.string(Fe.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${Fe.message}`),p.method,Ae):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,Ae)}):(Ce.delete(X),w(ee,p.method,Ae)):(Ce.delete(X),M(ee,p.method,Ae))}catch(ee){Ce.delete(X),ee instanceof r.ResponseError?w(ee,p.method,Ae):ee&&n.string(ee.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${ee.message}`),p.method,Ae):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,Ae)}}else O(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${p.method}`),p.method,Ae)}function Ji(p){if(!Tt())if(p.id===null)p.error?A.error(`Received response message without id: Error is:
126
+ ${JSON.stringify(p.error,void 0,4)}`):A.error("Received response message without id. No further error information provided.");else{const w=p.id,O=be.get(w);if(rs(p,O),O!==void 0){be.delete(w);try{if(p.error){const M=p.error;O.reject(new r.ResponseError(M.code,M.message,M.data))}else if(p.result!==void 0)O.resolve(p.result);else throw new Error("Should never happen.")}catch(M){M.message?A.error(`Response handler '${O.method}' failed with message: ${M.message}`):A.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function Qi(p){if(Tt())return;let w,O;if(p.method===o.type.method){const M=p.params.id;Ie.delete(M),xn(p);return}else{const M=Z.get(p.method);M&&(O=M.handler,w=M.type)}if(O||U)try{if(xn(p),O)if(p.params===void 0)w!==void 0&&w.numberOfParams!==0&&w.parameterStructures!==r.ParameterStructures.byName&&A.error(`Notification ${p.method} defines ${w.numberOfParams} params but received none.`),O();else if(Array.isArray(p.params)){const M=p.params;p.method===l.type.method&&M.length===2&&c.is(M[0])?O({token:M[0],value:M[1]}):(w!==void 0&&(w.parameterStructures===r.ParameterStructures.byName&&A.error(`Notification ${p.method} defines parameters by name but received parameters by position`),w.numberOfParams!==p.params.length&&A.error(`Notification ${p.method} defines ${w.numberOfParams} params but received ${M.length} arguments`)),O(...M))}else w!==void 0&&w.parameterStructures===r.ParameterStructures.byPosition&&A.error(`Notification ${p.method} defines parameters by position but received parameters by name`),O(p.params);else U&&U(p.method,p.params)}catch(M){M.message?A.error(`Notification handler '${p.method}' failed with message: ${M.message}`):A.error(`Notification handler '${p.method}' failed unexpectedly.`)}else Lr.fire(p)}function Zi(p){if(!p){A.error("Received empty message.");return}A.error(`Received message which is neither a response nor a notification message:
127
+ ${JSON.stringify(p,null,4)}`);const w=p;if(n.string(w.id)||n.number(w.id)){const O=w.id,M=be.get(O);M&&M.reject(new Error("The received response has neither a result nor an error property."))}}function it(p){if(p!=null)switch(Y){case m.Verbose:return JSON.stringify(p,null,4);case m.Compact:return JSON.stringify(p);default:return}}function es(p){if(!(Y===m.Off||!ye))if(He===E.Text){let w;(Y===m.Verbose||Y===m.Compact)&&p.params&&(w=`Params: ${it(p.params)}
128
+
129
+ `),ye.log(`Sending request '${p.method} - (${p.id})'.`,w)}else Rt("send-request",p)}function ts(p){if(!(Y===m.Off||!ye))if(He===E.Text){let w;(Y===m.Verbose||Y===m.Compact)&&(p.params?w=`Params: ${it(p.params)}
130
+
131
+ `:w=`No parameters provided.
132
+
133
+ `),ye.log(`Sending notification '${p.method}'.`,w)}else Rt("send-notification",p)}function tn(p,w,O){if(!(Y===m.Off||!ye))if(He===E.Text){let M;(Y===m.Verbose||Y===m.Compact)&&(p.error&&p.error.data?M=`Error data: ${it(p.error.data)}
134
+
135
+ `:p.result?M=`Result: ${it(p.result)}
136
+
137
+ `:p.error===void 0&&(M=`No result returned.
138
+
139
+ `)),ye.log(`Sending response '${w} - (${p.id})'. Processing request took ${Date.now()-O}ms`,M)}else Rt("send-response",p)}function ns(p){if(!(Y===m.Off||!ye))if(He===E.Text){let w;(Y===m.Verbose||Y===m.Compact)&&p.params&&(w=`Params: ${it(p.params)}
140
+
141
+ `),ye.log(`Received request '${p.method} - (${p.id})'.`,w)}else Rt("receive-request",p)}function xn(p){if(!(Y===m.Off||!ye||p.method===I.type.method))if(He===E.Text){let w;(Y===m.Verbose||Y===m.Compact)&&(p.params?w=`Params: ${it(p.params)}
142
+
143
+ `:w=`No parameters provided.
144
+
145
+ `),ye.log(`Received notification '${p.method}'.`,w)}else Rt("receive-notification",p)}function rs(p,w){if(!(Y===m.Off||!ye))if(He===E.Text){let O;if((Y===m.Verbose||Y===m.Compact)&&(p.error&&p.error.data?O=`Error data: ${it(p.error.data)}
146
+
147
+ `:p.result?O=`Result: ${it(p.result)}
148
+
149
+ `:p.error===void 0&&(O=`No result returned.
150
+
151
+ `)),w){const M=p.error?` Request failed: ${p.error.message} (${p.error.code}).`:"";ye.log(`Received response '${w.method} - (${p.id})' in ${Date.now()-w.timerStart}ms.${M}`,O)}else ye.log(`Received response ${p.id} without active response promise.`,O)}else Rt("receive-response",p)}function Rt(p,w){if(!ye||Y===m.Off)return;const O={isLSPMessage:!0,type:p,message:w,timestamp:Date.now()};ye.log(O)}function Ut(){if(Gr())throw new b(C.Closed,"Connection is closed.");if(Tt())throw new b(C.Disposed,"Connection is disposed.")}function is(){if(Fr())throw new b(C.AlreadyListening,"Connection is already listening")}function ss(){if(!Fr())throw new Error("Call listen() first.")}function qt(p){return p===void 0?null:p}function zr(p){if(p!==null)return p}function d(p){return p!=null&&!Array.isArray(p)&&typeof p=="object"}function ve(p,w){switch(p){case r.ParameterStructures.auto:return d(w)?zr(w):[qt(w)];case r.ParameterStructures.byName:if(!d(w))throw new Error("Received parameters by name but param is not an object literal.");return zr(w);case r.ParameterStructures.byPosition:return[qt(w)];default:throw new Error(`Unknown parameter structure ${p.toString()}`)}}function Ee(p,w){let O;const M=p.numberOfParams;switch(M){case 0:O=void 0;break;case 1:O=ve(p.parameterStructures,w[0]);break;default:O=[];for(let se=0;se<w.length&&se<M;se++)O.push(qt(w[se]));if(w.length<M)for(let se=w.length;se<M;se++)O.push(null);break}return O}const z={sendNotification:(p,...w)=>{Ut();let O,M;if(n.string(p)){O=p;const ne=w[0];let ie=0,Ae=r.ParameterStructures.auto;r.ParameterStructures.is(ne)&&(ie=1,Ae=ne);let X=w.length;const ue=X-ie;switch(ue){case 0:M=void 0;break;case 1:M=ve(Ae,w[ie]);break;default:if(Ae===r.ParameterStructures.byName)throw new Error(`Received ${ue} parameters for 'by Name' notification parameter structure.`);M=w.slice(ie,X).map(ee=>qt(ee));break}}else{const ne=w;O=p.method,M=Ee(p,ne)}const se={jsonrpc:j,method:O,params:M};return ts(se),S.write(se).catch(ne=>{throw A.error("Sending notification failed."),ne})},onNotification:(p,w)=>{Ut();let O;return n.func(p)?U=p:w&&(n.string(p)?(O=p,Z.set(p,{type:void 0,handler:w})):(O=p.method,Z.set(p.method,{type:p,handler:w}))),{dispose:()=>{O!==void 0?Z.delete(O):U=void 0}}},onProgress:(p,w,O)=>{if(Ne.has(w))throw new Error(`Progress handler for token ${w} already registered`);return Ne.set(w,O),{dispose:()=>{Ne.delete(w)}}},sendProgress:(p,w,O)=>z.sendNotification(l.type,{token:w,value:O}),onUnhandledProgress:xr.event,sendRequest:(p,...w)=>{Ut(),ss();let O,M,se;if(n.string(p)){O=p;const X=w[0],ue=w[w.length-1];let ee=0,we=r.ParameterStructures.auto;r.ParameterStructures.is(X)&&(ee=1,we=X);let Fe=w.length;a.CancellationToken.is(ue)&&(Fe=Fe-1,se=ue);const ut=Fe-ee;switch(ut){case 0:M=void 0;break;case 1:M=ve(we,w[ee]);break;default:if(we===r.ParameterStructures.byName)throw new Error(`Received ${ut} parameters for 'by Name' request parameter structure.`);M=w.slice(ee,Fe).map(Vf=>qt(Vf));break}}else{const X=w;O=p.method,M=Ee(p,X);const ue=p.numberOfParams;se=a.CancellationToken.is(X[ue])?X[ue]:void 0}const ne=L++;let ie;se&&(ie=se.onCancellationRequested(()=>{const X=rt.sender.sendCancellation(z,ne);return X===void 0?(A.log(`Received no promise from cancellation strategy when cancelling id ${ne}`),Promise.resolve()):X.catch(()=>{A.log(`Sending cancellation messages for id ${ne} failed`)})}));const Ae={jsonrpc:j,id:ne,method:O,params:M};return es(Ae),typeof rt.sender.enableCancellation=="function"&&rt.sender.enableCancellation(Ae),new Promise(async(X,ue)=>{const ee=ut=>{X(ut),rt.sender.cleanup(ne),ie==null||ie.dispose()},we=ut=>{ue(ut),rt.sender.cleanup(ne),ie==null||ie.dispose()},Fe={method:O,timerStart:Date.now(),resolve:ee,reject:we};try{await S.write(Ae),be.set(ne,Fe)}catch(ut){throw A.error("Sending request failed."),Fe.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,ut.message?ut.message:"Unknown reason")),ut}})},onRequest:(p,w)=>{Ut();let O=null;return f.is(p)?(O=void 0,F=p):n.string(p)?(O=null,w!==void 0&&(O=p,te.set(p,{handler:w,type:void 0}))):w!==void 0&&(O=p.method,te.set(p.method,{type:p,handler:w})),{dispose:()=>{O!==null&&(O!==void 0?te.delete(O):F=void 0)}}},hasPendingResponse:()=>be.size>0,trace:async(p,w,O)=>{let M=!1,se=E.Text;O!==void 0&&(n.boolean(O)?M=O:(M=O.sendNotification||!1,se=O.traceFormat||E.Text)),Y=p,He=se,Y===m.Off?ye=void 0:ye=w,M&&!Gr()&&!Tt()&&await z.sendNotification(_.type,{value:m.toString(p)})},onError:Ln.event,onClose:Or.event,onUnhandledNotification:Lr.event,onDispose:Dr.event,end:()=>{S.end()},dispose:()=>{if(Tt())return;nt=N.Disposed,Dr.fire(void 0);const p=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const w of be.values())w.reject(p);be=new Map,Ce=new Map,Ie=new Set,le=new i.LinkedMap,n.func(S.dispose)&&S.dispose(),n.func(g.dispose)&&g.dispose()},listen:()=>{Ut(),is(),nt=N.Listening,g.listen(Xi)},inspect:()=>{(0,e.default)().console.log("inspect")}};return z.onNotification(I.type,p=>{if(Y===m.Off||!ye)return;const w=Y===m.Verbose||Y===m.Compact;ye.log(p.message,w?p.verbose:void 0)}),z.onNotification(l.type,p=>{const w=Ne.get(p.token);w?w(p.value):xr.fire(p)}),z}t.createMessageConnection=R})(La)),La}var nu;function Rc(){return nu||(nu=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=Rf();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=vf();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=Ky();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Pr();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=ga();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=Hy();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=Xy();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const c=Yy();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 l=Jy();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=Qy();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const f=Pn();t.RAL=f.default})(Oa)),Oa}var ru;function Zy(){if(ru)return ms;ru=1,Object.defineProperty(ms,"__esModule",{value:!0});const t=Rc();class e extends t.AbstractMessageBuffer{constructor(c="utf-8"){super(c),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(c,l){return new TextEncoder().encode(c)}toString(c,l){return l==="ascii"?this.asciiDecoder.decode(c):new TextDecoder(l).decode(c)}asNative(c,l){return l===void 0?c:c.slice(0,l)}allocNative(c){return new Uint8Array(c)}}e.emptyBuffer=new Uint8Array(0);class n{constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=l=>{l.data.arrayBuffer().then(f=>{this._onData.fire(new Uint8Array(f))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}}class r{constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,l){if(typeof c=="string"){if(l!==void 0&&l!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,c)=>{if(c.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,c)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(c.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new n(o),asWritableStream:o=>new r(o)}),console,timer:Object.freeze({setTimeout(o,c,...l){const u=setTimeout(o,c,...l);return{dispose:()=>clearTimeout(u)}},setImmediate(o,...c){const l=setTimeout(o,0,...c);return{dispose:()=>clearTimeout(l)}},setInterval(o,c,...l){const u=setInterval(o,c,...l);return{dispose:()=>clearInterval(u)}}})});function a(){return s}return(function(o){function c(){t.RAL.install(s)}o.install=c})(a||(a={})),ms.default=a,ms}var iu;function $r(){return iu||(iu=1,(function(t){var e=cn&&cn.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(l,u);(!m||("get"in m?!l.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,m)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=cn&&cn.__exportStar||function(c,l){for(var u in c)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&e(l,c,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,Zy().default.install();const i=Rc();n(Rc(),t);class s extends i.AbstractMessageReader{constructor(l){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},l.addEventListener("error",u=>this.fireError(u)),l.onmessage=this._messageListener}listen(l){return this._onData.event(l)}}t.BrowserMessageReader=s;class a extends i.AbstractMessageWriter{constructor(l){super(),this.port=l,this.errorCount=0,l.addEventListener("error",u=>this.fireError(u))}write(l){try{return this.port.postMessage(l),Promise.resolve()}catch(u){return this.handleError(u,l),Promise.reject(u)}}handleError(l,u){this.errorCount++,this.fireError(l,u,this.errorCount)}end(){}}t.BrowserMessageWriter=a;function o(c,l,u,f){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,i.createMessageConnection)(c,l,u,f)}t.createMessageConnection=o})(cn)),cn}var xa,su;function au(){return su||(su=1,xa=$r()),xa}var un={};const Xc=Hf(Jg);var Ge={},ou;function me(){if(ou)return Ge;ou=1,Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.ProtocolNotificationType=Ge.ProtocolNotificationType0=Ge.ProtocolRequestType=Ge.ProtocolRequestType0=Ge.RegistrationType=Ge.MessageDirection=void 0;const t=$r();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ge.MessageDirection=e={}));class n{constructor(c){this.method=c}}Ge.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}Ge.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}Ge.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}Ge.ProtocolNotificationType0=s;class a extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return Ge.ProtocolNotificationType=a,Ge}var Da={},Se={},cu;function Yc(){if(cu)return Se;cu=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.objectLiteral=Se.typedArray=Se.stringArray=Se.array=Se.func=Se.error=Se.number=Se.string=Se.boolean=void 0;function t(l){return l===!0||l===!1}Se.boolean=t;function e(l){return typeof l=="string"||l instanceof String}Se.string=e;function n(l){return typeof l=="number"||l instanceof Number}Se.number=n;function r(l){return l instanceof Error}Se.error=r;function i(l){return typeof l=="function"}Se.func=i;function s(l){return Array.isArray(l)}Se.array=s;function a(l){return s(l)&&l.every(u=>e(u))}Se.stringArray=a;function o(l,u){return Array.isArray(l)&&l.every(u)}Se.typedArray=o;function c(l){return l!==null&&typeof l=="object"}return Se.objectLiteral=c,Se}var ei={},lu;function eT(){if(lu)return ei;lu=1,Object.defineProperty(ei,"__esModule",{value:!0}),ei.ImplementationRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ei.ImplementationRequest=e={})),ei}var ti={},uu;function tT(){if(uu)return ti;uu=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.TypeDefinitionRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ti.TypeDefinitionRequest=e={})),ti}var dn={},du;function nT(){if(du)return dn;du=1,Object.defineProperty(dn,"__esModule",{value:!0}),dn.DidChangeWorkspaceFoldersNotification=dn.WorkspaceFoldersRequest=void 0;const t=me();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(dn.WorkspaceFoldersRequest=e={}));var n;return(function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)})(n||(dn.DidChangeWorkspaceFoldersNotification=n={})),dn}var ni={},fu;function rT(){if(fu)return ni;fu=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.ConfigurationRequest=void 0;const t=me();var e;return(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(ni.ConfigurationRequest=e={})),ni}var fn={},hu;function iT(){if(hu)return fn;hu=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.ColorPresentationRequest=fn.DocumentColorRequest=void 0;const t=me();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(fn.DocumentColorRequest=e={}));var n;return(function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(n||(fn.ColorPresentationRequest=n={})),fn}var hn={},pu;function sT(){if(pu)return hn;pu=1,Object.defineProperty(hn,"__esModule",{value:!0}),hn.FoldingRangeRefreshRequest=hn.FoldingRangeRequest=void 0;const t=me();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(hn.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||(hn.FoldingRangeRefreshRequest=n={})),hn}var ri={},mu;function aT(){if(mu)return ri;mu=1,Object.defineProperty(ri,"__esModule",{value:!0}),ri.DeclarationRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ri.DeclarationRequest=e={})),ri}var ii={},gu;function oT(){if(gu)return ii;gu=1,Object.defineProperty(ii,"__esModule",{value:!0}),ii.SelectionRangeRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ii.SelectionRangeRequest=e={})),ii}var St={},yu;function cT(){if(yu)return St;yu=1,Object.defineProperty(St,"__esModule",{value:!0}),St.WorkDoneProgressCancelNotification=St.WorkDoneProgressCreateRequest=St.WorkDoneProgress=void 0;const t=$r(),e=me();var n;(function(s){s.type=new t.ProgressType;function a(o){return o===s.type}s.is=a})(n||(St.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(St.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||(St.WorkDoneProgressCancelNotification=i={})),St}var Ct={},Tu;function lT(){if(Tu)return Ct;Tu=1,Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.CallHierarchyOutgoingCallsRequest=Ct.CallHierarchyIncomingCallsRequest=Ct.CallHierarchyPrepareRequest=void 0;const t=me();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ct.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Ct.CallHierarchyIncomingCallsRequest=n={}));var r;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Ct.CallHierarchyOutgoingCallsRequest=r={})),Ct}var je={},Ru;function uT(){if(Ru)return je;Ru=1,Object.defineProperty(je,"__esModule",{value:!0}),je.SemanticTokensRefreshRequest=je.SemanticTokensRangeRequest=je.SemanticTokensDeltaRequest=je.SemanticTokensRequest=je.SemanticTokensRegistrationType=je.TokenFormat=void 0;const t=me();var e;(function(o){o.Relative="relative"})(e||(je.TokenFormat=e={}));var n;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(n||(je.SemanticTokensRegistrationType=n={}));var r;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(r||(je.SemanticTokensRequest=r={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(i||(je.SemanticTokensDeltaRequest=i={}));var s;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(s||(je.SemanticTokensRangeRequest=s={}));var a;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(a||(je.SemanticTokensRefreshRequest=a={})),je}var si={},vu;function dT(){if(vu)return si;vu=1,Object.defineProperty(si,"__esModule",{value:!0}),si.ShowDocumentRequest=void 0;const t=me();var e;return(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(si.ShowDocumentRequest=e={})),si}var ai={},Eu;function fT(){if(Eu)return ai;Eu=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.LinkedEditingRangeRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ai.LinkedEditingRangeRequest=e={})),ai}var $e={},Au;function hT(){if(Au)return $e;Au=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.WillDeleteFilesRequest=$e.DidDeleteFilesNotification=$e.DidRenameFilesNotification=$e.WillRenameFilesRequest=$e.DidCreateFilesNotification=$e.WillCreateFilesRequest=$e.FileOperationPatternKind=void 0;const t=me();var e;(function(c){c.file="file",c.folder="folder"})(e||($e.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||($e.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||($e.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||($e.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||($e.DidRenameFilesNotification=s={}));var a;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||($e.DidDeleteFilesNotification=a={}));var o;return(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(o||($e.WillDeleteFilesRequest=o={})),$e}var kt={},Su;function pT(){if(Su)return kt;Su=1,Object.defineProperty(kt,"__esModule",{value:!0}),kt.MonikerRequest=kt.MonikerKind=kt.UniquenessLevel=void 0;const t=me();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(kt.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(kt.MonikerKind=n={}));var r;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(kt.MonikerRequest=r={})),kt}var bt={},Cu;function mT(){if(Cu)return bt;Cu=1,Object.defineProperty(bt,"__esModule",{value:!0}),bt.TypeHierarchySubtypesRequest=bt.TypeHierarchySupertypesRequest=bt.TypeHierarchyPrepareRequest=void 0;const t=me();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(bt.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(bt.TypeHierarchySupertypesRequest=n={}));var r;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(bt.TypeHierarchySubtypesRequest=r={})),bt}var pn={},ku;function gT(){if(ku)return pn;ku=1,Object.defineProperty(pn,"__esModule",{value:!0}),pn.InlineValueRefreshRequest=pn.InlineValueRequest=void 0;const t=me();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(pn.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||(pn.InlineValueRefreshRequest=n={})),pn}var wt={},bu;function yT(){if(bu)return wt;bu=1,Object.defineProperty(wt,"__esModule",{value:!0}),wt.InlayHintRefreshRequest=wt.InlayHintResolveRequest=wt.InlayHintRequest=void 0;const t=me();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(wt.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(wt.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||(wt.InlayHintRefreshRequest=r={})),wt}var Xe={},wu;function TT(){if(wu)return Xe;wu=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.DiagnosticRefreshRequest=Xe.WorkspaceDiagnosticRequest=Xe.DocumentDiagnosticRequest=Xe.DocumentDiagnosticReportKind=Xe.DiagnosticServerCancellationData=void 0;const t=$r(),e=Yc(),n=me();var r;(function(c){function l(u){const f=u;return f&&e.boolean(f.retriggerRequest)}c.is=l})(r||(Xe.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(Xe.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||(Xe.DocumentDiagnosticRequest=s={}));var a;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(a||(Xe.WorkspaceDiagnosticRequest=a={}));var o;return(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(o||(Xe.DiagnosticRefreshRequest=o={})),Xe}var de={},_u;function RT(){if(_u)return de;_u=1,Object.defineProperty(de,"__esModule",{value:!0}),de.DidCloseNotebookDocumentNotification=de.DidSaveNotebookDocumentNotification=de.DidChangeNotebookDocumentNotification=de.NotebookCellArrayChange=de.DidOpenNotebookDocumentNotification=de.NotebookDocumentSyncRegistrationType=de.NotebookDocument=de.NotebookCell=de.ExecutionSummary=de.NotebookCellKind=void 0;const t=Xc,e=Yc(),n=me();var r;(function(h){h.Markup=1,h.Code=2;function E(_){return _===1||_===2}h.is=E})(r||(de.NotebookCellKind=r={}));var i;(function(h){function E(C,b){const k={executionOrder:C};return(b===!0||b===!1)&&(k.success=b),k}h.create=E;function _(C){const b=C;return e.objectLiteral(b)&&t.uinteger.is(b.executionOrder)&&(b.success===void 0||e.boolean(b.success))}h.is=_;function I(C,b){return C===b?!0:C==null||b===null||b===void 0?!1:C.executionOrder===b.executionOrder&&C.success===b.success}h.equals=I})(i||(de.ExecutionSummary=i={}));var s;(function(h){function E(b,k){return{kind:b,document:k}}h.create=E;function _(b){const k=b;return e.objectLiteral(k)&&r.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||e.objectLiteral(k.metadata))}h.is=_;function I(b,k){const P=new Set;return b.document!==k.document&&P.add("document"),b.kind!==k.kind&&P.add("kind"),b.executionSummary!==k.executionSummary&&P.add("executionSummary"),(b.metadata!==void 0||k.metadata!==void 0)&&!C(b.metadata,k.metadata)&&P.add("metadata"),(b.executionSummary!==void 0||k.executionSummary!==void 0)&&!i.equals(b.executionSummary,k.executionSummary)&&P.add("executionSummary"),P}h.diff=I;function C(b,k){if(b===k)return!0;if(b==null||k===null||k===void 0||typeof b!=typeof k||typeof b!="object")return!1;const P=Array.isArray(b),V=Array.isArray(k);if(P!==V)return!1;if(P&&V){if(b.length!==k.length)return!1;for(let B=0;B<b.length;B++)if(!C(b[B],k[B]))return!1}if(e.objectLiteral(b)&&e.objectLiteral(k)){const B=Object.keys(b),H=Object.keys(k);if(B.length!==H.length||(B.sort(),H.sort(),!C(B,H)))return!1;for(let re=0;re<B.length;re++){const oe=B[re];if(!C(b[oe],k[oe]))return!1}}return!0}})(s||(de.NotebookCell=s={}));var a;(function(h){function E(I,C,b,k){return{uri:I,notebookType:C,version:b,cells:k}}h.create=E;function _(I){const C=I;return e.objectLiteral(C)&&e.string(C.uri)&&t.integer.is(C.version)&&e.typedArray(C.cells,s.is)}h.is=_})(a||(de.NotebookDocument=a={}));var o;(function(h){h.method="notebookDocument/sync",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.RegistrationType(h.method)})(o||(de.NotebookDocumentSyncRegistrationType=o={}));var c;(function(h){h.method="notebookDocument/didOpen",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(c||(de.DidOpenNotebookDocumentNotification=c={}));var l;(function(h){function E(I){const C=I;return e.objectLiteral(C)&&t.uinteger.is(C.start)&&t.uinteger.is(C.deleteCount)&&(C.cells===void 0||e.typedArray(C.cells,s.is))}h.is=E;function _(I,C,b){const k={start:I,deleteCount:C};return b!==void 0&&(k.cells=b),k}h.create=_})(l||(de.NotebookCellArrayChange=l={}));var u;(function(h){h.method="notebookDocument/didChange",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(u||(de.DidChangeNotebookDocumentNotification=u={}));var f;(function(h){h.method="notebookDocument/didSave",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(f||(de.DidSaveNotebookDocumentNotification=f={}));var m;return(function(h){h.method="notebookDocument/didClose",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(m||(de.DidCloseNotebookDocumentNotification=m={})),de}var oi={},Nu;function vT(){if(Nu)return oi;Nu=1,Object.defineProperty(oi,"__esModule",{value:!0}),oi.InlineCompletionRequest=void 0;const t=me();var e;return(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(oi.InlineCompletionRequest=e={})),oi}var Iu;function ET(){return Iu||(Iu=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=me(),n=Xc,r=Yc(),i=eT();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=tT();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=nT();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=rT();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=iT();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=sT();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=aT();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=oT();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const m=cT();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return m.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return m.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return m.WorkDoneProgressCancelNotification}});const h=lT();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 E=uT();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return E.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return E.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return E.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return E.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return E.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return E.SemanticTokensRegistrationType}});const _=dT();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return _.ShowDocumentRequest}});const I=fT();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return I.LinkedEditingRangeRequest}});const C=hT();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return C.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return C.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return C.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return C.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return C.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return C.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return C.WillDeleteFilesRequest}});const b=pT();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return b.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return b.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return b.MonikerRequest}});const k=mT();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return k.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return k.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return k.TypeHierarchySupertypesRequest}});const P=gT();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return P.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return P.InlineValueRefreshRequest}});const V=yT();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return V.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return V.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return V.InlayHintRefreshRequest}});const B=TT();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return B.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return B.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return B.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return B.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return B.DiagnosticRefreshRequest}});const H=RT();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return H.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return H.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return H.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return H.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return H.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return H.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidCloseNotebookDocumentNotification}});const re=vT();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return re.InlineCompletionRequest}});var oe;(function(d){function ve(Ee){const z=Ee;return r.string(z)||r.string(z.language)||r.string(z.scheme)||r.string(z.pattern)}d.is=ve})(oe||(t.TextDocumentFilter=oe={}));var ce;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(r.string(z.notebookType)||r.string(z.scheme)||r.string(z.pattern))}d.is=ve})(ce||(t.NotebookDocumentFilter=ce={}));var N;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(r.string(z.notebook)||ce.is(z.notebook))&&(z.language===void 0||r.string(z.language))}d.is=ve})(N||(t.NotebookCellTextDocumentFilter=N={}));var R;(function(d){function ve(Ee){if(!Array.isArray(Ee))return!1;for(let z of Ee)if(!r.string(z)&&!oe.is(z)&&!N.is(z))return!1;return!0}d.is=ve})(R||(t.DocumentSelector=R={}));var g;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(g||(t.RegistrationRequest=g={}));var S;(function(d){d.method="client/unregisterCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(S||(t.UnregistrationRequest=S={}));var y;(function(d){d.Create="create",d.Rename="rename",d.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var T;(function(d){d.Abort="abort",d.Transactional="transactional",d.TextOnlyTransactional="textOnlyTransactional",d.Undo="undo"})(T||(t.FailureHandlingKind=T={}));var A;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(A||(t.PositionEncodingKind=A={}));var L;(function(d){function ve(Ee){const z=Ee;return z&&r.string(z.id)&&z.id.length>0}d.hasId=ve})(L||(t.StaticRegistrationOptions=L={}));var D;(function(d){function ve(Ee){const z=Ee;return z&&(z.documentSelector===null||R.is(z.documentSelector))}d.is=ve})(D||(t.TextDocumentRegistrationOptions=D={}));var x;(function(d){function ve(z){const p=z;return r.objectLiteral(p)&&(p.workDoneProgress===void 0||r.boolean(p.workDoneProgress))}d.is=ve;function Ee(z){const p=z;return p&&r.boolean(p.workDoneProgress)}d.hasWorkDoneProgress=Ee})(x||(t.WorkDoneProgressOptions=x={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var F;(function(d){d.unknownProtocolVersion=1})(F||(t.InitializeErrorCodes=F={}));var te;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(te||(t.InitializedNotification=te={}));var U;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(U||(t.ShutdownRequest=U={}));var Z;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(Z||(t.ExitNotification=Z={}));var Ne;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Ne||(t.DidChangeConfigurationNotification=Ne={}));var ge;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(ge||(t.MessageType=ge={}));var le;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(le||(t.ShowMessageNotification=le={}));var be;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(be||(t.ShowMessageRequest=be={}));var Ie;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ie||(t.LogMessageNotification=Ie={}));var Ce;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ce||(t.TelemetryEventNotification=Ce={}));var Y;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Y||(t.TextDocumentSyncKind=Y={}));var He;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(He||(t.DidOpenTextDocumentNotification=He={}));var ye;(function(d){function ve(z){let p=z;return p!=null&&typeof p.text=="string"&&p.range!==void 0&&(p.rangeLength===void 0||typeof p.rangeLength=="number")}d.isIncremental=ve;function Ee(z){let p=z;return p!=null&&typeof p.text=="string"&&p.range===void 0&&p.rangeLength===void 0}d.isFull=Ee})(ye||(t.TextDocumentContentChangeEvent=ye={}));var nt;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(nt||(t.DidChangeTextDocumentNotification=nt={}));var Ln;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Ln||(t.DidCloseTextDocumentNotification=Ln={}));var Or;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Or||(t.DidSaveTextDocumentNotification=Or={}));var Lr;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(Lr||(t.TextDocumentSaveReason=Lr={}));var xr;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(xr||(t.WillSaveTextDocumentNotification=xr={}));var Dr;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Dr||(t.WillSaveTextDocumentWaitUntilRequest=Dr={}));var rt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(rt||(t.DidChangeWatchedFilesNotification=rt={}));var Mr;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(Mr||(t.FileChangeType=Mr={}));var qi;(function(d){function ve(Ee){const z=Ee;return r.objectLiteral(z)&&(n.URI.is(z.baseUri)||n.WorkspaceFolder.is(z.baseUri))&&r.string(z.pattern)}d.is=ve})(qi||(t.RelativePattern=qi={}));var zi;(function(d){d.Create=1,d.Change=2,d.Delete=4})(zi||(t.WatchKind=zi={}));var Bi;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Bi||(t.PublishDiagnosticsNotification=Bi={}));var Vi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(Vi||(t.CompletionTriggerKind=Vi={}));var Fr;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Fr||(t.CompletionRequest=Fr={}));var Gr;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Gr||(t.CompletionResolveRequest=Gr={}));var Tt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Tt||(t.HoverRequest=Tt={}));var jr;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(jr||(t.SignatureHelpTriggerKind=jr={}));var Wi;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Wi||(t.SignatureHelpRequest=Wi={}));var Ki;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ki||(t.DefinitionRequest=Ki={}));var Ur;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ur||(t.ReferencesRequest=Ur={}));var qr;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(qr||(t.DocumentHighlightRequest=qr={}));var Hi;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Hi||(t.DocumentSymbolRequest=Hi={}));var Xi;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Xi||(t.CodeActionRequest=Xi={}));var Yi;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Yi||(t.CodeActionResolveRequest=Yi={}));var Ji;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ji||(t.WorkspaceSymbolRequest=Ji={}));var Qi;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Qi||(t.WorkspaceSymbolResolveRequest=Qi={}));var Zi;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Zi||(t.CodeLensRequest=Zi={}));var it;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(it||(t.CodeLensResolveRequest=it={}));var es;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(es||(t.CodeLensRefreshRequest=es={}));var ts;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ts||(t.DocumentLinkRequest=ts={}));var tn;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(tn||(t.DocumentLinkResolveRequest=tn={}));var ns;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ns||(t.DocumentFormattingRequest=ns={}));var xn;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(xn||(t.DocumentRangeFormattingRequest=xn={}));var rs;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(rs||(t.DocumentRangesFormattingRequest=rs={}));var Rt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Rt||(t.DocumentOnTypeFormattingRequest=Rt={}));var Ut;(function(d){d.Identifier=1})(Ut||(t.PrepareSupportDefaultBehavior=Ut={}));var is;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(is||(t.RenameRequest=is={}));var ss;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ss||(t.PrepareRenameRequest=ss={}));var qt;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(qt||(t.ExecuteCommandRequest=qt={}));var zr;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(zr||(t.ApplyWorkspaceEditRequest=zr={}))})(Da)),Da}var ci={},Pu;function AT(){if(Pu)return ci;Pu=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.createProtocolConnection=void 0;const t=$r();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return ci.createProtocolConnection=e,ci}var $u;function ST(){return $u||($u=1,(function(t){var e=un&&un.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=un&&un.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n($r(),t),n(Xc,t),n(me(),t),n(ET(),t);var r=AT();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={}))})(un)),un}var Ou;function CT(){return Ou||(Ou=1,(function(t){var e=on&&on.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=on&&on.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=au();n(au(),t),n(ST(),t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(on)),on}var gs=CT(),vi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(vi||(vi={}));class kT{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Pi,this.documentPhaseListeners=new Pi,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=W.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=pe.CancellationToken.None){var i;for(const s of e){const a=s.uri.toString();if(s.state===W.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(s,W.IndexedReferences);else if(typeof n.validation=="object"){const o=this.findMissingValidationCategories(s,n);o.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:o}},result:(i=this.buildState.get(a))==null?void 0:i.result}),s.state=W.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=W.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=pe.CancellationToken.None){this.currentState=W.Changed;const i=[];for(const c of n){const l=this.langiumDocuments.deleteDocuments(c);for(const u of l)i.push(u.uri),this.cleanUpDeleted(u)}const s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(const c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=W.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,W.Changed)}const a=fe(s).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!a.has(c.uri.toString())&&this.shouldRelink(c,a)).forEach(c=>this.resetToState(c,W.ComputedScopes)),await this.emitUpdate(s,i),await Ue(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>{var l;return c.state<W.Validated||!((l=this.buildState.get(c.uri.toString()))!=null&&l.completed)||this.resultsAreIncomplete(c,this.updateBuildOptions)}).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,n){return this.findMissingValidationCategories(e,n).length>=1}findMissingValidationCategories(e,n){var o,c;const r=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=(o=r==null?void 0:r.result)!=null&&o.validationChecks?new Set((c=r==null?void 0:r.result)==null?void 0:c.validationChecks):r!=null&&r.completed?i:new Set,a=n===void 0||n.validation===!0?i:typeof n.validation=="object"?n.validation.categories??i:[];return fe(a).filter(l=>!s.has(l)).toArray()}async findChangedUris(e){var r;if(this.langiumDocuments.getDocument(e)??((r=this.textDocuments)==null?void 0:r.get(e)))return[e];try{const i=await this.fileSystemProvider.stat(e);if(i.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(i))return[e]}catch{}return[]}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.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),vi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case W.Changed:case W.Parsed:this.indexManager.removeContent(e.uri);case W.IndexedContent:e.localSymbols=void 0;case W.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case W.Linked:this.indexManager.removeReferences(e.uri);case W.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case W.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=W.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,W.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,W.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,W.ComputedScopes,r,async a=>{const o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,r)});const i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,W.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,W.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));const s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,W.Validated,r,async a=>{await this.validate(a,r),this.markAsCompleted(a)})}markAsCompleted(e){const n=this.buildState.get(e.uri.toString());n&&(n.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==null?void 0:s.result})}}async runCancelable(e,n,r,i){for(const a of e)a.state<n&&(await Ue(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r));const s=e.filter(a=>a.state===n);await this.notifyBuildPhase(s,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),vi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),vi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=pe.CancellationToken.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(nr);if(this.currentState>=e&&e>i.state)return Promise.reject(new gs.ResponseError(gs.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${W[i.state]}, requiring ${W[e]}, but workspace state is already ${W[this.currentState]}. Returning undefined.`))}else return Promise.reject(new gs.ResponseError(gs.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{Qe.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(nr)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(nr):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(nr)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Ue(r),await a(e,r)}catch(o){if(!ya(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ue(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);const a=await r.validateDocument(e,s,n);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=fe(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){var n;return((n=this.buildState.get(e.uri.toString()))==null?void 0:n.options)??{}}}class bT{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Py,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=xt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Qe.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),fe(i)}allElements(e,n){let r=fe(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){return n?this.symbolByTypeIndex.get(e,n,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,n))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n)}removeReferences(e){const n=e.toString();this.referenceIndex.delete(n)}async updateContent(e,n=pe.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=pe.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 wT{constructor(e){this.initialBuildOptions={},this._ready=new Hc,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){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=pe.CancellationToken.None){const r=await this.performStartup(e);await Ue(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=[],r=a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,r);const i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));const s=fe(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,r),this._ready.resolve(),n}async loadWorkspaceDocuments(e,n){await Promise.all(e.map(async r=>{const i=await this.langiumDocuments.getOrCreateDocument(r);n(i)}))}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return ct.parse(e.uri)}async traverseFolder(e,n){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,n):i.isFile&&n.push(i.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=Qe.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class _T{buildUnexpectedCharactersMessage(e,n,r,i,s){return io.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return io.buildUnableToPopLexerModeMessage(e)}}const NT={mode:"full"};class IT{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=Lu(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Be(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=NT){var i,s;const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:(s=(i=this.tokenBuilder).flushLexingReport)==null?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Lu(e))return e;const n=Af(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function PT(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Af(t){return t&&"modes"in t&&"defaultMode"in t}function Lu(t){return!PT(t)&&!Af(t)}function $T(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=Q.create(0,0));const s=Sf(t),a=Jc(r),o=xT({lines:s,position:i,options:a});return jT({index:0,tokens:o,position:i})}function OT(t,e){const n=Jc(e),r=Sf(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function Sf(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(xh)}const xu=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,LT=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function xT(t){var i,s,a;const e=[];let n=t.position.line,r=t.position.character;for(let o=0;o<t.lines.length;o++){const c=o===0,l=o===t.lines.length-1;let u=t.lines[o],f=0;if(c&&t.options.start){const h=(i=t.options.start)==null?void 0:i.exec(u);h&&(f=h.index+h[0].length)}else{const h=(s=t.options.line)==null?void 0:s.exec(u);h&&(f=h.index+h[0].length)}if(l){const h=(a=t.options.end)==null?void 0:a.exec(u);h&&(u=u.substring(0,h.index))}if(u=u.substring(0,GT(u)),vc(u,f)>=u.length){if(e.length>0){const h=Q.create(n,r);e.push({type:"break",content:"",range:K.create(h,h)})}}else{xu.lastIndex=f;const h=xu.exec(u);if(h){const E=h[0],_=h[1],I=Q.create(n,r+f),C=Q.create(n,r+f+E.length);e.push({type:"tag",content:_,range:K.create(I,C)}),f+=E.length,f=vc(u,f)}if(f<u.length){const E=u.substring(f),_=Array.from(E.matchAll(LT));e.push(...DT(_,E,n,r+f))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function DT(t,e,n,r){const i=[];if(t.length===0){const s=Q.create(n,r),a=Q.create(n,r+e.length);i.push({type:"text",content:e,range:K.create(s,a)})}else{let s=0;for(const o of t){const c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:K.create(Q.create(n,s+r),Q.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const m=o[3];i.push({type:"text",content:m,range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+m.length+r))})}else i.push({type:"text",content:"",range:K.create(Q.create(n,s+u+r),Q.create(n,s+u+r))});s=c+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:K.create(Q.create(n,s+r),Q.create(n,s+r+a.length))})}return i}const MT=/\S/,FT=/\s*$/;function vc(t,e){const n=t.substring(e).match(MT);return n?e+n.index:t.length}function GT(t){const e=t.match(FT);if(e&&typeof e.index=="number")return e.index}function jT(t){var s,a;const e=Q.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Du([],K.create(e,e));const n=[];for(;t.index<t.tokens.length;){const o=UT(t,n[n.length-1]);o&&n.push(o)}const r=((s=n[0])==null?void 0:s.range.start)??e,i=((a=n[n.length-1])==null?void 0:a.range.end)??e;return new Du(n,K.create(r,i))}function UT(t,e){const n=t.tokens[t.index];if(n.type==="tag")return kf(t,!1);if(n.type==="text"||n.type==="inline-tag")return Cf(t);qT(n,e),t.index++}function qT(t,e){if(e){const n=new wf("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function Cf(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(zT(t)),r=e,e=t.tokens[t.index];return new Ec(i,K.create(n.range.start,r.range.end))}function zT(t){return t.tokens[t.index].type==="inline-tag"?kf(t,!0):bf(t)}function kf(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const s=bf(t);return new Fa(r,new Ec([s],s.range),e,K.create(n.range.start,s.range.end))}else{const s=Cf(t);return new Fa(r,s,e,K.create(n.range.start,s.range.end))}else{const s=n.range;return new Fa(r,new Ec([],s),e,s)}}function bf(t){const e=t.tokens[t.index++];return new wf(e.content,e.range)}function Jc(t){if(!t)return Jc({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Ma(e,!0),end:Ma(n,!1),line:Ma(r,!0)}}function Ma(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?ca(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Du{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+=Mu(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+=Mu(n)+i}return n.trim()}}class Fa{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}
152
+ ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n;return((n=e==null?void 0:e.renderTag)==null?void 0:n.call(e,this))??this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=BT(this.name,n,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
153
+ ${n}`),this.inline?`{${i}}`:i}}function BT(t,e,n){var r;if(t==="linkplain"||t==="linkcode"||t==="link"){const i=e.indexOf(" ");let s=e;if(i>0){const o=vc(e,i);s=e.substring(o),e=e.substring(0,i)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(s=`\`${s}\``),((r=n.renderLink)==null?void 0:r.call(n,e,s))??VT(e,s)}}function VT(t,e){try{return ct.parse(t,!0),`[${e}](${t})`}catch{return t}}class Ec{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+=`
154
+ `)}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+=`
155
+ `)}return n}}class wf{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Mu(t){return t.endsWith(`
156
+ `)?`
157
+ `:`
158
+
159
+ `}class WT{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&OT(n))return $T(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){const i=this.findNameInLocalSymbols(e,n)??this.findNameInGlobalScope(e,n);if(i&&i.nameSegment){const s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,n){}findNameInLocalSymbols(e,n){const i=xt(e).localSymbols;if(!i)return;let s=e;do{const o=i.getStream(s).find(c=>c.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class KT{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return Ly(e)?e.$comment:(n=Ih(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:n.text}}class HT{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class XT{constructor(){this.previousTokenSource=new pe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Ry();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=pe.CancellationToken.None){const i=new Hc,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){ya(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class YT{constructor(e){this.grammarElementIdMap=new Bl,this.tokenTypeIdMap=new Bl,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=>({...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 Dt(e))n.set(i,{});if(e.$cstNode)for(const i of Za(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 a=[];r[i]=a;for(const o of s)De(o)?a.push(this.dehydrateAstNode(o,n)):ot(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else De(s)?r[i]=this.dehydrateAstNode(s,n):ot(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 Ju(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Ei(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Yu(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 Dt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Za(e.$cstNode)){let a;"fullText"in s?(a=new sf(s.fullText),i=a):"content"in s?a=new Vc:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.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 a=[];r[i]=a;for(const o of s)De(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):ot(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else De(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):ot(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),Ei(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,c=e.endColumn,l=e.hidden;return new hc(r,i,{start:{line:s,character:a},end:{line:o,character:c}},n,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of Dt(this.grammar))oh(n)&&this.grammarElementIdMap.set(n,e++)}}function Jt(t){return{documentation:{CommentProvider:e=>new KT(e),DocumentationProvider:e=>new WT(e)},parser:{AsyncParser:e=>new HT(e),GrammarConfig:e=>rp(e),LangiumParser:e=>my(e),CompletionParser:e=>py(e),ValueConverter:()=>new pf,TokenBuilder:()=>new hf,Lexer:e=>new IT(e),ParserErrorMessageProvider:()=>new cf,LexerErrorMessageProvider:()=>new _T},workspace:{AstNodeLocator:()=>new By,AstNodeDescriptionProvider:e=>new qy(e),ReferenceDescriptionProvider:e=>new zy(e)},references:{Linker:e=>new Cy(e),NameProvider:()=>new by,ScopeProvider:e=>new Oy(e),ScopeComputation:e=>new _y(e),References:e=>new wy(e)},serializer:{Hydrator:e=>new YT(e),JsonSerializer:e=>new xy(e)},validation:{DocumentValidator:e=>new Gy(e),ValidationRegistry:e=>new My(e)},shared:()=>t.shared}}function Qt(t){return{ServiceRegistry:e=>new Dy(e),workspace:{LangiumDocuments:e=>new Sy(e),LangiumDocumentFactory:e=>new Ay(e),DocumentBuilder:e=>new kT(e),IndexManager:e=>new bT(e),WorkspaceManager:e=>new wT(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new XT,ConfigurationProvider:e=>new Wy(e)},profilers:{}}}var Fu;(function(t){t.merge=(e,n)=>$i($i({},e),n)})(Fu||(Fu={}));function Me(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce($i,{});return _f(l)}const JT=Symbol("isProxy");function _f(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===JT?!0:ju(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(ju(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Gu=Symbol();function ju(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]===Gu)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]=Gu;try{t[e]=typeof i=="function"?i(r):_f(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function $i(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!=null)if(typeof r=="object"){const i=t[n];typeof i=="object"&&i!==null?t[n]=$i(i,r):t[n]=$i({},r)}else t[n]=r}return t}class QT{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const Zt={fileSystemProvider:()=>new QT},ZT={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},eR={AstReflection:()=>new rd};function tR(){const t=Me(Qt(Zt),eR),e=Me(Jt({shared:t}),ZT);return t.ServiceRegistry.register(e),e}function $n(t){const e=tR(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,ct.parse(`memory:/${n.name??"grammar"}.langium`)),n}var nR=Object.defineProperty,$=(t,e)=>nR(t,"name",{value:e,configurable:!0}),Ac;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(Ac||(Ac={}));var Sc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Sc||(Sc={}));var Cc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Cc||(Cc={}));var kc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(kc||(kc={}));var bc;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(bc||(bc={}));var wc;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(wc||(wc={}));var _c;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(_c||(_c={}));({...Ac.Terminals,...Sc.Terminals,...Cc.Terminals,...kc.Terminals,...bc.Terminals,...wc.Terminals,..._c.Terminals});var Nt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function rR(t){return lt.isInstance(t,Nt.$type)}$(rR,"isArchitecture");var ys={$type:"Axis",label:"label",name:"name"},Ls={$type:"Branch",name:"name",order:"order"};function iR(t){return lt.isInstance(t,Ls.$type)}$(iR,"isBranch");var Uu={$type:"Checkout",branch:"branch"},Ts={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Ga={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Yn={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function sR(t){return lt.isInstance(t,Yn.$type)}$(sR,"isCommit");var Rs={$type:"Curve",entries:"entries",label:"label",name:"name"},Gn={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},dt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},ja={$type:"Entry",axis:"axis",value:"value"},vn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function aR(t){return lt.isInstance(t,vn.$type)}$(aR,"isGitGraph");var li={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Ri={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function oR(t){return lt.isInstance(t,Ri.$type)}$(oR,"isInfo");var ui={$type:"Item",classSelector:"classSelector",name:"name"},Ua={$type:"Junction",id:"id",in:"in"},vs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Jn={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function cR(t){return lt.isInstance(t,Jn.$type)}$(cR,"isMerge");var qa={$type:"Option",name:"name",value:"value"},Qn={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function lR(t){return lt.isInstance(t,Qn.$type)}$(lR,"isPacket");var Zn={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function uR(t){return lt.isInstance(t,Zn.$type)}$(uR,"isPacketBlock");var En={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function dR(t){return lt.isInstance(t,En.$type)}$(dR,"isPie");var xs={$type:"PieSection",label:"label",value:"value"};function fR(t){return lt.isInstance(t,xs.$type)}$(fR,"isPieSection");var mn={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},za={$type:"Section",classSelector:"classSelector",name:"name"},jn={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Un={$type:"Statement"},er={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function hR(t){return lt.isInstance(t,er.$type)}$(hR,"isTreemap");var Ba={$type:"TreemapRow",indent:"indent",item:"item"},ir,Nf=(ir=class extends Xu{constructor(){super(...arguments),this.types={Architecture:{name:Nt.$type,properties:{accDescr:{name:Nt.accDescr},accTitle:{name:Nt.accTitle},edges:{name:Nt.edges,defaultValue:[]},groups:{name:Nt.groups,defaultValue:[]},junctions:{name:Nt.junctions,defaultValue:[]},services:{name:Nt.services,defaultValue:[]},title:{name:Nt.title}},superTypes:[]},Axis:{name:ys.$type,properties:{label:{name:ys.label},name:{name:ys.name}},superTypes:[]},Branch:{name:Ls.$type,properties:{name:{name:Ls.name},order:{name:Ls.order}},superTypes:[Un.$type]},Checkout:{name:Uu.$type,properties:{branch:{name:Uu.branch}},superTypes:[Un.$type]},CherryPicking:{name:Ts.$type,properties:{id:{name:Ts.id},parent:{name:Ts.parent},tags:{name:Ts.tags,defaultValue:[]}},superTypes:[Un.$type]},ClassDefStatement:{name:Ga.$type,properties:{className:{name:Ga.className},styleText:{name:Ga.styleText}},superTypes:[]},Commit:{name:Yn.$type,properties:{id:{name:Yn.id},message:{name:Yn.message},tags:{name:Yn.tags,defaultValue:[]},type:{name:Yn.type}},superTypes:[Un.$type]},Curve:{name:Rs.$type,properties:{entries:{name:Rs.entries,defaultValue:[]},label:{name:Rs.label},name:{name:Rs.name}},superTypes:[]},Direction:{name:Gn.$type,properties:{accDescr:{name:Gn.accDescr},accTitle:{name:Gn.accTitle},dir:{name:Gn.dir},statements:{name:Gn.statements,defaultValue:[]},title:{name:Gn.title}},superTypes:[vn.$type]},Edge:{name:dt.$type,properties:{lhsDir:{name:dt.lhsDir},lhsGroup:{name:dt.lhsGroup,defaultValue:!1},lhsId:{name:dt.lhsId},lhsInto:{name:dt.lhsInto,defaultValue:!1},rhsDir:{name:dt.rhsDir},rhsGroup:{name:dt.rhsGroup,defaultValue:!1},rhsId:{name:dt.rhsId},rhsInto:{name:dt.rhsInto,defaultValue:!1},title:{name:dt.title}},superTypes:[]},Entry:{name:ja.$type,properties:{axis:{name:ja.axis,referenceType:ys.$type},value:{name:ja.value}},superTypes:[]},GitGraph:{name:vn.$type,properties:{accDescr:{name:vn.accDescr},accTitle:{name:vn.accTitle},statements:{name:vn.statements,defaultValue:[]},title:{name:vn.title}},superTypes:[]},Group:{name:li.$type,properties:{icon:{name:li.icon},id:{name:li.id},in:{name:li.in},title:{name:li.title}},superTypes:[]},Info:{name:Ri.$type,properties:{accDescr:{name:Ri.accDescr},accTitle:{name:Ri.accTitle},title:{name:Ri.title}},superTypes:[]},Item:{name:ui.$type,properties:{classSelector:{name:ui.classSelector},name:{name:ui.name}},superTypes:[]},Junction:{name:Ua.$type,properties:{id:{name:Ua.id},in:{name:Ua.in}},superTypes:[]},Leaf:{name:vs.$type,properties:{classSelector:{name:vs.classSelector},name:{name:vs.name},value:{name:vs.value}},superTypes:[ui.$type]},Merge:{name:Jn.$type,properties:{branch:{name:Jn.branch},id:{name:Jn.id},tags:{name:Jn.tags,defaultValue:[]},type:{name:Jn.type}},superTypes:[Un.$type]},Option:{name:qa.$type,properties:{name:{name:qa.name},value:{name:qa.value,defaultValue:!1}},superTypes:[]},Packet:{name:Qn.$type,properties:{accDescr:{name:Qn.accDescr},accTitle:{name:Qn.accTitle},blocks:{name:Qn.blocks,defaultValue:[]},title:{name:Qn.title}},superTypes:[]},PacketBlock:{name:Zn.$type,properties:{bits:{name:Zn.bits},end:{name:Zn.end},label:{name:Zn.label},start:{name:Zn.start}},superTypes:[]},Pie:{name:En.$type,properties:{accDescr:{name:En.accDescr},accTitle:{name:En.accTitle},sections:{name:En.sections,defaultValue:[]},showData:{name:En.showData,defaultValue:!1},title:{name:En.title}},superTypes:[]},PieSection:{name:xs.$type,properties:{label:{name:xs.label},value:{name:xs.value}},superTypes:[]},Radar:{name:mn.$type,properties:{accDescr:{name:mn.accDescr},accTitle:{name:mn.accTitle},axes:{name:mn.axes,defaultValue:[]},curves:{name:mn.curves,defaultValue:[]},options:{name:mn.options,defaultValue:[]},title:{name:mn.title}},superTypes:[]},Section:{name:za.$type,properties:{classSelector:{name:za.classSelector},name:{name:za.name}},superTypes:[ui.$type]},Service:{name:jn.$type,properties:{icon:{name:jn.icon},iconText:{name:jn.iconText},id:{name:jn.id},in:{name:jn.in},title:{name:jn.title}},superTypes:[]},Statement:{name:Un.$type,properties:{},superTypes:[]},Treemap:{name:er.$type,properties:{accDescr:{name:er.accDescr},accTitle:{name:er.accTitle},title:{name:er.title},TreemapRows:{name:er.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Ba.$type,properties:{indent:{name:Ba.indent},item:{name:Ba.item}},superTypes:[]}}}},$(ir,"MermaidAstReflection"),ir),lt=new Nf,qu,pR=$(()=>qu??(qu=$n(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),zu,mR=$(()=>zu??(zu=$n(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Bu,gR=$(()=>Bu??(Bu=$n(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),Vu,yR=$(()=>Vu??(Vu=$n(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Wu,TR=$(()=>Wu??(Wu=$n(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Ku,RR=$(()=>Ku??(Ku=$n(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Hu,vR=$(()=>Hu??(Hu=$n(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),ER={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AR={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SR={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CR={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kR={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bR={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wR={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},On={AstReflection:$(()=>new Nf,"AstReflection")},_R={Grammar:$(()=>pR(),"Grammar"),LanguageMetaData:$(()=>ER,"LanguageMetaData"),parser:{}},NR={Grammar:$(()=>mR(),"Grammar"),LanguageMetaData:$(()=>AR,"LanguageMetaData"),parser:{}},IR={Grammar:$(()=>gR(),"Grammar"),LanguageMetaData:$(()=>SR,"LanguageMetaData"),parser:{}},PR={Grammar:$(()=>yR(),"Grammar"),LanguageMetaData:$(()=>CR,"LanguageMetaData"),parser:{}},$R={Grammar:$(()=>TR(),"Grammar"),LanguageMetaData:$(()=>kR,"LanguageMetaData"),parser:{}},OR={Grammar:$(()=>RR(),"Grammar"),LanguageMetaData:$(()=>bR,"LanguageMetaData"),parser:{}},LR={Grammar:$(()=>vR(),"Grammar"),LanguageMetaData:$(()=>wR,"LanguageMetaData"),parser:{}},xR=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,DR=/accTitle[\t ]*:([^\n\r]*)/,MR=/title([\t ][^\n\r]*|)/,FR={ACC_DESCR:xR,ACC_TITLE:DR,TITLE:MR},sr,Ta=(sr=class extends pf{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=FR[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
160
+ `)}}},$(sr,"AbstractMermaidValueConverter"),sr),ar,Ra=(ar=class extends Ta{runCustomConverter(e,n,r){}},$(ar,"CommonValueConverter"),ar),or,en=(or=class extends hf{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},$(or,"AbstractMermaidTokenBuilder"),or),cr;cr=class extends en{},$(cr,"CommonTokenBuilder");var lr,GR=(lr=class extends en{constructor(){super(["gitGraph"])}},$(lr,"GitGraphTokenBuilder"),lr),If={parser:{TokenBuilder:$(()=>new GR,"TokenBuilder"),ValueConverter:$(()=>new Ra,"ValueConverter")}};function Pf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),NR,If);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}$(Pf,"createGitGraphServices");var ur,jR=(ur=class extends en{constructor(){super(["info","showInfo"])}},$(ur,"InfoTokenBuilder"),ur),$f={parser:{TokenBuilder:$(()=>new jR,"TokenBuilder"),ValueConverter:$(()=>new Ra,"ValueConverter")}};function Of(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),IR,$f);return e.ServiceRegistry.register(n),{shared:e,Info:n}}$(Of,"createInfoServices");var dr,UR=(dr=class extends en{constructor(){super(["packet"])}},$(dr,"PacketTokenBuilder"),dr),Lf={parser:{TokenBuilder:$(()=>new UR,"TokenBuilder"),ValueConverter:$(()=>new Ra,"ValueConverter")}};function xf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),PR,Lf);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}$(xf,"createPacketServices");var fr,qR=(fr=class extends en{constructor(){super(["pie","showData"])}},$(fr,"PieTokenBuilder"),fr),hr,zR=(hr=class extends Ta{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},$(hr,"PieValueConverter"),hr),Df={parser:{TokenBuilder:$(()=>new qR,"TokenBuilder"),ValueConverter:$(()=>new zR,"ValueConverter")}};function Mf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),$R,Df);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}$(Mf,"createPieServices");var pr,BR=(pr=class extends en{constructor(){super(["architecture"])}},$(pr,"ArchitectureTokenBuilder"),pr),mr,VR=(mr=class extends Ta{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=n.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},$(mr,"ArchitectureValueConverter"),mr),Ff={parser:{TokenBuilder:$(()=>new BR,"TokenBuilder"),ValueConverter:$(()=>new VR,"ValueConverter")}};function Gf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),_R,Ff);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}$(Gf,"createArchitectureServices");var gr,WR=(gr=class extends en{constructor(){super(["radar-beta"])}},$(gr,"RadarTokenBuilder"),gr),jf={parser:{TokenBuilder:$(()=>new WR,"TokenBuilder"),ValueConverter:$(()=>new Ra,"ValueConverter")}};function Uf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),OR,jf);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}$(Uf,"createRadarServices");var yr,KR=(yr=class extends en{constructor(){super(["treemap"])}},$(yr,"TreemapTokenBuilder"),yr),HR=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Tr,XR=(Tr=class extends Ta{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=HR.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},$(Tr,"TreemapValueConverter"),Tr);function qf(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}$(qf,"registerValidationChecks");var Rr,YR=(Rr=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},$(Rr,"TreemapValidator"),Rr),zf={parser:{TokenBuilder:$(()=>new KR,"TokenBuilder"),ValueConverter:$(()=>new XR,"ValueConverter")},validation:{TreemapValidator:$(()=>new YR,"TreemapValidator")}};function Bf(t=Zt){const e=Me(Qt(t),On),n=Me(Jt({shared:e}),LR,zf);return e.ServiceRegistry.register(n),qf(n),{shared:e,Treemap:n}}$(Bf,"createTreemapServices");var Pt={},JR={info:$(async()=>{const{createInfoServices:t}=await nn(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>ev);return{createInfoServices:n}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;Pt.info=e},"info"),packet:$(async()=>{const{createPacketServices:t}=await nn(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>tv);return{createPacketServices:n}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;Pt.packet=e},"packet"),pie:$(async()=>{const{createPieServices:t}=await nn(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>nv);return{createPieServices:n}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;Pt.pie=e},"pie"),architecture:$(async()=>{const{createArchitectureServices:t}=await nn(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>rv);return{createArchitectureServices:n}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;Pt.architecture=e},"architecture"),gitGraph:$(async()=>{const{createGitGraphServices:t}=await nn(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>iv);return{createGitGraphServices:n}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;Pt.gitGraph=e},"gitGraph"),radar:$(async()=>{const{createRadarServices:t}=await nn(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>sv);return{createRadarServices:n}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;Pt.radar=e},"radar"),treemap:$(async()=>{const{createTreemapServices:t}=await nn(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>av);return{createTreemapServices:n}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;Pt.treemap=e},"treemap")};async function QR(t,e){const n=JR[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);Pt[t]||await n();const i=Pt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new ZR(i);return i.value}$(QR,"parse");var vr,ZR=(vr=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>{const s=i.line!==void 0&&!isNaN(i.line)?i.line:"?",a=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${s}, column ${a}: ${i.message}`}).join(`
161
+ `),r=e.parserErrors.map(i=>{const s=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",a=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${s}, column ${a}: ${i.message}`}).join(`
162
+ `);super(`Parsing failed: ${n} ${r}`),this.result=e}},$(vr,"MermaidParseError"),vr);const ev=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:$f,createInfoServices:Of},Symbol.toStringTag,{value:"Module"})),tv=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Lf,createPacketServices:xf},Symbol.toStringTag,{value:"Module"})),nv=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Df,createPieServices:Mf},Symbol.toStringTag,{value:"Module"})),rv=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Ff,createArchitectureServices:Gf},Symbol.toStringTag,{value:"Module"})),iv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:If,createGitGraphServices:Pf},Symbol.toStringTag,{value:"Module"})),sv=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:jf,createRadarServices:Uf},Symbol.toStringTag,{value:"Module"})),av=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:zf,createTreemapServices:Bf},Symbol.toStringTag,{value:"Module"}));export{QR as p};