UnisKB/static/admin/assets/treemap-GDKQZRPO-CiA4SAkY.js

163 lines
442 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var Ah=Object.defineProperty;var Sh=(t,e,n)=>e in t?Ah(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Sh(t,typeof e!="symbol"?e+"":e,n);import{bL as M,eC as gt,dc as yt,au as ji,av as tn,at as Xn,ax as ae,ai as ze,eU as Fe,db as Ch,eE as zn,fD as lt,eS as kh,gg as Nh,cs as An}from"./admin-DgPvPHD7.js";import{t as ut,p as wt,i as dt,d as nn,s as Sd,q as Ze,o as Ct,g as Ge,u as tl,e as ns,r as _a,l as Nl,f as Ia,k as Nt,h as zi,m as wh,j as bh}from"./uniqBy--yaca0vR.js";import{a as q,v as $e,r as Xe,f as ft}from"./reduce-Cl4okoTU.js";import{f as jr,h as z,d as nl,m as _h}from"./min-DkVNHWJH.js";function Be(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(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 di(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Cd{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 Be(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 Bi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function kd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Nd(t){return Bi(t)&&typeof t.fullText=="string"}class Ue{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 Ue(()=>({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 ot})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Ph(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 Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?ot:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return ot})}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 Ue(()=>({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(aa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return ot})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({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(aa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ot})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{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 Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?ot:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({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 ot})}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 Ph(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function aa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const wd=new Ue(()=>{},()=>ot),ot=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(aa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:ot)}return t.length>1?new Ue(()=>({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++];aa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return ot}):wd}class rl extends Ue{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 ot})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var To;(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})(To||(To={}));function Ro(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{Be(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&Ro(i,e))}):Be(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&Ro(r,e)))}function Pa(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Ws(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ws(t){for(;t.$container;)t=t.$container;return t}function wl(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function il(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({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(Be(s)){if(r.keyIndex++,bl(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(Be(o)&&bl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ot})}function rs(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new rl(t,n=>il(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new rl(t,n=>il(n,e),{includeRoot:!0})}function bl(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?ep(n,e):!1}function oa(t){return new Ue(()=>({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(St(r)||dn(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(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ot})}function $h(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]=bd(i.defaultValue))}function bd(t){return Array.isArray(t)?[...t.map(bd)]:t}const at={$type:"AbstractElement",cardinality:"cardinality"};function Lh(t){return ee.isInstance(t,at.$type)}const Vs={$type:"AbstractParserRule"};function is(t){return ee.isInstance(t,Vs.$type)}const Is={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function $a(t){return ee.isInstance(t,xn.$type)}const Ks={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function _d(t){return ee.isInstance(t,Ks.$type)}const _l={$type:"ArrayLiteral",elements:"elements"},Il={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const vo={$type:"BooleanLiteral",true:"true"};function Oh(t){return ee.isInstance(t,vo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function xh(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Hs={$type:"Conjunction",left:"left",right:"right"};function Dh(t){return ee.isInstance(t,Hs.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function La(t){return ee.isInstance(t,Fn.$type)}const Ys={$type:"Disjunction",left:"left",right:"right"};function Mh(t){return ee.isInstance(t,Ys.$type)}const Eo={$type:"EndOfFile",cardinality:"cardinality"};function Fh(t){return ee.isInstance(t,Eo.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Pl={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function sl(t){return ee.isInstance(t,lr.$type)}const Ao={$type:"InferredType",name:"name"};function Id(t){return ee.isInstance(t,Ao.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function ca(t){return ee.isInstance(t,Vt.$type)}const Ka={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},$l={$type:"InfixRuleOperators",precedences:"precedences"},$i={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Gh(t){return ee.isInstance(t,$i.$type)}const Li={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,Li.$type)}const Ps={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Uh(t){return ee.isInstance(t,ur.$type)}const So={$type:"Negation",value:"value"};function qh(t){return ee.isInstance(t,So.$type)}const Ll={$type:"NumberLiteral",value:"value"},$s={$type:"Parameter",name:"name"},Co={$type:"ParameterReference",parameter:"parameter"};function jh(t){return ee.isInstance(t,Co.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ha={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function zh(t){return ee.isInstance(t,dr.$type)}const ko={$type:"ReturnType",name:"name"};function Bh(t){return ee.isInstance(t,ko.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const Oi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Wh(t){return ee.isInstance(t,Oi.$type)}const Ol={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Vh(t){return ee.isInstance(t,hr.$type)}const mt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Kh(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Hh(t){return ee.isInstance(t,mr.$type)}const Xs={$type:"Type",name:"name",type:"type"};function Yh(t){return ee.isInstance(t,Xs.$type)}const fi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},hi={$type:"TypeDefinition"},xl={$type:"UnionType",types:"types"},Js={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Pd(t){return ee.isInstance(t,Js.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Xh(t){return ee.isInstance(t,gr.$type)}const pi={$type:"ValueLiteral"},xi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Jh(t){return ee.isInstance(t,xi.$type)}class $d extends Cd{constructor(){super(...arguments),this.types={AbstractElement:{name:at.$type,properties:{cardinality:{name:at.cardinality}},superTypes:[]},AbstractParserRule:{name:Vs.$type,properties:{},superTypes:[Is.$type,Et.$type]},AbstractRule:{name:Is.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[at.$type]},Alternatives:{name:Ks.$type,properties:{cardinality:{name:Ks.cardinality},elements:{name:Ks.elements,defaultValue:[]}},superTypes:[at.$type]},ArrayLiteral:{name:_l.$type,properties:{elements:{name:_l.elements,defaultValue:[]}},superTypes:[pi.$type]},ArrayType:{name:Il.$type,properties:{elementType:{name:Il.elementType}},superTypes:[hi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[at.$type]},BooleanLiteral:{name:vo.$type,properties:{true:{name:vo.true,defaultValue:!1}},superTypes:[rr.$type,pi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[mt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Hs.$type,properties:{left:{name:Hs.left},right:{name:Hs.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[at.$type]},Disjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},EndOfFile:{name:Eo.$type,properties:{cardinality:{name:Eo.cardinality}},superTypes:[at.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Pl.$type,properties:{path:{name:Pl.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[at.$type]},InferredType:{name:Ao.$type,properties:{name:{name:Ao.name}},superTypes:[Et.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:Et.$type}},superTypes:[Vs.$type]},InfixRuleOperatorList:{name:Ka.$type,properties:{associativity:{name:Ka.associativity},operators:{name:Ka.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:$l.$type,properties:{precedences:{name:$l.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:$i.$type,properties:{attributes:{name:$i.attributes,defaultValue:[]},name:{name:$i.name},superTypes:{name:$i.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:Li.$type,properties:{cardinality:{name:Li.cardinality},predicate:{name:Li.predicate},value:{name:Li.value}},superTypes:[at.$type]},NamedArgument:{name:Ps.$type,properties:{calledByName:{name:Ps.calledByName,defaultValue:!1},parameter:{name:Ps.parameter,referenceType:$s.$type},value:{name:Ps.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[mt.$type]},Negation:{name:So.$type,properties:{value:{name:So.value}},superTypes:[rr.$type]},NumberLiteral:{name:Ll.$type,properties:{value:{name:Ll.value}},superTypes:[pi.$type]},Parameter:{name:$s.$type,properties:{name:{name:$s.name}},superTypes:[]},ParameterReference:{name:Co.$type,properties:{parameter:{name:Co.parameter,referenceType:$s.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Vs.$type]},ReferenceType:{name:Ha.$type,properties:{isMulti:{name:Ha.isMulti,defaultValue:!1},referenceType:{name:Ha.referenceType}},superTypes:[hi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[mt.$type]},ReturnType:{name:ko.$type,properties:{name:{name:ko.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Is.$type}},superTypes:[at.$type]},SimpleType:{name:Oi.$type,properties:{primitiveType:{name:Oi.primitiveType},stringType:{name:Oi.stringType},typeRef:{name:Oi.typeRef,referenceType:Et.$type}},superTypes:[hi.$type]},StringLiteral:{name:Ol.$type,properties:{value:{name:Ol.value}},superTypes:[pi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[mt.$type]},TerminalElement:{name:mt.$type,properties:{cardinality:{name:mt.cardinality},lookahead:{name:mt.lookahead},parenthesized:{name:mt.parenthesized,defaultValue:!1}},superTypes:[at.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[mt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Is.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[mt.$type]},Type:{name:Xs.$type,properties:{name:{name:Xs.name},type:{name:Xs.type}},superTypes:[Et.$type]},TypeAttribute:{name:fi.$type,properties:{defaultValue:{name:fi.defaultValue},isOptional:{name:fi.isOptional,defaultValue:!1},name:{name:fi.name},type:{name:fi.type}},superTypes:[]},TypeDefinition:{name:hi.$type,properties:{},superTypes:[]},UnionType:{name:xl.$type,properties:{types:{name:xl.types,defaultValue:[]}},superTypes:[hi.$type]},UnorderedGroup:{name:Js.$type,properties:{cardinality:{name:Js.cardinality},elements:{name:Js.elements,defaultValue:[]}},superTypes:[at.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[mt.$type]},ValueLiteral:{name:pi.$type,properties:{},superTypes:[]},Wildcard:{name:xi.$type,properties:{cardinality:{name:xi.cardinality},lookahead:{name:xi.lookahead},parenthesized:{name:xi.parenthesized,defaultValue:!1}},superTypes:[mt.$type]}}}}const ee=new $d;function No(t){return new rl(t,e=>Bi(e)?e.content:[],{includeRoot:!0})}function Qh(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function wo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function la(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(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"})(Xt||(Xt={}));function Zh(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.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?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function ep(t,e){return Zh(t,e)>Xt.After}const tp=/^[\w\p{L}]$/u;function np(t,e){if(t){const n=rp(t,!0);if(n&&Dl(n,e))return n;if(Nd(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Dl(s,e))return s}}}}function Dl(t,e){return kd(t)&&e.includes(t.tokenType.name)}function rp(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 Ld extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function ss(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Ya(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function mi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ip(){throw Error("Internal Error - Should never get here!")}function Ml(t){return t.type==="Character"}const ua=[];for(let t=W("0");t<=W("9");t++)ua.push(t);const da=[W("_")].concat(ua);for(let t=W("a");t<=W("z");t++)da.push(t);for(let t=W("A");t<=W("Z");t++)da.push(t);const Fl=[W(" "),W("\f"),W(`
`),W("\r"),W(" "),W("\v"),W(" "),W(" "),W(""),W(" "),W(""),W(""),W(""),W(""),W(""),W(""),W(""),W(""),W(""),W(""),W("\u2028"),W("\u2029"),W(""),W(""),W(" "),W("\uFEFF")],sp=/[0-9a-fA-F]/,Ls=/[0-9]/,ap=/[1-9]/;class Od{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":mi(r,"global");break;case"i":mi(r,"ignoreCase");break;case"m":mi(r,"multiLine");break;case"u":mi(r,"unicode");break;case"y":mi(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}}ir(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return ip()}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;ir(n);break}if(!(e===!0&&n===void 0)&&ir(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()),ir(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[W(`
`),W("\r"),W("\u2028"),W("\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=ua;break;case"D":e=ua,n=!0;break;case"s":e=Fl;break;case"S":e=Fl,n=!0;break;case"w":e=da;break;case"W":e=da,n=!0;break}if(ir(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=W("\f");break;case"n":e=W(`
`);break;case"r":e=W("\r");break;case"t":e=W(" ");break;case"v":e=W("\v");break}if(ir(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:W("\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:W(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:W(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,Ml(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,Ml(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Ya(r.value,e),e.push(W("-")),Ya(i.value,e)}else Ya(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`: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:W("\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(ap.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`
`: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:W(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`
`: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`
`: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(sp.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 op=/\r?\n/gm,cp=new Od;class lp 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===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=xa(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=!!`
`.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 Xa=new lp;function up(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Xa.reset(t),Xa.visit(cp.pattern(t)),Xa.multiline}catch{return!1}}const dp=`\f
\r \v   \u2028\u2029 \uFEFF`.split("");function xd(t){const e=typeof t=="string"?new RegExp(t):t;return dp.some(n=>e.test(n))}function xa(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fp(t,e){const n=hp(t),r=e.match(n);return!!r&&r[0].length>0}function hp(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 pp(t){return t.rules.find(e=>sn(e)&&e.entry)}function mp(t){return t.rules.filter(e=>an(e)&&e.hidden)}function Dd(t,e){const n=new Set,r=pp(t);if(!r)return new Set(t.rules);const i=[r].concat(mp(t));for(const a of i)Md(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||an(a)&&a.hidden)&&s.add(a);return s}function Md(t,e,n){e.add(t.name),rs(t).forEach(r=>{if(Vn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Md(i,e,n)}})}function gp(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Gd(t.type.ref);return e==null?void 0:e.terminal}}function yp(t){return t.hidden&&!xd(ol(t))}function Tp(t,e){return!t||!e?[]:al(t,e,t.astNode,!0)}function Fd(t,e,n){if(!t||!e)return;const r=al(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 al(t,e,n,r){if(!r){const i=Pa(t.grammarSource,Bn);if(i&&i.feature===e)return[t]}return Bi(t)&&t.astNode===n?t.content.flatMap(i=>al(i,e,n,!1)):[]}function Rp(t,e,n){if(!t)return;const r=vp(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 vp(t,e,n){if(t.astNode!==n)return[];if(Wn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=No(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Wn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Ep(t){var n;const e=t.astNode;for(;e===((n=t.container)==null?void 0:n.astNode);){const r=Pa(t.grammarSource,Bn);if(r)return r;t=t.container}}function Gd(t){let e=t;return Id(e)&&($a(e.$container)?e=e.$container.$container:is(e.$container)?e=e.$container:ss(e.$container)),Ud(t,e,new Map)}function Ud(t,e,n){var i;function r(s,a){let o;return Pa(s,Bn)||(o=Ud(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 rs(e)){if(Bn(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Vn(s)&&sn(s.rule.ref))return r(s,s.rule.ref);if(Wh(s)&&((i=s.typeRef)!=null&&i.ref))return r(s,s.typeRef.ref)}}function qd(t){return jd(t,new Set)}function jd(t,e){if(e.has(t))return!0;e.add(t);for(const n of rs(t))if(Vn(n)){if(!n.rule.ref||sn(n.rule.ref)&&!jd(n.rule.ref,e)||ca(n.rule.ref))return!1}else{if(Bn(n))return!1;if($a(n))return!1}return!!t.definition}function zd(t){if(!an(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 Wi(t){if(is(t))return sn(t)&&qd(t)?t.name:zd(t)??t.name;if(Gh(t)||Yh(t)||Bh(t))return t.name;if($a(t)){const e=Ap(t);if(e)return e}else if(Id(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Ap(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return Wi(t.type.ref)}function Sp(t){var e;return an(t)?((e=t.type)==null?void 0:e.name)??"string":zd(t)??t.name}function ol(t){const e={s:!1,i:!1,u:!1},n=Hr(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const cl=/[\s\S]/.source;function Hr(t,e){var n;if(Vh(t))return Cp(t);if(Kh(t))return kp(t);if(xh(t))return bp(t);if(Hh(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return en(Hr(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Uh(t))return wp(t);if(Xh(t))return Np(t);if(zh(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")),en(i,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Jh(t))return en(cl,{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 Cp(t){return en(t.elements.map(e=>Hr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function kp(t){return en(t.elements.map(e=>Hr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Np(t){return en(`${cl}*?${Hr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function wp(t){return en(`(?!${Hr(t.terminal)})${cl}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bp(t){return t.right?en(`[${Ja(t.left)}-${Ja(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):en(Ja(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ja(t){return xa(t.value)}function en(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function _p(t){const e=[],n=t.Grammar;for(const r of n.rules)an(r)&&yp(r)&&up(ol(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:tp}}function bo(t){console&&console.error&&console.error(`Error: ${t}`)}function Bd(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Wd(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function Vd(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function Ip(t){return Pp(t)?t.LABEL:t.name}function Pp(t){return dt(t.LABEL)&&t.LABEL!==""}class xt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),q(this.definition,n=>{n.accept(e)})}}class Je extends xt{constructor(e){super([]),this.idx=1,ut(this,wt(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Yr extends xt{constructor(e){super(e.definition),this.orgText="",ut(this,wt(e,n=>n!==void 0))}}class tt extends xt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ut(this,wt(e,n=>n!==void 0))}}let je=class extends xt{constructor(e){super(e.definition),this.idx=1,ut(this,wt(e,n=>n!==void 0))}};class ht extends xt{constructor(e){super(e.definition),this.idx=1,ut(this,wt(e,n=>n!==void 0))}}class pt extends xt{constructor(e){super(e.definition),this.idx=1,ut(this,wt(e,n=>n!==void 0))}}class Ae extends xt{constructor(e){super(e.definition),this.idx=1,ut(this,wt(e,n=>n!==void 0))}}class nt extends xt{constructor(e){super(e.definition),this.idx=1,ut(this,wt(e,n=>n!==void 0))}}class rt extends xt{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,ut(this,wt(e,n=>n!==void 0))}}class ue{constructor(e){this.idx=1,ut(this,wt(e,n=>n!==void 0))}accept(e){e.visit(this)}}function $p(t){return M(t,Qs)}function Qs(t){function e(n){return M(n,Qs)}if(t instanceof Je){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return dt(t.label)&&(n.label=t.label),n}else{if(t instanceof tt)return{type:"Alternative",definition:e(t.definition)};if(t instanceof je)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof ht)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof pt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Qs(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof nt)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Qs(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ae)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof rt)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ue){const n={type:"Terminal",name:t.terminalType.name,label:Ip(t.terminalType),idx:t.idx};dt(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=nn(r)?r.source:r),n}else{if(t instanceof Yr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Xr{visit(e){const n=e;switch(n.constructor){case Je:return this.visitNonTerminal(n);case tt:return this.visitAlternative(n);case je:return this.visitOption(n);case ht:return this.visitRepetitionMandatory(n);case pt:return this.visitRepetitionMandatoryWithSeparator(n);case nt:return this.visitRepetitionWithSeparator(n);case Ae:return this.visitRepetition(n);case rt:return this.visitAlternation(n);case ue:return this.visitTerminal(n);case Yr: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 Lp(t){return t instanceof tt||t instanceof je||t instanceof Ae||t instanceof ht||t instanceof pt||t instanceof nt||t instanceof ue||t instanceof Yr}function fa(t,e=[]){return t instanceof je||t instanceof Ae||t instanceof nt?!0:t instanceof rt?Sd(t.definition,r=>fa(r,e)):t instanceof Je&&Ze(e,t)?!1:t instanceof xt?(t instanceof Je&&e.push(t),Ct(t.definition,r=>fa(r,e))):!1}function Op(t){return t instanceof rt}function $t(t){if(t instanceof Je)return"SUBRULE";if(t instanceof je)return"OPTION";if(t instanceof rt)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof nt)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}class Da{walk(e,n=[]){q(e.definition,(r,i)=>{const s=Ge(e.definition,i+1);if(r instanceof Je)this.walkProdRef(r,s,n);else if(r instanceof ue)this.walkTerminal(r,s,n);else if(r instanceof tt)this.walkFlat(r,s,n);else if(r instanceof je)this.walkOption(r,s,n);else if(r instanceof ht)this.walkAtLeastOne(r,s,n);else if(r instanceof pt)this.walkAtLeastOneSep(r,s,n);else if(r instanceof nt)this.walkManySep(r,s,n);else if(r instanceof Ae)this.walkMany(r,s,n);else if(r instanceof rt)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 je({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Gl(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new je({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Gl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);q(e.definition,s=>{const a=new tt({definition:[s]});this.walk(a,i)})}}function Gl(t,e,n){return[new je({definition:[new ue({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function as(t){if(t instanceof Je)return as(t.referencedRule);if(t instanceof ue)return Mp(t);if(Lp(t))return xp(t);if(Op(t))return Dp(t);throw Error("non exhaustive match")}function xp(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=fa(s),e=e.concat(as(s)),r=r+1,i=n.length>r;return tl(e)}function Dp(t){const e=M(t.definition,n=>as(n));return tl(gt(e))}function Mp(t){return[t.terminalType]}const Kd="_~IN~_";class Fp extends Da{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=Up(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new tt({definition:s}),o=as(a);this.follows[i]=o}}function Gp(t){const e={};return q(t,n=>{const r=new Fp(n).startWalking();ut(e,r)}),e}function Up(t,e){return t.name+e+Kd}let Zs={};const qp=new Od;function Ma(t){const e=t.toString();if(Zs.hasOwnProperty(e))return Zs[e];{const n=qp.pattern(e);return Zs[e]=n,n}}function jp(){Zs={}}const Hd="Complement Sets are not supported for first char optimization",ha=`Unable to use "first char" lexer optimizations:
`;function zp(t,e=!1){try{const n=Ma(t);return _o(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===Hd)e&&Bd(`${ha} Unable to optimize: < ${t.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),bo(`${ha}
Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function _o(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)_o(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":Os(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(Hd);q(a.value,c=>{if(typeof c=="number")Os(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)Os(u,e,n);else{for(let u=l.from;u<=l.to&&u<Mi;u++)Os(u,e,n);if(l.to>=Mi){const u=l.from>=Mi?l.from:Mi,f=l.to,g=fn(u),h=fn(f);for(let E=g;E<=h;E++)e[E]=E}}}});break;case"Group":_o(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"&&Io(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return $e(e)}function Os(t,e,n){const r=fn(t);e[r]=r,n===!0&&Bp(t,e)}function Bp(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=fn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=fn(i.charCodeAt(0));e[s]=s}}}function Ul(t,e){return jr(t.value,n=>{if(typeof n=="number")return Ze(e,n);{const r=n;return jr(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Io(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?yt(t.value)?Ct(t.value,Io):Io(t.value):!1}class Wp 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){Ze(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Ul(e,this.targetCharCodes)===void 0&&(this.found=!0):Ul(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function ll(t,e){if(e instanceof RegExp){const n=Ma(e),r=new Wp(t);return r.visit(n),r.found}else return jr(e,n=>Ze(t,n.charCodeAt(0)))!==void 0}const Kn="PATTERN",Di="defaultMode",xs="modes";function Vp(t,e){e=nl(e,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:(N,k)=>k()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{gm()});let r;n("Reject Lexer.NA",()=>{r=_a(t,N=>N[Kn]===et.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=M(r,N=>{const k=N[Kn];if(nn(k)){const P=k.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!k.ignoreCase?P:P.length===2&&P[0]==="\\"&&!Ze(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],P[1])?P[1]:ql(k)}else{if(Xn(k))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,"\\$&"),H=new RegExp(P);return ql(H)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=M(r,N=>N.tokenTypeIdx),o=M(r,N=>{const k=N.GROUP;if(k!==et.SKIPPED){if(dt(k))return k;if(tn(k))return!1;throw Error("non exhaustive match")}}),c=M(r,N=>{const k=N.LONGER_ALT;if(k)return yt(k)?M(k,H=>Nl(r,H)):[Nl(r,k)]}),l=M(r,N=>N.PUSH_MODE),u=M(r,N=>z(N,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const N=Jd(e.lineTerminatorCharacters);f=M(r,k=>!1),e.positionTracking!=="onlyOffset"&&(f=M(r,k=>z(k,"LINE_BREAKS")?!!k.LINE_BREAKS:Xd(k,N)===!1&&ll(N,k.PATTERN)))});let g,h,E,b;n("Misc Mapping #2",()=>{g=M(r,Yd),h=M(s,hm),E=Xe(r,(N,k)=>{const P=k.GROUP;return dt(P)&&P!==et.SKIPPED&&(N[P]=[]),N},{}),b=M(s,(N,k)=>({pattern:s[k],longerAlt:c[k],canLineTerminator:f[k],isCustom:g[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=Xe(r,(N,k,P)=>{if(typeof k.PATTERN=="string"){const H=k.PATTERN.charCodeAt(0),K=fn(H);Qa(N,K,b[P])}else if(yt(k.START_CHARS_HINT)){let H;q(k.START_CHARS_HINT,K=>{const J=typeof K=="string"?K.charCodeAt(0):K,oe=fn(J);H!==oe&&(H=oe,Qa(N,oe,b[P]))})}else if(nn(k.PATTERN))if(k.PATTERN.unicode)I=!1,e.ensureOptimizations&&bo(`${ha} Unable to analyze < ${k.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const H=zp(k.PATTERN,e.ensureOptimizations);ae(H)&&(I=!1),q(H,K=>{Qa(N,K,b[P])})}else e.ensureOptimizations&&bo(`${ha} TokenType: <${k.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),I=!1;return N},[])}),{emptyGroups:E,patternIdxToConfig:b,charCodeToPatternIdxToConfig:C,hasCustom:i,canBeOptimized:I}}function Kp(t,e){let n=[];const r=Yp(t);n=n.concat(r.errors);const i=Xp(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Hp(s)),n=n.concat(im(s)),n=n.concat(sm(s,e)),n=n.concat(am(s)),n}function Hp(t){let e=[];const n=ft(t,r=>nn(r[Kn]));return e=e.concat(Qp(n)),e=e.concat(tm(n)),e=e.concat(nm(n)),e=e.concat(rm(n)),e=e.concat(Zp(n)),e}function Yp(t){const e=ft(t,i=>!z(i,Kn)),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Se.MISSING_PATTERN,tokenTypes:[i]})),r=Ia(t,e);return{errors:n,valid:r}}function Xp(t){const e=ft(t,i=>{const s=i[Kn];return!nn(s)&&!Xn(s)&&!z(s,"exec")&&!dt(s)}),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Se.INVALID_PATTERN,tokenTypes:[i]})),r=Ia(t,e);return{errors:n,valid:r}}const Jp=/[^\\][$]/;function Qp(t){class e extends Oa{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=Ma(s),o=new e;return o.visit(a),o.found}catch{return Jp.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Zp(t){const e=ft(t,r=>r.PATTERN.test(""));return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Se.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const em=/[^\\[][\^]|^\^/;function tm(t){class e extends Oa{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=Ma(s),o=new e;return o.visit(a),o.found}catch{return em.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Se.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function nm(t){const e=ft(t,r=>{const i=r[Kn];return i instanceof RegExp&&(i.multiline||i.global)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Se.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function rm(t){const e=[];let n=M(t,s=>Xe(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Ze(e,o)&&o.PATTERN!==et.NA&&(e.push(o),a.push(o)),a),[]));n=ns(n);const r=ft(n,s=>s.length>1);return M(r,s=>{const a=M(s,c=>c.name);return{message:`The same RegExp pattern ->${Nt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Se.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function im(t){const e=ft(t,r=>{if(!z(r,"GROUP"))return!1;const i=r.GROUP;return i!==et.SKIPPED&&i!==et.NA&&!dt(i)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Se.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function sm(t,e){const n=ft(t,i=>i.PUSH_MODE!==void 0&&!Ze(e,i.PUSH_MODE));return M(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Se.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function am(t){const e=[],n=Xe(t,(r,i,s)=>{const a=i.PATTERN;return a===et.NA||(dt(a)?r.push({str:a,idx:s,tokenType:i}):nn(a)&&cm(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return q(t,(r,i)=>{q(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&om(s,r.PATTERN)){const c=`Token: ->${o.name}<- can never be matched.
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Se.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function om(t,e){if(nn(e)){if(lm(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(Xn(e))return e(t,0,[],{});if(z(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function cm(t){return jr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function lm(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function ql(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function um(t,e,n){const r=[];return z(t,Di)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Di+`> property in its definition
`,type:Se.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),z(t,xs)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+xs+`> property in its definition
`,type:Se.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),z(t,xs)&&z(t,Di)&&!z(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Di}: <${t.defaultMode}>which does not exist
`,type:Se.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),z(t,xs)&&q(t.modes,(i,s)=>{q(i,(a,o)=>{if(tn(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
`,type:Se.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(z(a,"LONGER_ALT")){const c=yt(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];q(c,l=>{!tn(l)&&!Ze(i,l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${s}>
`,type:Se.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function dm(t,e,n){const r=[];let i=!1;const s=ns(gt($e(t.modes))),a=_a(s,c=>c[Kn]===et.NA),o=Jd(n);return e&&q(a,c=>{const l=Xd(c,o);if(l!==!1){const f={message:mm(c,l),type:l.issue,tokenType:c};r.push(f)}else z(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):ll(o,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:Se.NO_LINE_BREAKS_FLAGS}),r}function fm(t){const e={},n=ji(t);return q(n,r=>{const i=t[r];if(yt(i))e[r]=[];else throw Error("non exhaustive match")}),e}function Yd(t){const e=t.PATTERN;if(nn(e))return!1;if(Xn(e))return!0;if(z(e,"exec"))return!0;if(dt(e))return!1;throw Error("non exhaustive match")}function hm(t){return dt(t)&&t.length===1?t.charCodeAt(0):!1}const pm={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 Xd(t,e){if(z(t,"LINE_BREAKS"))return!1;if(nn(t.PATTERN)){try{ll(e,t.PATTERN)}catch(n){return{issue:Se.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(dt(t.PATTERN))return!1;if(Yd(t))return{issue:Se.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function mm(t,e){if(e.issue===Se.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${t.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Se.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${t.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Jd(t){return M(t,n=>dt(n)?n.charCodeAt(0):n)}function Qa(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Mi=256;let ea=[];function fn(t){return t<Mi?t:ea[t]}function gm(){if(ae(ea)){ea=new Array(65536);for(let t=0;t<65536;t++)ea[t]=t>255?255+~~(t/255):t}}function os(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function pa(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let jl=1;const Qd={};function cs(t){const e=ym(t);Tm(e),vm(e),Rm(e),q(e,n=>{n.isParent=n.categoryMatches.length>0})}function ym(t){let e=ze(t),n=t,r=!0;for(;r;){n=ns(gt(M(n,s=>s.CATEGORIES)));const i=Ia(n,e);e=e.concat(i),ae(i)?r=!1:n=i}return e}function Tm(t){q(t,e=>{ef(e)||(Qd[jl]=e,e.tokenTypeIdx=jl++),zl(e)&&!yt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),zl(e)||(e.CATEGORIES=[]),Em(e)||(e.categoryMatches=[]),Am(e)||(e.categoryMatchesMap={})})}function Rm(t){q(t,e=>{e.categoryMatches=[],q(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(Qd[r].tokenTypeIdx)})})}function vm(t){q(t,e=>{Zd([],e)})}function Zd(t,e){q(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),q(e.CATEGORIES,n=>{const r=t.concat(e);Ze(r,n)||Zd(r,n)})}function ef(t){return z(t,"tokenTypeIdx")}function zl(t){return z(t,"CATEGORIES")}function Em(t){return z(t,"categoryMatches")}function Am(t){return z(t,"categoryMatchesMap")}function Sm(t){return z(t,"tokenTypeIdx")}const Po={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 Se;(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"})(Se||(Se={}));const Fi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Po,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Fi);class et{constructor(e,n=Fi){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}=Wd(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.
a boolean 2nd argument is no longer supported`);this.config=ut({},Fi,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===Fi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=pm;else if(this.config.lineTerminatorCharacters===Fi.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
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),yt(e)?i={modes:{defaultMode:ze(e)},defaultMode:Di}:(s=!1,i=ze(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(um(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(dm(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},q(i.modes,(o,c)=>{i.modes[c]=_a(o,l=>tn(l))});const a=ji(i.modes);if(q(i.modes,(o,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kp(o,a))}),ae(this.lexerDefinitionErrors)){cs(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=Vp(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=l.charCodeToPatternIdxToConfig,this.emptyGroups=ut({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ae(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=M(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+c)}q(this.lexerDefinitionWarning,o=>{Bd(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(s&&(this.handleModes=Fe),this.trackStartLines===!1&&(this.computeNewColumn=Ch),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Fe),/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=Xe(this.canModeBeOptimized,(c,l,u)=>(l===!1&&c.push(u),c),[]);if(n.ensureOptimizations&&!ae(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{jp()}),this.TRACE_INIT("toFastProperties",()=>{Vd(this)})})}tokenize(e,n=this.defaultMode){if(!ae(this.lexerDefinitionErrors)){const i=M(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,g,h,E,b,I,C;const N=e,k=N.length;let P=0,H=0;const K=this.hasCustom?0:Math.floor(e.length/10),J=new Array(K),oe=[];let de=this.trackStartLines?1:void 0,fe=this.trackStartLines?1:void 0;const _=fm(this.emptyGroups),R=this.trackStartLines,m=this.config.lineTerminatorsPattern;let S=0,y=[],T=[];const A=[],O=[];Object.freeze(O);let D=!1;const x=B=>{if(A.length===1&&B.tokenType.PUSH_MODE===void 0){const ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(B);oe.push({offset:B.startOffset,line:B.startLine,column:B.startColumn,length:B.image.length,message:ne})}else{A.pop();const ne=zn(A);y=this.patternIdxToConfig[ne],T=this.charCodeToPatternIdxToConfig[ne],S=y.length;const Oe=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;T&&Oe?D=!0:D=!1}};function j(B){A.push(B),T=this.charCodeToPatternIdxToConfig[B],y=this.patternIdxToConfig[B],S=y.length,S=y.length;const ne=this.canModeBeOptimized[B]&&this.config.safeMode===!1;T&&ne?D=!0:D=!1}j.call(this,n);let G;const ie=this.config.recoveryEnabled;for(;P<k;){c=null,f=-1;const B=N.charCodeAt(P);let ne;if(D){const ve=fn(B),he=T[ve];ne=he!==void 0?he:O}else ne=y;const Oe=ne.length;for(r=0;r<Oe;r++){G=ne[r];const ve=G.pattern;l=null;const he=G.short;if(he!==!1?B===he&&(f=1,c=ve):G.isCustom===!0?(C=ve.exec(N,P,J,_),C!==null?(c=C[0],f=c.length,C.payload!==void 0&&(l=C.payload)):c=null):(ve.lastIndex=P,f=this.matchLength(ve,e,P)),f!==-1){if(o=G.longerAlt,o!==void 0){c=e.substring(P,P+f);const Ie=o.length;for(s=0;s<Ie;s++){const xe=y[o[s]],be=xe.pattern;if(u=null,xe.isCustom===!0?(C=be.exec(N,P,J,_),C!==null?(a=C[0],C.payload!==void 0&&(u=C.payload)):a=null):(be.lastIndex=P,a=this.match(be,e,P)),a&&a.length>c.length){c=a,f=a.length,l=u,G=xe;break}}}break}}if(f!==-1){if(g=G.group,g!==void 0&&(c=c!==null?c:e.substring(P,P+f),h=G.tokenTypeIdx,E=this.createTokenInstance(c,P,h,G.tokenType,de,fe,f),this.handlePayload(E,l),g===!1?H=this.addToken(J,H,E):_[g].push(E)),R===!0&&G.canLineTerminator===!0){let ve=0,he,Ie;m.lastIndex=0;do c=c!==null?c:e.substring(P,P+f),he=m.test(c),he===!0&&(Ie=m.lastIndex-1,ve++);while(he===!0);ve!==0?(de=de+ve,fe=f-Ie,this.updateTokenEndLineColumnLocation(E,g,Ie,ve,de,fe,f)):fe=this.computeNewColumn(fe,f)}else fe=this.computeNewColumn(fe,f);P=P+f,this.handleModes(G,x,j,E)}else{const ve=P,he=de,Ie=fe;let xe=ie===!1;for(;xe===!1&&P<k;)for(P++,i=0;i<S;i++){const be=y[i],Z=be.pattern,it=be.short;if(it!==!1?N.charCodeAt(P)===it&&(xe=!0):be.isCustom===!0?xe=Z.exec(N,P,J,_)!==null:(Z.lastIndex=P,xe=Z.exec(e)!==null),xe===!0)break}if(b=P-ve,fe=this.computeNewColumn(fe,b),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(N,ve,b,he,Ie,zn(A)),oe.push({offset:ve,line:he,column:Ie,length:b,message:I}),ie===!1)break}}return this.hasCustom||(J.length=H),{tokens:J,groups:_,errors:oe}}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}}et.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.";et.NA=/NOT_APPLICABLE/;function Cr(t){return tf(t)?t.LABEL:t.name}function tf(t){return dt(t.LABEL)&&t.LABEL!==""}const Cm="parent",Bl="categories",Wl="label",Vl="group",Kl="push_mode",Hl="pop_mode",Yl="longer_alt",Xl="line_breaks",Jl="start_chars_hint";function nf(t){return km(t)}function km(t){const e=t.pattern,n={};if(n.name=t.name,tn(e)||(n.PATTERN=e),z(t,Cm))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return z(t,Bl)&&(n.CATEGORIES=t[Bl]),cs([n]),z(t,Wl)&&(n.LABEL=t[Wl]),z(t,Vl)&&(n.GROUP=t[Vl]),z(t,Hl)&&(n.POP_MODE=t[Hl]),z(t,Kl)&&(n.PUSH_MODE=t[Kl]),z(t,Yl)&&(n.LONGER_ALT=t[Yl]),z(t,Xl)&&(n.LINE_BREAKS=t[Xl]),z(t,Jl)&&(n.START_CHARS_HINT=t[Jl]),n}const hn=nf({name:"EOF",pattern:et.NA});cs([hn]);function ul(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 rf(t,e){return os(t,e)}const Ar={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${tf(t)?`--> ${Cr(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=`
but found: '`+Nt(e).image+"'";if(r)return s+r+o;{const c=Xe(t,(g,h)=>g.concat(h),[]),l=M(c,g=>`[${M(g,h=>Cr(h)).join(", ")}]`),f=`one of these possible Token sequences:
${M(l,(g,h)=>` ${h+1}. ${g}`).join(`
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
but found: '`+Nt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
<${M(t,l=>`[${M(l,u=>Cr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(Ar);const Nm={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+t.name+"<-"}},qn={buildDuplicateFoundError(t,e){function n(u){return u instanceof ue?u.terminalType.name:u instanceof Je?u.nonTerminalName:""}const r=t.name,i=Nt(e),s=i.idx,a=$t(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
`),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=M(t.prefixPath,i=>Cr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
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,
`;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
Only the last alternative may be empty.
`;else{const i=M(t.prefixPath,s=>Cr(s)).join(", ");r+=`<${i}> may appears as a prefix path in all these alternatives.
`}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,r},buildEmptyRepetitionError(t){let e=$t(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
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.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=M(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${e}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${r}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Yr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function wm(t,e){const n=new bm(t,e);return n.resolveRefs(),n.errors}class bm extends Xr{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){q($e(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:Qe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class _m extends Da{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=ze(this.path.ruleStack).reverse(),this.occurrenceStack=ze(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(){ae(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Im extends _m{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 tt({definition:i});this.possibleTokTypes=as(s),this.found=!0}}}class Fa extends Da{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 Pm extends Fa{walkMany(e,n,r){if(e.idx===this.occurrence){const i=Nt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Ql extends Fa{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=Nt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class $m extends Fa{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=Nt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Zl extends Fa{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=Nt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function $o(t,e,n=[]){n=ze(n);let r=[],i=0;function s(o){return o.concat(Ge(t,i+1))}function a(o){const c=$o(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof tt)return a(o.definition);if(o instanceof Je)return a(o.definition);if(o instanceof je)r=a(o.definition);else if(o instanceof ht){const c=o.definition.concat([new Ae({definition:o.definition})]);return a(c)}else if(o instanceof pt){const c=[new tt({definition:o.definition}),new Ae({definition:[new ue({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof nt){const c=o.definition.concat([new Ae({definition:[new ue({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof Ae){const c=o.definition.concat([new Ae({definition:o.definition})]);r=a(c)}else{if(o instanceof rt)return q(o.definition,c=>{ae(c.definition)===!1&&(r=a(c.definition))}),r;if(o instanceof ue)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Ge(t,i)}),r}function sf(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:[]});!ae(f);){const g=f.pop();if(g===a){o&&zn(f).idx<=l&&f.pop();continue}const h=g.def,E=g.idx,b=g.ruleStack,I=g.occurrenceStack;if(ae(h))continue;const C=h[0];if(C===i){const N={idx:E,def:Ge(h),ruleStack:zi(b),occurrenceStack:zi(I)};f.push(N)}else if(C instanceof ue)if(E<c-1){const N=E+1,k=e[N];if(n(k,C.terminalType)){const P={idx:N,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(P)}}else if(E===c-1)u.push({nextTokenType:C.terminalType,nextTokenOccurrence:C.idx,ruleStack:b,occurrenceStack:I}),o=!0;else throw Error("non exhaustive match");else if(C instanceof Je){const N=ze(b);N.push(C.nonTerminalName);const k=ze(I);k.push(C.idx);const P={idx:E,def:C.definition.concat(s,Ge(h)),ruleStack:N,occurrenceStack:k};f.push(P)}else if(C instanceof je){const N={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(N),f.push(a);const k={idx:E,def:C.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I};f.push(k)}else if(C instanceof ht){const N=new Ae({definition:C.definition,idx:C.idx}),k=C.definition.concat([N],Ge(h)),P={idx:E,def:k,ruleStack:b,occurrenceStack:I};f.push(P)}else if(C instanceof pt){const N=new ue({terminalType:C.separator}),k=new Ae({definition:[N].concat(C.definition),idx:C.idx}),P=C.definition.concat([k],Ge(h)),H={idx:E,def:P,ruleStack:b,occurrenceStack:I};f.push(H)}else if(C instanceof nt){const N={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(N),f.push(a);const k=new ue({terminalType:C.separator}),P=new Ae({definition:[k].concat(C.definition),idx:C.idx}),H=C.definition.concat([P],Ge(h)),K={idx:E,def:H,ruleStack:b,occurrenceStack:I};f.push(K)}else if(C instanceof Ae){const N={idx:E,def:Ge(h),ruleStack:b,occurrenceStack:I};f.push(N),f.push(a);const k=new Ae({definition:C.definition,idx:C.idx}),P=C.definition.concat([k],Ge(h)),H={idx:E,def:P,ruleStack:b,occurrenceStack:I};f.push(H)}else if(C instanceof rt)for(let N=C.definition.length-1;N>=0;N--){const k=C.definition[N],P={idx:E,def:k.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I};f.push(P),f.push(a)}else if(C instanceof tt)f.push({idx:E,def:C.definition.concat(Ge(h)),ruleStack:b,occurrenceStack:I});else if(C instanceof Yr)f.push(Lm(C,E,b,I));else throw Error("non exhaustive match")}return u}function Lm(t,e,n,r){const i=ze(n);i.push(t.name);const s=ze(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var ye;(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"})(ye||(ye={}));function dl(t){if(t instanceof je||t==="Option")return ye.OPTION;if(t instanceof Ae||t==="Repetition")return ye.REPETITION;if(t instanceof ht||t==="RepetitionMandatory")return ye.REPETITION_MANDATORY;if(t instanceof pt||t==="RepetitionMandatoryWithSeparator")return ye.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof nt||t==="RepetitionWithSeparator")return ye.REPETITION_WITH_SEPARATOR;if(t instanceof rt||t==="Alternation")return ye.ALTERNATION;throw Error("non exhaustive match")}function eu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=dl(r);return s===ye.ALTERNATION?Ga(e,n,i):Ua(e,n,s,i)}function Om(t,e,n,r,i,s){const a=Ga(t,e,n),o=cf(a)?pa:os;return s(a,r,o,i)}function xm(t,e,n,r,i,s){const a=Ua(t,e,i,n),o=cf(a)?pa:os;return s(a[0],o,r)}function Dm(t,e,n,r){const i=t.length,s=Ct(t,a=>Ct(a,o=>o.length===1));if(e)return function(a){const o=M(a,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 g=0;g<u;g++){const h=l[g],E=h.length;for(let b=0;b<E;b++){const I=this.LA(b+1);if(n(I,h[b])===!1)continue e}return c}}};if(s&&!r){const a=M(t,c=>gt(c)),o=Xe(a,(c,l,u)=>(q(l,f=>{z(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),q(f.categoryMatches,g=>{z(c,g)||(c[g]=u)})}),c),{});return function(){const c=this.LA(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 g=0;g<f;g++){const h=this.LA(g+1);if(n(h,u[g])===!1)continue e}return a}}}}function Mm(t,e,n){const r=Ct(t,s=>s.length===1),i=t.length;if(r&&!n){const s=gt(t);if(s.length===1&&ae(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Xe(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,q(c.categoryMatches,u=>{o[u]=!0}),o),[]);return function(){const o=this.LA(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(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class Fm extends Da{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,ye.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,ye.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,ye.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,ye.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,ye.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class af extends Xr{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,ye.OPTION)}visitRepetition(e){this.checkIsTarget(e,ye.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,ye.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,ye.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,ye.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,ye.ALTERNATION)}}function tu(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Za(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 Gm(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 of(t,e){const n=M(t,a=>$o([a],1)),r=tu(n.length),i=M(n,a=>{const o={};return q(a,c=>{const l=Za(c.partialPath);q(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=tu(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,g=l[u].suffixDef,h=Za(f);if(Gm(i,h,c)||ae(g)||f.length===e){const b=r[c];if(Lo(b,f)===!1){b.push(f);for(let I=0;I<h.length;I++){const C=h[I];i[c][C]=!0}}}else{const b=$o(g,a+1,f);s[c]=s[c].concat(b),q(b,I=>{const C=Za(I.partialPath);q(C,N=>{i[c][N]=!0})})}}}}return r}function Ga(t,e,n,r){const i=new af(t,ye.ALTERNATION,r);return e.accept(i),of(i.result,n)}function Ua(t,e,n,r){const i=new af(t,n);e.accept(i);const s=i.result,o=new Fm(e,t,n).startWalking(),c=new tt({definition:s}),l=new tt({definition:o});return of([c,l],r)}function Lo(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 Um(t,e){return t.length<e.length&&Ct(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function cf(t){return Ct(t,e=>Ct(e,n=>Ct(n,r=>ae(r.categoryMatches))))}function qm(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return M(e,n=>Object.assign({type:Qe.CUSTOM_LOOKAHEAD_VALIDATION},n))}function jm(t,e,n,r){const i=lt(t,c=>zm(c,n)),s=tg(t,e,n),a=lt(t,c=>Jm(c,n)),o=lt(t,c=>Vm(c,t,r,n));return i.concat(s,a,o)}function zm(t,e){const n=new Wm;t.accept(n);const r=n.allProductions,i=wh(r,Bm),s=wt(i,o=>o.length>1);return M($e(s),o=>{const c=Nt(o),l=e.buildDuplicateFoundError(t,o),u=$t(c),f={message:l,type:Qe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},g=lf(c);return g&&(f.parameter=g),f})}function Bm(t){return`${$t(t)}_#_${t.idx}_#_${lf(t)}`}function lf(t){return t instanceof ue?t.terminalType.name:t instanceof Je?t.nonTerminalName:""}class Wm extends Xr{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 Vm(t,e,n,r){const i=[];if(Xe(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:Qe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Km(t,e,n){const r=[];let i;return Ze(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Qe.INVALID_RULE_OVERRIDE,ruleName:t})),r}function uf(t,e,n,r=[]){const i=[],s=ta(e.definition);if(ae(s))return[];{const a=t.name;Ze(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Qe.LEFT_RECURSION,ruleName:a});const c=Ia(s,r.concat([t])),l=lt(c,u=>{const f=ze(r);return f.push(u),uf(t,u,n,f)});return i.concat(l)}}function ta(t){let e=[];if(ae(t))return e;const n=Nt(t);if(n instanceof Je)e.push(n.referencedRule);else if(n instanceof tt||n instanceof je||n instanceof ht||n instanceof pt||n instanceof nt||n instanceof Ae)e=e.concat(ta(n.definition));else if(n instanceof rt)e=gt(M(n.definition,s=>ta(s.definition)));else if(!(n instanceof ue))throw Error("non exhaustive match");const r=fa(n),i=t.length>1;if(r&&i){const s=Ge(t);return e.concat(ta(s))}else return e}class fl extends Xr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Hm(t,e){const n=new fl;t.accept(n);const r=n.alternations;return lt(r,s=>{const a=zi(s.definition);return lt(a,(o,c)=>{const l=sf([o],[],os,1);return ae(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Qe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Ym(t,e,n){const r=new fl;t.accept(r);let i=r.alternations;return i=_a(i,a=>a.ignoreAmbiguities===!0),lt(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=Ga(o,t,c,a),u=Zm(l,a,t,n),f=eg(l,a,t,n);return u.concat(f)})}class Xm extends Xr{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 Jm(t,e){const n=new fl;t.accept(n);const r=n.alternations;return lt(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Qe.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Qm(t,e,n){const r=[];return q(t,i=>{const s=new Xm;i.accept(s);const a=s.allProductions;q(a,o=>{const c=dl(o),l=o.maxLookahead||e,u=o.idx,g=Ua(u,i,c,l)[0];if(ae(gt(g))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:Qe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function Zm(t,e,n,r){const i=[],s=Xe(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||q(c,u=>{const f=[l];q(t,(g,h)=>{l!==h&&Lo(g,u)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!Lo(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]);return M(s,o=>{const c=M(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:Qe.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function eg(t,e,n,r){const i=Xe(t,(a,o,c)=>{const l=M(o,u=>({idx:c,path:u}));return a.concat(l)},[]);return ns(lt(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=ft(i,g=>e.definition[g.idx].ignoreAmbiguities!==!0&&g.idx<c&&Um(g.path,l));return M(u,g=>{const h=[g.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:g.path}),type:Qe.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:E,alternatives:h}})}))}function tg(t,e,n){const r=[],i=M(e,s=>s.name);return q(t,s=>{const a=s.name;if(Ze(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:Qe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function ng(t){const e=nl(t,{errMsgProvider:Nm}),n={};return q(t.rules,r=>{n[r.name]=r}),wm(n,e.errMsgProvider)}function rg(t){return t=nl(t,{errMsgProvider:qn}),jm(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const df="MismatchedTokenException",ff="NoViableAltException",hf="EarlyExitException",pf="NotAllInputParsedException",mf=[df,ff,hf,pf];Object.freeze(mf);function ma(t){return Ze(mf,t.name)}class qa 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 gf extends qa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=df}}class ig extends qa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=ff}}class sg extends qa{constructor(e,n){super(e,n),this.name=pf}}class ag extends qa{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=hf}}const eo={},yf="InRuleRecoveryException";class og extends Error{constructor(e){super(e),this.name=yf}}class cg{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=z(e,"recoveryEnabled")?e.recoveryEnabled:rn.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=lg)}getTokenToInsert(e){const n=ul(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(1);let u=this.LA(1);const f=()=>{const g=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:g,ruleName:this.getCurrRuleFullName()}),E=new gf(h,l,this.LA(0));E.resyncedTokens=zi(o),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(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new og("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||ae(n))return!1;const r=this.LA(1);return jr(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return Ze(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=jr(e,s=>rf(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return eo;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return M(e,(r,i)=>i===0?eo:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=M(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return gt(e)}getFollowSetFromFollowKey(e){if(e===eo)return[hn];const n=e.ruleName+e.idxInCallingRule+Kd+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,hn)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return zi(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=ze(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return M(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function lg(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const g=this.getCurrRuleFullName(),h=this.getGAstProductions()[g];c=new s(h,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK.length===1&&f&&l===void 0&&(l=hn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const ug=4,mn=8,Tf=1<<mn,Rf=2<<mn,Oo=3<<mn,xo=4<<mn,Do=5<<mn,na=6<<mn;function to(t,e,n){return n|e|t}class hl{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:rn.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(ae(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return lt(e,n=>uf(n,n,qn))}validateEmptyOrAlternatives(e){return lt(e,n=>Hm(n,qn))}validateAmbiguousAlternationAlternatives(e,n){return lt(e,r=>Ym(r,n,qn))}validateSomeNonEmptyLookaheadPath(e,n){return Qm(e,n,qn)}buildLookaheadForAlternation(e){return Om(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Dm)}buildLookaheadForOptional(e){return xm(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,dl(e.prodType),Mm)}}class dg{initLooksAhead(e){this.dynamicTokensEnabled=z(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:rn.dynamicTokensEnabled,this.maxLookahead=z(e,"maxLookahead")?e.maxLookahead:rn.maxLookahead,this.lookaheadStrategy=z(e,"lookaheadStrategy")?e.lookaheadStrategy:new hl({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){q(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=hg(n);q(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${$t(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),g=to(this.fullRuleNameToShort[n.name],Tf,l.idx);this.setLaFuncCache(g,f)})}),q(i,l=>{this.computeLookaheadFunc(n,l.idx,Oo,"Repetition",l.maxLookahead,$t(l))}),q(s,l=>{this.computeLookaheadFunc(n,l.idx,Rf,"Option",l.maxLookahead,$t(l))}),q(a,l=>{this.computeLookaheadFunc(n,l.idx,xo,"RepetitionMandatory",l.maxLookahead,$t(l))}),q(o,l=>{this.computeLookaheadFunc(n,l.idx,na,"RepetitionMandatoryWithSeparator",l.maxLookahead,$t(l))}),q(c,l=>{this.computeLookaheadFunc(n,l.idx,Do,"RepetitionWithSeparator",l.maxLookahead,$t(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=to(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return to(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class fg extends Xr{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 Ds=new fg;function hg(t){Ds.reset(),t.accept(Ds);const e=Ds.dslMethods;return Ds.reset(),e}function nu(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function ru(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 pg(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function mg(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const gg="name";function vf(t,e){Object.defineProperty(t,gg,{enumerable:!1,configurable:!0,writable:!1,value:e})}function yg(t,e){const n=ji(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 Tg(t,e){const n=function(){};vf(n,t+"BaseSemantics");const r={visit:function(i,s){if(yt(i)&&(i=i[0]),!tn(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=vg(this,e);if(!ae(i)){const s=M(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
${s.join(`
`).replace(/\n/g,`
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Rg(t,e,n){const r=function(){};vf(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return q(e,s=>{i[s]=yg}),r.prototype=i,r.prototype.constructor=r,r}var Mo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Mo||(Mo={}));function vg(t,e){return Eg(t,e)}function Eg(t,e){const n=ft(e,i=>Xn(t[i])===!1),r=M(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Mo.MISSING_METHOD,methodName:i}));return ns(r)}class Ag{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=z(e,"nodeLocationTracking")?e.nodeLocationTracking:rn.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Fe,this.cstFinallyStateUpdate=Fe,this.cstPostTerminal=Fe,this.cstPostNonTerminal=Fe,this.cstPostRule=Fe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ru,this.setNodeLocationFromNode=ru,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=nu,this.setNodeLocationFromNode=nu,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=Fe,this.setInitialNodeLocation=Fe;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];pg(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];mg(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(tn(this.baseCstVisitorConstructor)){const e=Tg(this.className,ji(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(tn(this.baseCstVisitorWithDefaultsConstructor)){const e=Rg(this.className,ji(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class Sg{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):ya}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ya:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class Cg{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=Ta){if(Ze(this.definedRulesNames,e)){const a={message:qn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Qe.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=Ta){const i=Km(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(ma(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return $p($e(this.gastProductionsCache))}}class kg{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=pa,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},z(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(yt(e)){if(ae(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
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.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(yt(e))this.tokensMap=Xe(e,(s,a)=>(s[a.name]=a,s),{});else if(z(e,"modes")&&Ct(gt($e(e.modes)),Sm)){const s=gt($e(e.modes)),a=tl(s);this.tokensMap=Xe(a,(o,c)=>(o[c.name]=c,o),{})}else if(kh(e))this.tokensMap=ze(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=hn;const r=z(e,"modes")?gt($e(e.modes)):$e(e),i=Ct(r,s=>ae(s.categoryMatches));this.tokenMatcher=i?pa:os,cs($e(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'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=z(r,"resyncEnabled")?r.resyncEnabled:Ta.resyncEnabled,s=z(r,"recoveryValueFunc")?r.recoveryValueFunc:Ta.recoveryValueFunc,a=this.ruleShortNameIdx<<ug+mn;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...u){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(ma(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(Rf,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(xo,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,ye.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,xo,e,$m)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(na,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(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Zl],o,na,e,Zl)}else throw this.raiseEarlyExitException(e,ye.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,Pm,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Do,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(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ql],o,Do,e,Ql)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,na,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Tf,n),i=yt(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(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sg(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw ma(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new gf(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===yf?r:s}}else throw r}saveRecogState(){const e=this.errors,n=ze(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),hn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class Ng{initErrorHandler(e){this._errors=[],this.errorMessageProvider=z(e,"errorMessageProvider")?e.errorMessageProvider:rn.errorMessageProvider}SAVE_ERROR(e){if(ma(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ze(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ze(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Ua(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 ag(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Ga(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 ig(c,this.LA(1),o))}}class wg{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(tn(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return sf([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=Nt(e.ruleStack),i=this.getGAstProductions()[n];return new Im(i,e).startWalking()}}const ja={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ja);const iu=!0,su=Math.pow(2,mn)-1,Ef=nf({name:"RECORDING_PHASE_TOKEN",pattern:et.NA});cs([Ef]);const Af=ul(Ef,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Af);const bg={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class _g{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 ya}topLevelRuleRecord(e,n){try{const r=new Yr({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+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return gi.call(this,je,e,n)}atLeastOneInternalRecord(e,n){gi.call(this,ht,n,e)}atLeastOneSepFirstInternalRecord(e,n){gi.call(this,pt,n,e,iu)}manyInternalRecord(e,n){gi.call(this,Ae,n,e)}manySepFirstInternalRecord(e,n){gi.call(this,nt,n,e,iu)}orInternalRecord(e,n){return Ig.call(this,e,n)}subruleInternalRecord(e,n,r){if(ga(n),!e||z(e,"ruleName")===!1){const o=new Error(`<SUBRULE${au(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=zn(this.recordingProdStack),s=e.ruleName,a=new Je({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?bg:ja}consumeInternalRecord(e,n,r){if(ga(n),!ef(e)){const a=new Error(`<CONSUME${au(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=zn(this.recordingProdStack),s=new ue({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Af}}function gi(t,e,n,r=!1){ga(n);const i=zn(this.recordingProdStack),s=Xn(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),z(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),ja}function Ig(t,e){ga(e);const n=zn(this.recordingProdStack),r=yt(t)===!1,i=r===!1?t:t.DEF,s=new rt({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});z(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=Sd(i,o=>Xn(o.GATE));return s.hasPredicates=a,n.definition.push(s),q(i,o=>{const c=new tt({definition:[]});s.definition.push(c),z(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:z(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),ja}function au(t){return t===0?"":`${t}`}function ga(t){if(t<0||t>su){const e=new Error(`Invalid DSL Method idx value: <${t}>
Idx value must be a none negative value smaller than ${su+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Pg{initPerformanceTracer(e){if(z(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=rn.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}=Wd(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 $g(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 ya=ul(hn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ya);const rn=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ar,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ta=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Qe;(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"})(Qe||(Qe={}));function ou(t=void 0){return function(){return t}}class ls{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",()=>{Vd(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),q(this.definedRulesNames,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=ng({rules:$e(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(ae(r)&&this.skipValidations===!1){const i=rg({rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),errMsgProvider:qn,grammarName:n}),s=qm({lookaheadStrategy:this.lookaheadStrategy,rules:$e(this.gastProductionsCache),tokenTypes:$e(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),ae(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Gp($e(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:$e(this.gastProductionsCache)}),this.preComputeLookaheadFunctions($e(this.gastProductionsCache))})),!ls.DEFER_DEFINITION_ERRORS_HANDLING&&!ae(this.definitionErrors))throw e=M(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
${e.join(`
-------------------------------
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),z(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=z(n,"skipValidations")?n.skipValidations:rn.skipValidations}}ls.DEFER_DEFINITION_ERRORS_HANDLING=!1;$g(ls,[cg,dg,Ag,Sg,kg,Cg,Ng,wg,_g,Pg]);class Lg extends ls{constructor(e,n=rn){const r=ze(n);r.outputCst=!1,super(e,r)}}function zr(t,e,n){return`${t.name}_${e}_${n}`}const pn=1,Og=2,Sf=4,Cf=5,us=7,xg=8,Dg=9,Mg=10,Fg=11,kf=12;class pl{constructor(e){this.target=e}isEpsilon(){return!1}}class ml extends pl{constructor(e,n){super(e),this.tokenType=n}}class Nf extends pl{constructor(e){super(e)}isEpsilon(){return!0}}class gl extends pl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function Gg(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Ug(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Jn(e,i,i);s!==void 0&&Jg(e,i,s)}return e}function Ug(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Le(t,i,void 0,{type:Og}),a=Le(t,i,void 0,{type:us});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function wf(t,e,n){return n instanceof ue?yl(t,e,n.terminalType,n):n instanceof Je?Xg(t,e,n):n instanceof rt?Wg(t,e,n):n instanceof je?Vg(t,e,n):n instanceof Ae?qg(t,e,n):n instanceof nt?jg(t,e,n):n instanceof ht?zg(t,e,n):n instanceof pt?Bg(t,e,n):Jn(t,e,n)}function qg(t,e,n){const r=Le(t,e,n,{type:Cf});gn(t,r);const i=Jr(t,e,r,n,Jn(t,e,n));return _f(t,e,n,i)}function jg(t,e,n){const r=Le(t,e,n,{type:Cf});gn(t,r);const i=Jr(t,e,r,n,Jn(t,e,n)),s=yl(t,e,n.separator,n);return _f(t,e,n,i,s)}function zg(t,e,n){const r=Le(t,e,n,{type:Sf});gn(t,r);const i=Jr(t,e,r,n,Jn(t,e,n));return bf(t,e,n,i)}function Bg(t,e,n){const r=Le(t,e,n,{type:Sf});gn(t,r);const i=Jr(t,e,r,n,Jn(t,e,n)),s=yl(t,e,n.separator,n);return bf(t,e,n,i,s)}function Wg(t,e,n){const r=Le(t,e,n,{type:pn});gn(t,r);const i=M(n.definition,a=>wf(t,e,a));return Jr(t,e,r,n,...i)}function Vg(t,e,n){const r=Le(t,e,n,{type:pn});gn(t,r);const i=Jr(t,e,r,n,Jn(t,e,n));return Kg(t,e,n,i)}function Jn(t,e,n){const r=ft(M(n.definition,i=>wf(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Yg(t,r)}function bf(t,e,n,r,i){const s=r.left,a=r.right,o=Le(t,e,n,{type:Fg});gn(t,o);const c=Le(t,e,n,{type:kf});return s.loopback=o,c.loopback=o,t.decisionMap[zr(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,_e(a,o),i===void 0?(_e(o,s),_e(o,c)):(_e(o,c),_e(o,i.left),_e(i.right,s)),{left:s,right:c}}function _f(t,e,n,r,i){const s=r.left,a=r.right,o=Le(t,e,n,{type:Mg});gn(t,o);const c=Le(t,e,n,{type:kf}),l=Le(t,e,n,{type:Dg});return o.loopback=l,c.loopback=l,_e(o,s),_e(o,c),_e(a,l),i!==void 0?(_e(l,c),_e(l,i.left),_e(i.right,s)):_e(l,o),t.decisionMap[zr(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function Kg(t,e,n,r){const i=r.left,s=r.right;return _e(i,s),t.decisionMap[zr(e,"Option",n.idx)]=i,r}function gn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Jr(t,e,n,r,...i){const s=Le(t,e,r,{type:xg,start:n});n.end=s;for(const o of i)o!==void 0?(_e(n,o.left),_e(o.right,s)):_e(n,s);const a={left:n,right:s};return t.decisionMap[zr(e,Hg(r),r.idx)]=n,a}function Hg(t){if(t instanceof rt)return"Alternation";if(t instanceof je)return"Option";if(t instanceof Ae)return"Repetition";if(t instanceof nt)return"RepetitionWithSeparator";if(t instanceof ht)return"RepetitionMandatory";if(t instanceof pt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Yg(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 gl,l=o,u=e[s+1].left;a.left.type===pn&&a.right.type===pn&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,Qg(t,a.right)):_e(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function yl(t,e,n,r){const i=Le(t,e,r,{type:pn}),s=Le(t,e,r,{type:pn});return Tl(i,new ml(s,n)),{left:i,right:s}}function Xg(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Le(t,e,n,{type:pn}),a=Le(t,e,n,{type:pn}),o=new gl(i,r,a);return Tl(s,o),{left:s,right:a}}function Jg(t,e,n){const r=t.ruleToStartState.get(e);_e(r,n.left);const i=t.ruleToStopState.get(e);return _e(n.right,i),{left:r,right:i}}function _e(t,e){const n=new Nf(e);Tl(t,n)}function Le(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 Tl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function Qg(t,e){t.states.splice(t.states.indexOf(e),1)}const Ra={};class Fo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=If(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return M(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function If(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function Zg(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 Pf{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 cu=new Pf;class ey extends hl{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=Gg(e.rules),this.dfas=ty(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=zr(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=M(eu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),g=>M(g,h=>h[0]));if(lu(f,!1)&&!s){const g=Xe(f,(h,E,b)=>(q(E,I=>{I&&(h[I.tokenTypeIdx]=b,q(I.categoryMatches,C=>{h[C]=b}))}),h),{});return i?function(h){var E;const b=this.LA(1),I=g[b.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(1);return g[h.tokenTypeIdx]}}else return i?function(g){const h=new Pf,E=g===void 0?0:g.length;for(let I=0;I<E;I++){const C=g==null?void 0:g[I].GATE;h.set(I,C===void 0||C.call(this))}const b=no.call(this,a,u,h,o);return typeof b=="number"?b:void 0}:function(){const g=no.call(this,a,u,cu,o);return typeof g=="number"?g:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=zr(r,i,n),u=this.atn.decisionMap[c].decision,f=M(eu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),g=>M(g,h=>h[0]));if(lu(f)&&f[0][0]&&!s){const g=f[0],h=gt(g);if(h.length===1&&ae(h[0].categoryMatches)){const b=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===b}}else{const E=Xe(h,(b,I)=>(I!==void 0&&(b[I.tokenTypeIdx]=!0,q(I.categoryMatches,C=>{b[C]=!0})),b),{});return function(){const b=this.LA(1);return E[b.tokenTypeIdx]===!0}}}return function(){const g=no.call(this,a,u,cu,o);return typeof g=="object"?!1:g===0}}}function lu(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 ty(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=Zg(t.decisionStates[r],r);return n}function no(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=fy(i.atnStartState);s=Lf(i,$f(o)),i.start=s}return ny.apply(this,[i,s,n,r])}function ny(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=cy(i,o);if(c===void 0&&(c=ry.apply(this,[t,i,o,s,n,r])),c===Ra)return oy(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function ry(t,e,n,r,i,s){const a=ly(e.configs,n,i);if(a.size===0)return uu(t,e,n,Ra),Ra;let o=$f(a);const c=dy(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(gy(a)){const l=_h(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,iy.apply(this,[t,r,a.alts,s])}return o=uu(t,e,n,o),o}function iy(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=sy({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function sy(t){const e=M(t.prefixPath,i=>Cr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${ay(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,r}function ay(t){if(t instanceof Je)return"SUBRULE";if(t instanceof je)return"OPTION";if(t instanceof rt)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof nt)return"MANY_SEP";if(t instanceof Ae)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}function oy(t,e,n){const r=lt(e.configs.elements,s=>s.state.transitions),i=bh(r.filter(s=>s instanceof ml).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function cy(t,e){return t.edges[e.tokenTypeIdx]}function ly(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===us){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=uy(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)va(a,s)}if(i.length>0&&!py(s))for(const a of i)s.add(a);return s}function uy(t,e){if(t instanceof ml&&rf(e,t.tokenType))return t.target}function dy(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 $f(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function uu(t,e,n,r){return r=Lf(t,r),e.edges[n.tokenTypeIdx]=r,r}function Lf(t,e){if(e===Ra)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 fy(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:[]};va(s,e)}return e}function va(t,e){const n=t.state;if(n.type===us){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};va(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=hy(t,s);a!==void 0&&va(a,e)}}function hy(t,e){if(e instanceof Nf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof gl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function py(t){for(const e of t.elements)if(e.state.type===us)return!0;return!1}function my(t){for(const e of t.elements)if(e.state.type!==us)return!1;return!0}function gy(t){if(my(t))return!0;const e=yy(t.elements);return Ty(e)&&!Ry(e)}function yy(t){const e=new Map;for(const n of t){const r=If(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function Ty(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Ry(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Go;(function(t){function e(n){return typeof n=="string"}t.is=e})(Go||(Go={}));var Ea;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ea||(Ea={}));var Uo;(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})(Uo||(Uo={}));var Vi;(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})(Vi||(Vi={}));var te;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Vi.MAX_VALUE),i===Number.MAX_VALUE&&(i=Vi.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})(te||(te={}));var X;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:te.create(r,i),end:te.create(s,a)};if(te.is(r)&&te.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)&&te.is(i.start)&&te.is(i.end)}t.is=n})(X||(X={}));var Ki;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&X.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Ki||(Ki={}));var qo;(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)&&X.is(i.targetRange)&&v.string(i.targetUri)&&X.is(i.targetSelectionRange)&&(X.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(qo||(qo={}));var Aa;(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})(Aa||(Aa={}));var jo;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&X.is(i.range)&&Aa.is(i.color)}t.is=n})(jo||(jo={}));var zo;(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)||Ot.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,Ot.is))}t.is=n})(zo||(zo={}));var Bo;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Bo||(Bo={}));var Wo;(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})(Wo||(Wo={}));var Sa;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Ki.is(i.location)&&v.string(i.message)}t.is=n})(Sa||(Sa={}));var Vo;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Vo||(Vo={}));var Ko;(function(t){t.Unnecessary=1,t.Deprecated=2})(Ko||(Ko={}));var Ho;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Ho||(Ho={}));var Hi;(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)&&X.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,Sa.is))}t.is=n})(Hi||(Hi={}));var Hn;(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})(Hn||(Hn={}));var Ot;(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)&&X.is(a.range)}t.is=i})(Ot||(Ot={}));var jn;(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})(jn||(jn={}));var qe;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(qe||(qe={}));var Jt;(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 Ot.is(a)&&(jn.is(a.annotationId)||qe.is(a.annotationId))}t.is=i})(Jt||(Jt={}));var Yi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Xi.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Yi||(Yi={}));var Br;(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||qe.is(i.annotationId))}t.is=n})(Br||(Br={}));var Wr;(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||qe.is(i.annotationId))}t.is=n})(Wr||(Wr={}));var Vr;(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||qe.is(i.annotationId))}t.is=n})(Vr||(Vr={}));var Ca;(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)?Br.is(i)||Wr.is(i)||Vr.is(i):Yi.is(i)))}t.is=e})(Ca||(Ca={}));class Ms{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=Ot.insert(e,n):qe.is(r)?(s=r,i=Jt.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.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=Ot.replace(e,n):qe.is(r)?(s=r,i=Jt.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=Ot.del(e):qe.is(n)?(i=n,r=Jt.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Jt.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 du{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(qe.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 vy{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new du(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(Yi.is(n)){const r=new Ms(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new Ms(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(Xi.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 Ms(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 Ms(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new du,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;jn.is(n)||qe.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Br.create(e,r):(a=qe.is(i)?i:this._changeAnnotations.manage(i),s=Br.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;jn.is(r)||qe.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Wr.create(e,n,i):(o=qe.is(s)?s:this._changeAnnotations.manage(s),a=Wr.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;jn.is(n)||qe.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Vr.create(e,r):(a=qe.is(i)?i:this._changeAnnotations.manage(i),s=Vr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var Yo;(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})(Yo||(Yo={}));var Xo;(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})(Xo||(Xo={}));var Xi;(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})(Xi||(Xi={}));var Jo;(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})(Jo||(Jo={}));var ka;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(ka||(ka={}));var Kr;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&ka.is(r.kind)&&v.string(r.value)}t.is=e})(Kr||(Kr={}));var Qo;(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})(Qo||(Qo={}));var Zo;(function(t){t.PlainText=1,t.Snippet=2})(Zo||(Zo={}));var ec;(function(t){t.Deprecated=1})(ec||(ec={}));var tc;(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)&&X.is(i.insert)&&X.is(i.replace)}t.is=n})(tc||(tc={}));var nc;(function(t){t.asIs=1,t.adjustIndentation=2})(nc||(nc={}));var rc;(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})(rc||(rc={}));var ic;(function(t){function e(n){return{label:n}}t.create=e})(ic||(ic={}));var sc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(sc||(sc={}));var Ji;(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})(Ji||(Ji={}));var ac;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(Kr.is(r.contents)||Ji.is(r.contents)||v.typedArray(r.contents,Ji.is))&&(n.range===void 0||X.is(n.range))}t.is=e})(ac||(ac={}));var oc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(oc||(oc={}));var cc;(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})(cc||(cc={}));var lc;(function(t){t.Text=1,t.Read=2,t.Write=3})(lc||(lc={}));var uc;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(uc||(uc={}));var dc;(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})(dc||(dc={}));var fc;(function(t){t.Deprecated=1})(fc||(fc={}));var hc;(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})(hc||(hc={}));var pc;(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})(pc||(pc={}));var mc;(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)&&X.is(i.range)&&X.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})(mc||(mc={}));var gc;(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"})(gc||(gc={}));var Qi;(function(t){t.Invoked=1,t.Automatic=2})(Qi||(Qi={}));var yc;(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,Hi.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Qi.Invoked||i.triggerKind===Qi.Automatic)}t.is=n})(yc||(yc={}));var Tc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Hn.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,Hi.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Hn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||Ca.is(i.edit))}t.is=n})(Tc||(Tc={}));var Rc;(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)&&X.is(i.range)&&(v.undefined(i.command)||Hn.is(i.command))}t.is=n})(Rc||(Rc={}));var vc;(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})(vc||(vc={}));var Ec;(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)&&X.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Ec||(Ec={}));var Ac;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&X.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(Ac||(Ac={}));var Sc;(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"})(Sc||(Sc={}));var Cc;(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"})(Cc||(Cc={}));var kc;(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})(kc||(kc={}));var Nc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&X.is(i.range)&&v.string(i.text)}t.is=n})(Nc||(Nc={}));var wc;(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&&X.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(wc||(wc={}));var bc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&X.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(bc||(bc={}));var _c;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&X.is(r.stoppedLocation)}t.is=n})(_c||(_c={}));var Na;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Na||(Na={}));var wa;(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)||Kr.is(i.tooltip))&&(i.location===void 0||Ki.is(i.location))&&(i.command===void 0||Hn.is(i.command))}t.is=n})(wa||(wa={}));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)&&te.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,wa.is))&&(i.kind===void 0||Na.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,Ot.is)&&(i.tooltip===void 0||v.string(i.tooltip)||Kr.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 Pc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(Pc||(Pc={}));var $c;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})($c||($c={}));var Lc;(function(t){function e(n){return{items:n}}t.create=e})(Lc||(Lc={}));var Oc;(function(t){t.Invoked=0,t.Automatic=1})(Oc||(Oc={}));var xc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(xc||(xc={}));var Dc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Dc||(Dc={}));var Mc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Ea.is(r.uri)&&v.string(r.name)}t.is=e})(Mc||(Mc={}));const Ey=[`
`,`\r
`,"\r"];var Fc;(function(t){function e(s,a,o,c){return new Ay(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 g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],g=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=l)o=o.substring(0,g)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");l=g}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,g=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[g++]=c[u++]:s[g++]=l[f++];for(;u<c.length;)s[g++]=c[u++];for(;f<l.length;)s[g++]=l[f++];return s}})(Fc||(Fc={}));let Ay=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===`
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
`&&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 te.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 te.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,b){return e.call(h)==="[object Number]"&&E<=h&&h<=b}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 g(h,E){return Array.isArray(h)&&h.every(E)}t.typedArray=g})(v||(v={}));const Sy=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Jt},get ChangeAnnotation(){return jn},get ChangeAnnotationIdentifier(){return qe},get CodeAction(){return Tc},get CodeActionContext(){return yc},get CodeActionKind(){return gc},get CodeActionTriggerKind(){return Qi},get CodeDescription(){return Ho},get CodeLens(){return Rc},get Color(){return Aa},get ColorInformation(){return jo},get ColorPresentation(){return zo},get Command(){return Hn},get CompletionItem(){return ic},get CompletionItemKind(){return Qo},get CompletionItemLabelDetails(){return rc},get CompletionItemTag(){return ec},get CompletionList(){return sc},get CreateFile(){return Br},get DeleteFile(){return Vr},get Diagnostic(){return Hi},get DiagnosticRelatedInformation(){return Sa},get DiagnosticSeverity(){return Vo},get DiagnosticTag(){return Ko},get DocumentHighlight(){return uc},get DocumentHighlightKind(){return lc},get DocumentLink(){return Ec},get DocumentSymbol(){return mc},get DocumentUri(){return Go},EOL:Ey,get FoldingRange(){return Wo},get FoldingRangeKind(){return Bo},get FormattingOptions(){return vc},get Hover(){return ac},get InlayHint(){return Ic},get InlayHintKind(){return Na},get InlayHintLabelPart(){return wa},get InlineCompletionContext(){return Dc},get InlineCompletionItem(){return $c},get InlineCompletionList(){return Lc},get InlineCompletionTriggerKind(){return Oc},get InlineValueContext(){return _c},get InlineValueEvaluatableExpression(){return bc},get InlineValueText(){return Nc},get InlineValueVariableLookup(){return wc},get InsertReplaceEdit(){return tc},get InsertTextFormat(){return Zo},get InsertTextMode(){return nc},get Location(){return Ki},get LocationLink(){return qo},get MarkedString(){return Ji},get MarkupContent(){return Kr},get MarkupKind(){return ka},get OptionalVersionedTextDocumentIdentifier(){return Xi},get ParameterInformation(){return oc},get Position(){return te},get Range(){return X},get RenameFile(){return Wr},get SelectedCompletionInfo(){return xc},get SelectionRange(){return Ac},get SemanticTokenModifiers(){return Cc},get SemanticTokenTypes(){return Sc},get SemanticTokens(){return kc},get SignatureInformation(){return cc},get StringValue(){return Pc},get SymbolInformation(){return hc},get SymbolKind(){return dc},get SymbolTag(){return fc},get TextDocument(){return Fc},get TextDocumentEdit(){return Yi},get TextDocumentIdentifier(){return Yo},get TextDocumentItem(){return Jo},get TextEdit(){return Ot},get URI(){return Ea},get VersionedTextDocumentIdentifier(){return Xo},WorkspaceChange:vy,get WorkspaceEdit(){return Ca},get WorkspaceFolder(){return Mc},get WorkspaceSymbol(){return pc},get integer(){return Uo},get uinteger(){return Vi}},Symbol.toStringTag,{value:"Module"}));class Cy{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new xf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Rl;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Gc(e.startOffset,e.image.length,wo(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 Gc(s.startOffset,s.image.length,wo(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 Of{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 Gc extends Of{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 Rl extends Of{constructor(){super(...arguments),this.content=new vl(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:te.create(0,0),end:te.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 vl extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,vl.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 xf extends Rl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Uc=Symbol("Datatype");function ro(t){return t.$type===Uc}const fu="",Df=t=>t.endsWith(fu)?t:t+fu;class Mf{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 _y(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Gf(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 ky extends Mf{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Cy,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;ca(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Df(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),sn(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 ca(e)?Wi(e):e.fragment?void 0:qd(e)?Uc:Wi(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,Ro(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===Uc?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=Wn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(ro(l)){let u=i.image;Wn(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(ro(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)):ro(e)?this.converter.convert(e.value,e.$cstNode):($h(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 b=0;b<i.length;b++){const I=i[b],C=n.get(I)??{precedence:1/0,rightAssoc:!1};C.precedence>a?(a=C.precedence,s=b):C.precedence===a&&(C.rightAssoc||(s=b))}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},g={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},h=this.constructInfix(f,n),E=this.constructInfix(g,n);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:i[s],right:E}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Pa(e,Bn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&La(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 Ny{buildMismatchTokenMessage(e){return Ar.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ar.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ar.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ar.buildEarlyExitMessage(e)}}class Ff extends Ny{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 wy extends Mf{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(Df(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 by={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Ff};class Gf extends Lg{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...by,lookaheadStrategy:r?new hl({maxLookahead:n.maxLookahead}):new ey({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 _y extends Gf{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=Dd(e,!1),r=ge(e.rules).filter(sn).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,Yn(a,s.definition))}const i=ge(e.rules).filter(ca).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,Py(t,s))}function Py(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(an(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 g;return h=>{g??(g=El(t,n)),t.parser.subrule(0,g,!1,s,h),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,g,!1,l,h)}})}}function Yn(t,e,n=!1){let r;if(Wn(e))r=Fy(t,e);else if($a(e))r=$y(t,e);else if(Bn(e))r=Yn(t,e.terminal);else if(La(e))r=qf(t,e);else if(Vn(e))r=Ly(t,e);else if(_d(e))r=xy(t,e);else if(Pd(e))r=Dy(t,e);else if(sl(e))r=My(t,e);else if(Fh(e)){const i=t.consume++;r=()=>t.parser.consume(i,hn,e)}else throw new Ld(e.$cstNode,`Unexpected element type: ${e.$type}`);return jf(t,n?void 0:ba(e),r,e.cardinality)}function $y(t,e){const n=Wi(e);return()=>t.parser.action(n,e)}function Ly(t,e){const n=e.rule.ref;if(is(n)){const r=t.subrule++,i=sn(n)&&n.fragment,s=e.arguments.length>0?Oy(n,e.arguments):()=>({});let a;return o=>{a??(a=El(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(an(n)){const r=t.consume++,i=qc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)ss();else throw new Ld(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Oy(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:Lt(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=>Lt(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 Lt(t){if(Mh(t)){const e=Lt(t.left),n=Lt(t.right);return r=>e(r)||n(r)}else if(Dh(t)){const e=Lt(t.left),n=Lt(t.right);return r=>e(r)&&n(r)}else if(qh(t)){const e=Lt(t.value);return n=>!e(n)}else if(jh(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Oh(t)){const e=!!t.true;return()=>e}ss()}function xy(t,e){if(e.elements.length===1)return Yn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Yn(t,i,!0)},a=ba(i);a&&(s.GATE=Lt(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 Dy(t,e){if(e.elements.length===1)return Yn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Yn(t,o,!0)},l=ba(o);l&&(c.GATE=Lt(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 g=c.GATE;return g?u.GATE=()=>g(o):u.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[l])},u})),a=jf(t,ba(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function My(t,e){const n=e.elements.map(r=>Yn(t,r));return r=>n.forEach(i=>i(r))}function ba(t){if(sl(t))return t.guardCondition}function qf(t,e,n=e.terminal){if(n)if(Vn(n)&&sn(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=El(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(Vn(n)&&an(n.rule.ref)){const r=t.consume++,i=qc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Wn(n)){const r=t.consume++,i=qc(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=Gd(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Wi(e.type.ref));return qf(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 jf(t,e,n,r){const i=e&&Lt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:ou(),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:ou(),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 ss()}function El(t,e){const n=Gy(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Gy(t,e){if(is(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!sn(r);)(sl(r)||_d(r)||Pd(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 qc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function Uy(t){const e=t.Grammar,n=t.parser.Lexer,r=new wy(t);return Uf(e,r,n.definition),r.finalize(),r}function qy(t){const e=jy(t);return e.finalize(),e}function jy(t){const e=t.Grammar,n=t.parser.Lexer,r=new ky(t);return Uf(e,r,n.definition)}class zf{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ge(Dd(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(an).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=ol(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=xd(n)?et.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(is).flatMap(i=>rs(i).filter(Wn)).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(xa(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&&fp("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Bf{convert(e,n){let r=n.grammarSource;if(La(r)&&(r=gp(r)),Vn(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 Ht.convertInt(n);case"STRING":return Ht.convertString(n);case"ID":return Ht.convertID(n)}switch((i=Sp(e))==null?void 0:i.toLowerCase()){case"number":return Ht.convertNumber(n);case"boolean":return Ht.convertBoolean(n);case"bigint":return Ht.convertBigint(n);case"date":return Ht.convertDate(n);default:return n}}}var Ht;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const g=l.charAt(f);if(g==="\\"){const h=l.charAt(++f);u+=n(h)}else u+=g}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
`;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})(Ht||(Ht={}));var Cn={},Fs={},hu;function Qn(){if(hu)return Fs;hu=1,Object.defineProperty(Fs,"__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={})),Fs.default=e,Fs}var De={},pu;function ds(){if(pu)return De;pu=1,Object.defineProperty(De,"__esModule",{value:!0}),De.stringArray=De.array=De.func=De.error=De.number=De.string=De.boolean=void 0;function t(o){return o===!0||o===!1}De.boolean=t;function e(o){return typeof o=="string"||o instanceof String}De.string=e;function n(o){return typeof o=="number"||o instanceof Number}De.number=n;function r(o){return o instanceof Error}De.error=r;function i(o){return typeof o=="function"}De.func=i;function s(o){return Array.isArray(o)}De.array=s;function a(o){return s(o)&&o.every(c=>e(c))}return De.stringArray=a,De}var kn={},mu;function Qr(){if(mu)return kn;mu=1,Object.defineProperty(kn,"__esModule",{value:!0}),kn.Emitter=kn.Event=void 0;const t=Qn();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(kn.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 kn.Emitter=r,r._noop=function(){},kn}var gu;function za(){if(gu)return Cn;gu=1,Object.defineProperty(Cn,"__esModule",{value:!0}),Cn.CancellationTokenSource=Cn.CancellationToken=void 0;const t=Qn(),e=ds(),n=Qr();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||(Cn.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 Cn.CancellationTokenSource=a,Cn}var Te=za();function zy(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let ra=0,By=10;function Wy(){return ra=performance.now(),new Te.CancellationTokenSource}const Sr=Symbol("OperationCancelled");function Ba(t){return t===Sr}async function Ye(t){if(t===Te.CancellationToken.None)return;const e=performance.now();if(e-ra>=By&&(ra=e,await zy(),ra=performance.now()),t.isCancellationRequested)throw Sr}class Al{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Zi{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(Zi.isIncremental(r)){const i=Vf(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=yu(r.text,!1,s);if(c-o===u.length)for(let g=0,h=u.length;g<h;g++)l[g+o+1]=u[g];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 g=o+1+u.length,h=l.length;g<h;g++)l[g]=l[g]+f}else if(Zi.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=yu(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&&Wf(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 jc;(function(t){function e(i,s,a,o){return new Zi(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Zi)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=zc(s.map(Vy),(u,f)=>{const g=u.range.start.line-f.range.start.line;return g===0?u.range.start.character-f.range.start.character:g});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})(jc||(jc={}));function zc(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);zc(r,e),zc(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 yu(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);Wf(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Wf(t){return t===13||t===10}function Vf(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=Vf(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Kf;(()=>{var t={975:_=>{function R(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function m(y,T){for(var A,O="",D=0,x=-1,j=0,G=0;G<=y.length;++G){if(G<y.length)A=y.charCodeAt(G);else{if(A===47)break;A=47}if(A===47){if(!(x===G-1||j===1))if(x!==G-1&&j===2){if(O.length<2||D!==2||O.charCodeAt(O.length-1)!==46||O.charCodeAt(O.length-2)!==46){if(O.length>2){var ie=O.lastIndexOf("/");if(ie!==O.length-1){ie===-1?(O="",D=0):D=(O=O.slice(0,ie)).length-1-O.lastIndexOf("/"),x=G,j=0;continue}}else if(O.length===2||O.length===1){O="",D=0,x=G,j=0;continue}}T&&(O.length>0?O+="/..":O="..",D=2)}else O.length>0?O+="/"+y.slice(x+1,G):O=y.slice(x+1,G),D=G-x-1;x=G,j=0}else A===46&&j!==-1?++j:j=-1}return O}var S={resolve:function(){for(var y,T="",A=!1,O=arguments.length-1;O>=-1&&!A;O--){var D;O>=0?D=arguments[O]:(y===void 0&&(y=process.cwd()),D=y),R(D),D.length!==0&&(T=D+"/"+T,A=D.charCodeAt(0)===47)}return T=m(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=m(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 O=y.length,D=O-A,x=1;x<T.length&&T.charCodeAt(x)===47;++x);for(var j=T.length-x,G=D<j?D:j,ie=-1,B=0;B<=G;++B){if(B===G){if(j>G){if(T.charCodeAt(x+B)===47)return T.slice(x+B+1);if(B===0)return T.slice(x+B)}else D>G&&(y.charCodeAt(A+B)===47?ie=B:B===0&&(ie=0));break}var ne=y.charCodeAt(A+B);if(ne!==T.charCodeAt(x+B))break;ne===47&&(ie=B)}var Oe="";for(B=A+ie+1;B<=O;++B)B!==O&&y.charCodeAt(B)!==47||(Oe.length===0?Oe+="..":Oe+="/..");return Oe.length>0?Oe+T.slice(x+ie):(x+=ie,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,O=-1,D=!0,x=y.length-1;x>=1;--x)if((T=y.charCodeAt(x))===47){if(!D){O=x;break}}else D=!1;return O===-1?A?"/":".":A&&O===1?"//":y.slice(0,O)},basename:function(y,T){if(T!==void 0&&typeof T!="string")throw new TypeError('"ext" argument must be a string');R(y);var A,O=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,G=-1;for(A=y.length-1;A>=0;--A){var ie=y.charCodeAt(A);if(ie===47){if(!x){O=A+1;break}}else G===-1&&(x=!1,G=A+1),j>=0&&(ie===T.charCodeAt(j)?--j==-1&&(D=A):(j=-1,D=G))}return O===D?D=G:D===-1&&(D=y.length),y.slice(O,D)}for(A=y.length-1;A>=0;--A)if(y.charCodeAt(A)===47){if(!x){O=A+1;break}}else D===-1&&(x=!1,D=A+1);return D===-1?"":y.slice(O,D)},extname:function(y){R(y);for(var T=-1,A=0,O=-1,D=!0,x=0,j=y.length-1;j>=0;--j){var G=y.charCodeAt(j);if(G!==47)O===-1&&(D=!1,O=j+1),G===46?T===-1?T=j:x!==1&&(x=1):T!==-1&&(x=-1);else if(!D){A=j+1;break}}return T===-1||O===-1||x===0||x===1&&T===O-1&&T===A+1?"":y.slice(T,O)},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 O=A.dir||A.root,D=A.base||(A.name||"")+(A.ext||"");return O?O===A.root?O+D:O+"/"+D:D})(0,y)},parse:function(y){R(y);var T={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return T;var A,O=y.charCodeAt(0),D=O===47;D?(T.root="/",A=1):A=0;for(var x=-1,j=0,G=-1,ie=!0,B=y.length-1,ne=0;B>=A;--B)if((O=y.charCodeAt(B))!==47)G===-1&&(ie=!1,G=B+1),O===46?x===-1?x=B:ne!==1&&(ne=1):x!==-1&&(ne=-1);else if(!ie){j=B+1;break}return x===-1||G===-1||ne===0||ne===1&&x===G-1&&x===j+1?G!==-1&&(T.base=T.name=j===0&&D?y.slice(1,G):y.slice(j,G)):(j===0&&D?(T.name=y.slice(1,x),T.base=y.slice(1,G)):(T.name=y.slice(j,x),T.base=y.slice(j,G)),T.ext=y.slice(x,G)),j>0?T.dir=y.slice(0,j-1):D&&(T.dir="/"),T},sep:"/",delimiter:":",win32:null,posix:null};S.posix=S,_.exports=S}},e={};function n(_){var R=e[_];if(R!==void 0)return R.exports;var m=e[_]={exports:{}};return t[_](m,m.exports,n),m.exports}n.d=(_,R)=>{for(var m in R)n.o(R,m)&&!n.o(_,m)&&Object.defineProperty(_,m,{enumerable:!0,get:R[m]})},n.o=(_,R)=>Object.prototype.hasOwnProperty.call(_,R),n.r=_=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>g,Utils:()=>fe}),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(_,R){if(!_.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${_.authority}", path: "${_.path}", query: "${_.query}", fragment: "${_.fragment}"}`);if(_.scheme&&!s.test(_.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(_.path){if(_.authority){if(!a.test(_.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(_.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 g{constructor(R,m,S,y,T,A=!1){ln(this,"scheme");ln(this,"authority");ln(this,"path");ln(this,"query");ln(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(O,D){return O||D?O:"file"})(R,A),this.authority=m||l,this.path=(function(O,D){switch(O){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 g||!!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 N(this)}with(R){if(!R)return this;let{scheme:m,authority:S,path:y,query:T,fragment:A}=R;return m===void 0?m=this.scheme:m===null&&(m=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),m===this.scheme&&S===this.authority&&y===this.path&&T===this.query&&A===this.fragment?this:new E(m,S,y,T,A)}static parse(R,m=!1){const S=f.exec(R);return S?new E(S[2]||l,K(S[4]||l),K(S[5]||l),K(S[7]||l),K(S[9]||l),m):new E(l,l,l,l,l)}static file(R){let m=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const S=R.indexOf(u,2);S===-1?(m=R.substring(2),R=u):(m=R.substring(2,S),R=R.substring(S)||u)}return new E("file",m,R,l,l)}static from(R){const m=new E(R.scheme,R.authority,R.path,R.query,R.fragment);return c(m,!0),m}toString(R=!1){return k(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof g)return R;{const m=new E(R);return m._formatted=R.external,m._fsPath=R._sep===h?R.fsPath:null,m}}return R}}const h=i?1:void 0;class E extends g{constructor(){super(...arguments);ln(this,"_formatted",null);ln(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=N(this)),this._fsPath}toString(m=!1){return m?k(this,!0):(this._formatted||(this._formatted=k(this,!1)),this._formatted)}toJSON(){const m={$mid:1};return this._fsPath&&(m.fsPath=this._fsPath,m._sep=h),this._formatted&&(m.external=this._formatted),this.path&&(m.path=this.path),this.scheme&&(m.scheme=this.scheme),this.authority&&(m.authority=this.authority),this.query&&(m.query=this.query),this.fragment&&(m.fragment=this.fragment),m}}const b={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(_,R,m){let S,y=-1;for(let T=0;T<_.length;T++){const A=_.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||m&&A===91||m&&A===93||m&&A===58)y!==-1&&(S+=encodeURIComponent(_.substring(y,T)),y=-1),S!==void 0&&(S+=_.charAt(T));else{S===void 0&&(S=_.substr(0,T));const O=b[A];O!==void 0?(y!==-1&&(S+=encodeURIComponent(_.substring(y,T)),y=-1),S+=O):y===-1&&(y=T)}}return y!==-1&&(S+=encodeURIComponent(_.substring(y))),S!==void 0?S:_}function C(_){let R;for(let m=0;m<_.length;m++){const S=_.charCodeAt(m);S===35||S===63?(R===void 0&&(R=_.substr(0,m)),R+=b[S]):R!==void 0&&(R+=_[m])}return R!==void 0?R:_}function N(_,R){let m;return m=_.authority&&_.path.length>1&&_.scheme==="file"?`//${_.authority}${_.path}`:_.path.charCodeAt(0)===47&&(_.path.charCodeAt(1)>=65&&_.path.charCodeAt(1)<=90||_.path.charCodeAt(1)>=97&&_.path.charCodeAt(1)<=122)&&_.path.charCodeAt(2)===58?_.path[1].toLowerCase()+_.path.substr(2):_.path,i&&(m=m.replace(/\//g,"\\")),m}function k(_,R){const m=R?C:I;let S="",{scheme:y,authority:T,path:A,query:O,fragment:D}=_;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+=m(j,!1,!1):(S+=m(j.substr(0,x),!1,!1),S+=":",S+=m(j.substr(x+1),!1,!0)),S+="@"}T=T.toLowerCase(),x=T.lastIndexOf(":"),x===-1?S+=m(T,!1,!0):(S+=m(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+=m(A,!0,!1)}return O&&(S+="?",S+=m(O,!1,!1)),D&&(S+="#",S+=R?D:I(D,!1,!1)),S}function P(_){try{return decodeURIComponent(_)}catch{return _.length>3?_.substr(0,3)+P(_.substr(3)):_}}const H=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function K(_){return _.match(H)?_.replace(H,(R=>P(R))):_}var J=n(975);const oe=J.posix||J,de="/";var fe;(function(_){_.joinPath=function(R,...m){return R.with({path:oe.join(R.path,...m)})},_.resolvePath=function(R,...m){let S=R.path,y=!1;S[0]!==de&&(S=de+S,y=!0);let T=oe.resolve(S,...m);return y&&T[0]===de&&!R.authority&&(T=T.substring(1)),R.with({path:T})},_.dirname=function(R){if(R.path.length===0||R.path===de)return R;let m=oe.dirname(R.path);return m.length===1&&m.charCodeAt(0)===46&&(m=""),R.with({path:m})},_.basename=function(R){return oe.basename(R.path)},_.extname=function(R){return oe.extname(R.path)}})(fe||(fe={})),Kf=r})();const{URI:kt,Utils:yi}=Kf;var ct;(function(t){t.basename=yi.basename,t.dirname=yi.dirname,t.extname=yi.extname,t.joinPath=yi.joinPath,t.resolvePath=yi.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"?kt.parse(a).path:a.path,l=typeof o=="string"?kt.parse(o).path:o.path,u=c.split("/").filter(b=>b.length>0),f=l.split("/").filter(b=>b.length>0);if(e){const b=/^[A-Z]:$/;if(u[0]&&b.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&b.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let g=0;for(;g<u.length&&u[g]===f[g];g++);const h="../".repeat(u.length-g),E=f.slice(g).join("/");return h+E}t.relative=r;function i(a){return kt.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})(ct||(ct={}));class Ky{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return ct.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:ct.joinPath(kt.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:ct.joinPath(kt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(ct.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 Y;(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"})(Y||(Y={}));class Hy{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=Te.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??kt.parse(e.uri),Te.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return Te.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:Y.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:Y.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=Y.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=jc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Yy{constructor(e){this.documentTrie=new Ky,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ge(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,Y.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=Y.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=Y.Changed;return this.documentTrie.delete(n),r}}const sr=Symbol("RefResolving");class Xy{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=Te.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 Zt(e.parseResult.value))await Ye(n),oa(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 Zt(e.parseResult.value))await Ye(n),oa(i).forEach(s=>this.doLink(s,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=sr;try{const i=this.getCandidate(e);if(di(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=sr;try{const i=this.getCandidates(e),s=[];if(di(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(Be(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=sr;const o=Ws(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<Y.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===sr&&s.throwCyclicReferenceError(e,n,i);return Be(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return di(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=sr;const o=Ws(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(di(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===sr&&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(di(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=Ws(e.container).$document;r&&r.state<Y.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 Jy(t){return typeof t.name=="string"}class Qy{getName(e){if(Jy(e))return e.name}getNameNode(e){return Fd(e.$cstNode,"name")}}class Zy{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=Zt(e.Grammar).some(n=>La(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Ep(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(St(i)||dn(i))return wl(i);if(Array.isArray(i)){for(const s of i)if((St(s)||dn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return wl(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Qh(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 oa(r))if(dn(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=>ct.equals(s.sourceUri,n.documentUri))),r.push(...i),ge(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=Qt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:la(s),local:!0})}}return r}}class es{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return To.sum(ge(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?ge(n):wd}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 ge(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ge(this.map.keys())}values(){return ge(this.map.values()).flat()}entriesGroupedByKey(){return ge(this.map.entries())}}class Tu{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 eT{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=Te.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=il,i=Te.CancellationToken.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Ye(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=Te.CancellationToken.None){const r=e.parseResult.value,i=new es;for(const s of rs(r))await Ye(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 Ru{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 tT{constructor(e,n,r){this.elements=new es,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?ge(r).concat(this.outerScope.getElements(e)):ge(r)}getAllElements(){let e=ge(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Hf{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 nT extends Hf{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 rT extends Hf{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 iT extends nT{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 sT{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 iT(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=Qt(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 Ru(ge(e),n,r)}createScopeForNodes(e,n,r){const i=ge(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Ru(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new tT(this.indexManager.allElements(e)))}}function aT(t){return typeof t.$comment=="string"}function vu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class oT{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=Qt(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(St(n)){const f=n.ref,g=r?n.$refText:void 0;if(f){const h=Qt(f);let E="";this.currentDocument&&this.currentDocument!==h&&(o?E=o(h.uri,f):E=h.uri.toString());const b=this.astNodeLocator.getAstNodePath(f);return{$ref:`${E}#${b}`,$refText:g}}else return{$error:((c=n.error)==null?void 0:c.message)??"Could not resolve reference",$refText:g}}else if(dn(n)){const f=r?n.$refText:void 0,g=[];for(const h of n.items){const E=h.ref,b=Qt(h.ref);let I="";this.currentDocument&&this.currentDocument!==b&&(o?I=o(b.uri,E):I=b.uri.toString());const C=this.astNodeLocator.getAstNodePath(E);g.push(`${I}#${C}`)}return{$refs:g,$refText:f}}else if(Be(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 g=this.commentProvider.getComment(n);g&&(f.$comment=g.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=Tp(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];vu(f)?l[u]=this.reviveReference(e,c,n,f,r):Be(f)&&this.linkNode(f,n,r,e,c,u)}else vu(l)?e[c]=this.reviveReference(e,c,n,l,r):Be(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(Be(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);Be(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):kt.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)):kt.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 cT{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=ct.extname(e),i=ct.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 Gi(t){return{code:t}}var Bc;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Bc||(Bc={}));class lT{constructor(e){this.entries=new es,this.knownCategories=new Set(Bc.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 ss()}}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(Ba(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=ge(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 uT=Object.freeze({validateNode:!0,validateChildren:!0});class dT{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=Te.CancellationToken.None){const i=e.parseResult,s=[];if(await Ye(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(Ba(a))throw a;console.error("An error occurred during validation:",a)}return await Ye(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:io(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:hT(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=wo(i.token);if(s){const a={severity:io("error"),range:s,message:i.message,data:Gi(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=Te.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=Te.CancellationToken.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Ye(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=Te.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=Zt(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=Zt(e).iterator();for(const o of a){await Ye(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 uT}async validateAstAfter(e,n,r,i=Te.CancellationToken.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Ye(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:fT(r),severity:io(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 fT(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Fd(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Rp(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 io(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 hT(t){switch(t){case"error":return Gi(At.LexingError);case"warning":return Gi(At.LexingWarning);case"info":return Gi(At.LexingInfo);case"hint":return Gi(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 pT{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??Qt(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=la(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:la(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class mT{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=Te.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Zt(i))await Ye(n),oa(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=[];St(n)&&n.$nodeDescription?r=[n.$nodeDescription]:dn(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=Qt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=la(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:ct.equals(c.documentUri,i)});return a}}class gT{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 yT=Qr();class TT{constructor(e){this._ready=new Al,this.onConfigurationSectionUpdateEmitter=new yT.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 Nn={},wn={},Gs={},so={},U={},Eu;function Yf(){if(Eu)return U;Eu=1,Object.defineProperty(U,"__esModule",{value:!0}),U.Message=U.NotificationType9=U.NotificationType8=U.NotificationType7=U.NotificationType6=U.NotificationType5=U.NotificationType4=U.NotificationType3=U.NotificationType2=U.NotificationType1=U.NotificationType0=U.NotificationType=U.RequestType9=U.RequestType8=U.RequestType7=U.RequestType6=U.RequestType5=U.RequestType4=U.RequestType3=U.RequestType2=U.RequestType1=U.RequestType=U.RequestType0=U.AbstractMessageSignature=U.ParameterStructures=U.ResponseError=U.ErrorCodes=void 0;const t=ds();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||(U.ErrorCodes=e={}));class n extends Error{constructor(m,S,y){super(S),this.code=t.number(m)?m:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const m={code:this.code,message:this.message};return this.data!==void 0&&(m.data=this.data),m}}U.ResponseError=n;class r{constructor(m){this.kind=m}static is(m){return m===r.auto||m===r.byName||m===r.byPosition}toString(){return this.kind}}U.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(m,S){this.method=m,this.numberOfParams=S}get parameterStructures(){return r.auto}}U.AbstractMessageSignature=i;class s extends i{constructor(m){super(m,0)}}U.RequestType0=s;class a extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType=a;class o extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.RequestType1=o;class c extends i{constructor(m){super(m,2)}}U.RequestType2=c;class l extends i{constructor(m){super(m,3)}}U.RequestType3=l;class u extends i{constructor(m){super(m,4)}}U.RequestType4=u;class f extends i{constructor(m){super(m,5)}}U.RequestType5=f;class g extends i{constructor(m){super(m,6)}}U.RequestType6=g;class h extends i{constructor(m){super(m,7)}}U.RequestType7=h;class E extends i{constructor(m){super(m,8)}}U.RequestType8=E;class b extends i{constructor(m){super(m,9)}}U.RequestType9=b;class I extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType=I;class C extends i{constructor(m){super(m,0)}}U.NotificationType0=C;class N extends i{constructor(m,S=r.auto){super(m,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}U.NotificationType1=N;class k extends i{constructor(m){super(m,2)}}U.NotificationType2=k;class P extends i{constructor(m){super(m,3)}}U.NotificationType3=P;class H extends i{constructor(m){super(m,4)}}U.NotificationType4=H;class K extends i{constructor(m){super(m,5)}}U.NotificationType5=K;class J extends i{constructor(m){super(m,6)}}U.NotificationType6=J;class oe extends i{constructor(m){super(m,7)}}U.NotificationType7=oe;class de extends i{constructor(m){super(m,8)}}U.NotificationType8=de;class fe extends i{constructor(m){super(m,9)}}U.NotificationType9=fe;var _;return(function(R){function m(T){const A=T;return A&&t.string(A.method)&&(t.string(A.id)||t.number(A.id))}R.isRequest=m;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})(_||(U.Message=_={})),U}var Ft={},Au;function Xf(){if(Au)return Ft;Au=1;var t;Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.LRUCache=Ft.LinkedMap=Ft.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||(Ft.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)}}Ft.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 Ft.LRUCache=r,Ft}var Ti={},Su;function RT(){if(Su)return Ti;Su=1,Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(Ti.Disposable=t={})),Ti}var bn={},Cu;function vT(){if(Cu)return bn;Cu=1,Object.defineProperty(bn,"__esModule",{value:!0}),bn.SharedArrayReceiverStrategy=bn.SharedArraySenderStrategy=void 0;const t=za();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()}}bn.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 bn.SharedArrayReceiverStrategy=s,bn}var Gt={},Ri={},ku;function Jf(){if(ku)return Ri;ku=1,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.Semaphore=void 0;const t=Qn();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 Ri.Semaphore=e,Ri}var Nu;function ET(){if(Nu)return Gt;Nu=1,Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.ReadableStreamMessageReader=Gt.AbstractMessageReader=Gt.MessageReader=void 0;const t=Qn(),e=ds(),n=Qr(),r=Jf();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||(Gt.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"}`)}}Gt.AbstractMessageReader=s;var a;(function(c){function l(u){let f,g;const h=new Map;let E;const b=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(g=u.contentDecoder,h.set(g.name,g)),u.contentDecoders!==void 0)for(const I of u.contentDecoders)h.set(I.name,I);if(u.contentTypeDecoder!==void 0&&(E=u.contentTypeDecoder,b.set(E.name,E)),u.contentTypeDecoders!==void 0)for(const I of u.contentTypeDecoders)b.set(I.name,I)}return E===void 0&&(E=(0,t.default)().applicationJson.decoder,b.set(E.name,E)),{charset:f,contentDecoder:g,contentDecoders:h,contentTypeDecoder:E,contentTypeDecoders:b}}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 g=f.get("content-length");if(!g){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(f))}`));return}const h=parseInt(g);if(isNaN(h)){this.fireError(new Error(`Content-Length value must be a number. Got ${g}`));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,g=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(g)}).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 Gt.ReadableStreamMessageReader=o,Gt}var Ut={},wu;function AT(){if(wu)return Ut;wu=1,Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.WriteableStreamMessageWriter=Ut.AbstractMessageWriter=Ut.MessageWriter=void 0;const t=Qn(),e=ds(),n=Jf(),r=Qr(),i="Content-Length: ",s=`\r
`;var a;(function(u){function f(g){let h=g;return h&&e.func(h.dispose)&&e.func(h.onClose)&&e.func(h.onError)&&e.func(h.write)}u.is=f})(a||(Ut.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,g,h){this.errorEmitter.fire([this.asError(f),g,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"}`)}}Ut.AbstractMessageWriter=o;var c;(function(u){function f(g){return g===void 0||typeof g=="string"?{charset:g??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:g.charset??"utf-8",contentEncoder:g.contentEncoder,contentTypeEncoder:g.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,g){super(),this.writable=f,this.options=c.fromOptions(g),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,g,h){try{return await this.writable.write(g.join(""),"ascii"),this.writable.write(h)}catch(E){return this.handleError(E,f),Promise.reject(E)}}handleError(f,g){this.errorCount++,this.fireError(f,g,this.errorCount)}end(){this.writable.end()}}return Ut.WriteableStreamMessageWriter=l,Ut}var vi={},bu;function ST(){if(bu)return vi;bu=1,Object.defineProperty(vi,"__esModule",{value:!0}),vi.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
`;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,g=this.toString(u,"ascii").split(n);if(g.length<2)return f;for(let h=0;h<g.length-2;h++){const E=g[h],b=E.indexOf(":");if(b===-1)throw new Error(`Message header must separate key and value using ':'
${E}`);const I=E.substr(0,b),C=E.substr(b+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 vi.AbstractMessageBuffer=r,vi}var ao={},_u;function CT(){return _u||(_u=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=Qn(),n=ds(),r=Yf(),i=Xf(),s=Qr(),a=za();var o;(function(m){m.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(m){function S(y){return typeof y=="string"||typeof y=="number"}m.is=S})(c||(t.ProgressToken=c={}));var l;(function(m){m.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(m){function S(y){return n.func(y)}m.is=S})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var g;(function(m){m[m.Off=0]="Off",m[m.Messages=1]="Messages",m[m.Compact=2]="Compact",m[m.Verbose=3]="Verbose"})(g||(t.Trace=g={}));var h;(function(m){m.Off="off",m.Messages="messages",m.Compact="compact",m.Verbose="verbose"})(h||(t.TraceValues=h={})),(function(m){function S(T){if(!n.string(T))return m.Off;switch(T=T.toLowerCase(),T){case"off":return m.Off;case"messages":return m.Messages;case"compact":return m.Compact;case"verbose":return m.Verbose;default:return m.Off}}m.fromString=S;function y(T){switch(T){case m.Off:return"off";case m.Messages:return"messages";case m.Compact:return"compact";case m.Verbose:return"verbose";default:return"off"}}m.toString=y})(g||(t.Trace=g={}));var E;(function(m){m.Text="text",m.JSON="json"})(E||(t.TraceFormat=E={})),(function(m){function S(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?m.JSON:m.Text):m.Text}m.fromString=S})(E||(t.TraceFormat=E={}));var b;(function(m){m.type=new r.NotificationType("$/setTrace")})(b||(t.SetTraceNotification=b={}));var I;(function(m){m.type=new r.NotificationType("$/logTrace")})(I||(t.LogTraceNotification=I={}));var C;(function(m){m[m.Closed=1]="Closed",m[m.Disposed=2]="Disposed",m[m.AlreadyListening=3]="AlreadyListening"})(C||(t.ConnectionErrors=C={}));class N extends Error{constructor(S,y){super(y),this.code=S,Object.setPrototypeOf(this,N.prototype)}}t.ConnectionError=N;var k;(function(m){function S(y){const T=y;return T&&n.func(T.cancelUndispatched)}m.is=S})(k||(t.ConnectionStrategy=k={}));var P;(function(m){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))}m.is=S})(P||(t.IdCancellationReceiverStrategy=P={}));var H;(function(m){function S(y){const T=y;return T&&T.kind==="request"&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}m.is=S})(H||(t.RequestCancellationReceiverStrategy=H={}));var K;(function(m){m.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function S(y){return P.is(y)||H.is(y)}m.is=S})(K||(t.CancellationReceiverStrategy=K={}));var J;(function(m){m.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)}m.is=S})(J||(t.CancellationSenderStrategy=J={}));var oe;(function(m){m.Message=Object.freeze({receiver:K.Message,sender:J.Message});function S(y){const T=y;return T&&K.is(T.receiver)&&J.is(T.sender)}m.is=S})(oe||(t.CancellationStrategy=oe={}));var de;(function(m){function S(y){const T=y;return T&&n.func(T.handleMessage)}m.is=S})(de||(t.MessageStrategy=de={}));var fe;(function(m){function S(y){const T=y;return T&&(oe.is(T.cancellationStrategy)||k.is(T.connectionStrategy)||de.is(T.messageStrategy))}m.is=S})(fe||(t.ConnectionOptions=fe={}));var _;(function(m){m[m.New=1]="New",m[m.Listening=2]="Listening",m[m.Closed=3]="Closed",m[m.Disposed=4]="Disposed"})(_||(_={}));function R(m,S,y,T){const A=y!==void 0?y:t.NullLogger;let O=0,D=0,x=0;const j="2.0";let G;const ie=new Map;let B;const ne=new Map,Oe=new Map;let ve,he=new i.LinkedMap,Ie=new Map,xe=new Set,be=new Map,Z=g.Off,it=E.Text,Ee,Tt=_.New;const tr=new s.Emitter,ei=new s.Emitter,ti=new s.Emitter,ni=new s.Emitter,ri=new s.Emitter,Rt=T&&T.cancellationStrategy?T.cancellationStrategy:oe.Message;function ii(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 fs(p){return p===null?"res-unknown-"+(++x).toString():"res-"+p.toString()}function hs(){return"not-"+(++D).toString()}function ps(p,w){r.Message.isRequest(w)?p.set(ii(w.id),w):r.Message.isResponse(w)?p.set(fs(w.id),w):p.set(hs(),w)}function ms(p){}function si(){return Tt===_.Listening}function ai(){return Tt===_.Closed}function Dt(){return Tt===_.Disposed}function oi(){(Tt===_.New||Tt===_.Listening)&&(Tt=_.Closed,ei.fire(void 0))}function gs(p){tr.fire([p,void 0,void 0])}function ys(p){tr.fire(p)}m.onClose(oi),m.onError(gs),S.onClose(oi),S.onError(ys);function ci(){ve||he.size===0||(ve=(0,e.default)().timer.setImmediate(()=>{ve=void 0,Ts()}))}function li(p){r.Message.isRequest(p)?vs(p):r.Message.isNotification(p)?As(p):r.Message.isResponse(p)?Es(p):Ss(p)}function Ts(){if(he.size===0)return;const p=he.shift();try{const w=T==null?void 0:T.messageStrategy;de.is(w)?w.handleMessage(p,li):li(p)}finally{ci()}}const Rs=p=>{try{if(r.Message.isNotification(p)&&p.method===o.type.method){const w=p.params.id,L=ii(w),F=he.get(L);if(r.Message.isRequest(F)){const se=T==null?void 0:T.connectionStrategy,ce=se&&se.cancelUndispatched?se.cancelUndispatched(F,ms):void 0;if(ce&&(ce.error!==void 0||ce.result!==void 0)){he.delete(L),be.delete(w),ce.id=F.id,En(ce,p.method,Date.now()),S.write(ce).catch(()=>A.error("Sending response for canceled message failed."));return}}const le=be.get(w);if(le!==void 0){le.cancel(),nr(p);return}else xe.add(w)}ps(he,p)}finally{ci()}};function vs(p){if(Dt())return;function w(Q,pe,re){const Pe={jsonrpc:j,id:p.id};Q instanceof r.ResponseError?Pe.error=Q.toJson():Pe.result=Q===void 0?null:Q,En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}function L(Q,pe,re){const Pe={jsonrpc:j,id:p.id,error:Q.toJson()};En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}function F(Q,pe,re){Q===void 0&&(Q=null);const Pe={jsonrpc:j,id:p.id,result:Q};En(Pe,pe,re),S.write(Pe).catch(()=>A.error("Sending response failed."))}Ns(p);const le=ie.get(p.method);let se,ce;le&&(se=le.type,ce=le.handler);const Ne=Date.now();if(ce||G){const Q=p.id??String(Date.now()),pe=P.is(Rt.receiver)?Rt.receiver.createCancellationTokenSource(Q):Rt.receiver.createCancellationTokenSource(p);p.id!==null&&xe.has(p.id)&&pe.cancel(),p.id!==null&&be.set(Q,pe);try{let re;if(ce)if(p.params===void 0){if(se!==void 0&&se.numberOfParams!==0){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines ${se.numberOfParams} params but received none.`),p.method,Ne);return}re=ce(pe.token)}else if(Array.isArray(p.params)){if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byName){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by name but received parameters by position`),p.method,Ne);return}re=ce(...p.params,pe.token)}else{if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byPosition){L(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by position but received parameters by name`),p.method,Ne);return}re=ce(p.params,pe.token)}else G&&(re=G(p.method,p.params,pe.token));const Pe=re;re?Pe.then?Pe.then(Ve=>{be.delete(Q),w(Ve,p.method,Ne)},Ve=>{be.delete(Q),Ve instanceof r.ResponseError?L(Ve,p.method,Ne):Ve&&n.string(Ve.message)?L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${Ve.message}`),p.method,Ne):L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,Ne)}):(be.delete(Q),w(re,p.method,Ne)):(be.delete(Q),F(re,p.method,Ne))}catch(re){be.delete(Q),re instanceof r.ResponseError?w(re,p.method,Ne):re&&n.string(re.message)?L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${re.message}`),p.method,Ne):L(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,Ne)}}else L(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${p.method}`),p.method,Ne)}function Es(p){if(!Dt())if(p.id===null)p.error?A.error(`Received response message without id: Error is:
${JSON.stringify(p.error,void 0,4)}`):A.error("Received response message without id. No further error information provided.");else{const w=p.id,L=Ie.get(w);if(ws(p,L),L!==void 0){Ie.delete(w);try{if(p.error){const F=p.error;L.reject(new r.ResponseError(F.code,F.message,F.data))}else if(p.result!==void 0)L.resolve(p.result);else throw new Error("Should never happen.")}catch(F){F.message?A.error(`Response handler '${L.method}' failed with message: ${F.message}`):A.error(`Response handler '${L.method}' failed unexpectedly.`)}}}}function As(p){if(Dt())return;let w,L;if(p.method===o.type.method){const F=p.params.id;xe.delete(F),nr(p);return}else{const F=ne.get(p.method);F&&(L=F.handler,w=F.type)}if(L||B)try{if(nr(p),L)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.`),L();else if(Array.isArray(p.params)){const F=p.params;p.method===l.type.method&&F.length===2&&c.is(F[0])?L({token:F[0],value:F[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 ${F.length} arguments`)),L(...F))}else w!==void 0&&w.parameterStructures===r.ParameterStructures.byPosition&&A.error(`Notification ${p.method} defines parameters by position but received parameters by name`),L(p.params);else B&&B(p.method,p.params)}catch(F){F.message?A.error(`Notification handler '${p.method}' failed with message: ${F.message}`):A.error(`Notification handler '${p.method}' failed unexpectedly.`)}else ti.fire(p)}function Ss(p){if(!p){A.error("Received empty message.");return}A.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(p,null,4)}`);const w=p;if(n.string(w.id)||n.number(w.id)){const L=w.id,F=Ie.get(L);F&&F.reject(new Error("The received response has neither a result nor an error property."))}}function vt(p){if(p!=null)switch(Z){case g.Verbose:return JSON.stringify(p,null,4);case g.Compact:return JSON.stringify(p);default:return}}function Cs(p){if(!(Z===g.Off||!Ee))if(it===E.Text){let w;(Z===g.Verbose||Z===g.Compact)&&p.params&&(w=`Params: ${vt(p.params)}
`),Ee.log(`Sending request '${p.method} - (${p.id})'.`,w)}else Mt("send-request",p)}function ks(p){if(!(Z===g.Off||!Ee))if(it===E.Text){let w;(Z===g.Verbose||Z===g.Compact)&&(p.params?w=`Params: ${vt(p.params)}
`:w=`No parameters provided.
`),Ee.log(`Sending notification '${p.method}'.`,w)}else Mt("send-notification",p)}function En(p,w,L){if(!(Z===g.Off||!Ee))if(it===E.Text){let F;(Z===g.Verbose||Z===g.Compact)&&(p.error&&p.error.data?F=`Error data: ${vt(p.error.data)}
`:p.result?F=`Result: ${vt(p.result)}
`:p.error===void 0&&(F=`No result returned.
`)),Ee.log(`Sending response '${w} - (${p.id})'. Processing request took ${Date.now()-L}ms`,F)}else Mt("send-response",p)}function Ns(p){if(!(Z===g.Off||!Ee))if(it===E.Text){let w;(Z===g.Verbose||Z===g.Compact)&&p.params&&(w=`Params: ${vt(p.params)}
`),Ee.log(`Received request '${p.method} - (${p.id})'.`,w)}else Mt("receive-request",p)}function nr(p){if(!(Z===g.Off||!Ee||p.method===I.type.method))if(it===E.Text){let w;(Z===g.Verbose||Z===g.Compact)&&(p.params?w=`Params: ${vt(p.params)}
`:w=`No parameters provided.
`),Ee.log(`Received notification '${p.method}'.`,w)}else Mt("receive-notification",p)}function ws(p,w){if(!(Z===g.Off||!Ee))if(it===E.Text){let L;if((Z===g.Verbose||Z===g.Compact)&&(p.error&&p.error.data?L=`Error data: ${vt(p.error.data)}
`:p.result?L=`Result: ${vt(p.result)}
`:p.error===void 0&&(L=`No result returned.
`)),w){const F=p.error?` Request failed: ${p.error.message} (${p.error.code}).`:"";Ee.log(`Received response '${w.method} - (${p.id})' in ${Date.now()-w.timerStart}ms.${F}`,L)}else Ee.log(`Received response ${p.id} without active response promise.`,L)}else Mt("receive-response",p)}function Mt(p,w){if(!Ee||Z===g.Off)return;const L={isLSPMessage:!0,type:p,message:w,timestamp:Date.now()};Ee.log(L)}function on(){if(ai())throw new N(C.Closed,"Connection is closed.");if(Dt())throw new N(C.Disposed,"Connection is disposed.")}function bs(){if(si())throw new N(C.AlreadyListening,"Connection is already listening")}function _s(){if(!si())throw new Error("Call listen() first.")}function cn(p){return p===void 0?null:p}function ui(p){if(p!==null)return p}function d(p){return p!=null&&!Array.isArray(p)&&typeof p=="object"}function Ce(p,w){switch(p){case r.ParameterStructures.auto:return d(w)?ui(w):[cn(w)];case r.ParameterStructures.byName:if(!d(w))throw new Error("Received parameters by name but param is not an object literal.");return ui(w);case r.ParameterStructures.byPosition:return[cn(w)];default:throw new Error(`Unknown parameter structure ${p.toString()}`)}}function ke(p,w){let L;const F=p.numberOfParams;switch(F){case 0:L=void 0;break;case 1:L=Ce(p.parameterStructures,w[0]);break;default:L=[];for(let le=0;le<w.length&&le<F;le++)L.push(cn(w[le]));if(w.length<F)for(let le=w.length;le<F;le++)L.push(null);break}return L}const V={sendNotification:(p,...w)=>{on();let L,F;if(n.string(p)){L=p;const se=w[0];let ce=0,Ne=r.ParameterStructures.auto;r.ParameterStructures.is(se)&&(ce=1,Ne=se);let Q=w.length;const pe=Q-ce;switch(pe){case 0:F=void 0;break;case 1:F=Ce(Ne,w[ce]);break;default:if(Ne===r.ParameterStructures.byName)throw new Error(`Received ${pe} parameters for 'by Name' notification parameter structure.`);F=w.slice(ce,Q).map(re=>cn(re));break}}else{const se=w;L=p.method,F=ke(p,se)}const le={jsonrpc:j,method:L,params:F};return ks(le),S.write(le).catch(se=>{throw A.error("Sending notification failed."),se})},onNotification:(p,w)=>{on();let L;return n.func(p)?B=p:w&&(n.string(p)?(L=p,ne.set(p,{type:void 0,handler:w})):(L=p.method,ne.set(p.method,{type:p,handler:w}))),{dispose:()=>{L!==void 0?ne.delete(L):B=void 0}}},onProgress:(p,w,L)=>{if(Oe.has(w))throw new Error(`Progress handler for token ${w} already registered`);return Oe.set(w,L),{dispose:()=>{Oe.delete(w)}}},sendProgress:(p,w,L)=>V.sendNotification(l.type,{token:w,value:L}),onUnhandledProgress:ni.event,sendRequest:(p,...w)=>{on(),_s();let L,F,le;if(n.string(p)){L=p;const Q=w[0],pe=w[w.length-1];let re=0,Pe=r.ParameterStructures.auto;r.ParameterStructures.is(Q)&&(re=1,Pe=Q);let Ve=w.length;a.CancellationToken.is(pe)&&(Ve=Ve-1,le=pe);const _t=Ve-re;switch(_t){case 0:F=void 0;break;case 1:F=Ce(Pe,w[re]);break;default:if(Pe===r.ParameterStructures.byName)throw new Error(`Received ${_t} parameters for 'by Name' request parameter structure.`);F=w.slice(re,Ve).map(Eh=>cn(Eh));break}}else{const Q=w;L=p.method,F=ke(p,Q);const pe=p.numberOfParams;le=a.CancellationToken.is(Q[pe])?Q[pe]:void 0}const se=O++;let ce;le&&(ce=le.onCancellationRequested(()=>{const Q=Rt.sender.sendCancellation(V,se);return Q===void 0?(A.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):Q.catch(()=>{A.log(`Sending cancellation messages for id ${se} failed`)})}));const Ne={jsonrpc:j,id:se,method:L,params:F};return Cs(Ne),typeof Rt.sender.enableCancellation=="function"&&Rt.sender.enableCancellation(Ne),new Promise(async(Q,pe)=>{const re=_t=>{Q(_t),Rt.sender.cleanup(se),ce==null||ce.dispose()},Pe=_t=>{pe(_t),Rt.sender.cleanup(se),ce==null||ce.dispose()},Ve={method:L,timerStart:Date.now(),resolve:re,reject:Pe};try{await S.write(Ne),Ie.set(se,Ve)}catch(_t){throw A.error("Sending request failed."),Ve.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,_t.message?_t.message:"Unknown reason")),_t}})},onRequest:(p,w)=>{on();let L=null;return f.is(p)?(L=void 0,G=p):n.string(p)?(L=null,w!==void 0&&(L=p,ie.set(p,{handler:w,type:void 0}))):w!==void 0&&(L=p.method,ie.set(p.method,{type:p,handler:w})),{dispose:()=>{L!==null&&(L!==void 0?ie.delete(L):G=void 0)}}},hasPendingResponse:()=>Ie.size>0,trace:async(p,w,L)=>{let F=!1,le=E.Text;L!==void 0&&(n.boolean(L)?F=L:(F=L.sendNotification||!1,le=L.traceFormat||E.Text)),Z=p,it=le,Z===g.Off?Ee=void 0:Ee=w,F&&!ai()&&!Dt()&&await V.sendNotification(b.type,{value:g.toString(p)})},onError:tr.event,onClose:ei.event,onUnhandledNotification:ti.event,onDispose:ri.event,end:()=>{S.end()},dispose:()=>{if(Dt())return;Tt=_.Disposed,ri.fire(void 0);const p=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const w of Ie.values())w.reject(p);Ie=new Map,be=new Map,xe=new Set,he=new i.LinkedMap,n.func(S.dispose)&&S.dispose(),n.func(m.dispose)&&m.dispose()},listen:()=>{on(),bs(),Tt=_.Listening,m.listen(Rs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return V.onNotification(I.type,p=>{if(Z===g.Off||!Ee)return;const w=Z===g.Verbose||Z===g.Compact;Ee.log(p.message,w?p.verbose:void 0)}),V.onNotification(l.type,p=>{const w=Oe.get(p.token);w?w(p.value):ni.fire(p)}),V}t.createMessageConnection=R})(ao)),ao}var Iu;function Wc(){return Iu||(Iu=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=Yf();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=Xf();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=RT();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Qr();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=za();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=vT();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=ET();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=AT();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=ST();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=CT();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=Qn();t.RAL=f.default})(so)),so}var Pu;function kT(){if(Pu)return Gs;Pu=1,Object.defineProperty(Gs,"__esModule",{value:!0});const t=Wc();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={})),Gs.default=a,Gs}var $u;function Zr(){return $u||($u=1,(function(t){var e=wn&&wn.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var g=Object.getOwnPropertyDescriptor(l,u);(!g||("get"in g?!l.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,g)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=wn&&wn.__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,kT().default.install();const i=Wc();n(Wc(),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})(wn)),wn}var oo,Lu;function Ou(){return Lu||(Lu=1,oo=Zr()),oo}var _n={};const Sl=Nh(Sy);var Ke={},xu;function Re(){if(xu)return Ke;xu=1,Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.ProtocolNotificationType=Ke.ProtocolNotificationType0=Ke.ProtocolRequestType=Ke.ProtocolRequestType0=Ke.RegistrationType=Ke.MessageDirection=void 0;const t=Zr();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(Ke.MessageDirection=e={}));class n{constructor(c){this.method=c}}Ke.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}Ke.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}Ke.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}Ke.ProtocolNotificationType0=s;class a extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return Ke.ProtocolNotificationType=a,Ke}var co={},we={},Du;function Cl(){if(Du)return we;Du=1,Object.defineProperty(we,"__esModule",{value:!0}),we.objectLiteral=we.typedArray=we.stringArray=we.array=we.func=we.error=we.number=we.string=we.boolean=void 0;function t(l){return l===!0||l===!1}we.boolean=t;function e(l){return typeof l=="string"||l instanceof String}we.string=e;function n(l){return typeof l=="number"||l instanceof Number}we.number=n;function r(l){return l instanceof Error}we.error=r;function i(l){return typeof l=="function"}we.func=i;function s(l){return Array.isArray(l)}we.array=s;function a(l){return s(l)&&l.every(u=>e(u))}we.stringArray=a;function o(l,u){return Array.isArray(l)&&l.every(u)}we.typedArray=o;function c(l){return l!==null&&typeof l=="object"}return we.objectLiteral=c,we}var Ei={},Mu;function NT(){if(Mu)return Ei;Mu=1,Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.ImplementationRequest=void 0;const t=Re();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 Ai={},Fu;function wT(){if(Fu)return Ai;Fu=1,Object.defineProperty(Ai,"__esModule",{value:!0}),Ai.TypeDefinitionRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Ai.TypeDefinitionRequest=e={})),Ai}var In={},Gu;function bT(){if(Gu)return In;Gu=1,Object.defineProperty(In,"__esModule",{value:!0}),In.DidChangeWorkspaceFoldersNotification=In.WorkspaceFoldersRequest=void 0;const t=Re();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(In.WorkspaceFoldersRequest=e={}));var n;return(function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)})(n||(In.DidChangeWorkspaceFoldersNotification=n={})),In}var Si={},Uu;function _T(){if(Uu)return Si;Uu=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.ConfigurationRequest=void 0;const t=Re();var e;return(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(Si.ConfigurationRequest=e={})),Si}var Pn={},qu;function IT(){if(qu)return Pn;qu=1,Object.defineProperty(Pn,"__esModule",{value:!0}),Pn.ColorPresentationRequest=Pn.DocumentColorRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Pn.DocumentColorRequest=e={}));var n;return(function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(n||(Pn.ColorPresentationRequest=n={})),Pn}var $n={},ju;function PT(){if(ju)return $n;ju=1,Object.defineProperty($n,"__esModule",{value:!0}),$n.FoldingRangeRefreshRequest=$n.FoldingRangeRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||($n.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||($n.FoldingRangeRefreshRequest=n={})),$n}var Ci={},zu;function $T(){if(zu)return Ci;zu=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.DeclarationRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(Ci.DeclarationRequest=e={})),Ci}var ki={},Bu;function LT(){if(Bu)return ki;Bu=1,Object.defineProperty(ki,"__esModule",{value:!0}),ki.SelectionRangeRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ki.SelectionRangeRequest=e={})),ki}var qt={},Wu;function OT(){if(Wu)return qt;Wu=1,Object.defineProperty(qt,"__esModule",{value:!0}),qt.WorkDoneProgressCancelNotification=qt.WorkDoneProgressCreateRequest=qt.WorkDoneProgress=void 0;const t=Zr(),e=Re();var n;(function(s){s.type=new t.ProgressType;function a(o){return o===s.type}s.is=a})(n||(qt.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(qt.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||(qt.WorkDoneProgressCancelNotification=i={})),qt}var jt={},Vu;function xT(){if(Vu)return jt;Vu=1,Object.defineProperty(jt,"__esModule",{value:!0}),jt.CallHierarchyOutgoingCallsRequest=jt.CallHierarchyIncomingCallsRequest=jt.CallHierarchyPrepareRequest=void 0;const t=Re();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(jt.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(jt.CallHierarchyIncomingCallsRequest=n={}));var r;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(jt.CallHierarchyOutgoingCallsRequest=r={})),jt}var He={},Ku;function DT(){if(Ku)return He;Ku=1,Object.defineProperty(He,"__esModule",{value:!0}),He.SemanticTokensRefreshRequest=He.SemanticTokensRangeRequest=He.SemanticTokensDeltaRequest=He.SemanticTokensRequest=He.SemanticTokensRegistrationType=He.TokenFormat=void 0;const t=Re();var e;(function(o){o.Relative="relative"})(e||(He.TokenFormat=e={}));var n;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(n||(He.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||(He.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||(He.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||(He.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||(He.SemanticTokensRefreshRequest=a={})),He}var Ni={},Hu;function MT(){if(Hu)return Ni;Hu=1,Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.ShowDocumentRequest=void 0;const t=Re();var e;return(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(Ni.ShowDocumentRequest=e={})),Ni}var wi={},Yu;function FT(){if(Yu)return wi;Yu=1,Object.defineProperty(wi,"__esModule",{value:!0}),wi.LinkedEditingRangeRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(wi.LinkedEditingRangeRequest=e={})),wi}var Me={},Xu;function GT(){if(Xu)return Me;Xu=1,Object.defineProperty(Me,"__esModule",{value:!0}),Me.WillDeleteFilesRequest=Me.DidDeleteFilesNotification=Me.DidRenameFilesNotification=Me.WillRenameFilesRequest=Me.DidCreateFilesNotification=Me.WillCreateFilesRequest=Me.FileOperationPatternKind=void 0;const t=Re();var e;(function(c){c.file="file",c.folder="folder"})(e||(Me.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(Me.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(Me.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(Me.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(Me.DidRenameFilesNotification=s={}));var a;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||(Me.DidDeleteFilesNotification=a={}));var o;return(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(o||(Me.WillDeleteFilesRequest=o={})),Me}var zt={},Ju;function UT(){if(Ju)return zt;Ju=1,Object.defineProperty(zt,"__esModule",{value:!0}),zt.MonikerRequest=zt.MonikerKind=zt.UniquenessLevel=void 0;const t=Re();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(zt.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(zt.MonikerKind=n={}));var r;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(zt.MonikerRequest=r={})),zt}var Bt={},Qu;function qT(){if(Qu)return Bt;Qu=1,Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.TypeHierarchySubtypesRequest=Bt.TypeHierarchySupertypesRequest=Bt.TypeHierarchyPrepareRequest=void 0;const t=Re();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 Ln={},Zu;function jT(){if(Zu)return Ln;Zu=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.InlineValueRefreshRequest=Ln.InlineValueRequest=void 0;const t=Re();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Ln.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||(Ln.InlineValueRefreshRequest=n={})),Ln}var Wt={},ed;function zT(){if(ed)return Wt;ed=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.InlayHintRefreshRequest=Wt.InlayHintResolveRequest=Wt.InlayHintRequest=void 0;const t=Re();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 st={},td;function BT(){if(td)return st;td=1,Object.defineProperty(st,"__esModule",{value:!0}),st.DiagnosticRefreshRequest=st.WorkspaceDiagnosticRequest=st.DocumentDiagnosticRequest=st.DocumentDiagnosticReportKind=st.DiagnosticServerCancellationData=void 0;const t=Zr(),e=Cl(),n=Re();var r;(function(c){function l(u){const f=u;return f&&e.boolean(f.retriggerRequest)}c.is=l})(r||(st.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(st.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||(st.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||(st.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||(st.DiagnosticRefreshRequest=o={})),st}var me={},nd;function WT(){if(nd)return me;nd=1,Object.defineProperty(me,"__esModule",{value:!0}),me.DidCloseNotebookDocumentNotification=me.DidSaveNotebookDocumentNotification=me.DidChangeNotebookDocumentNotification=me.NotebookCellArrayChange=me.DidOpenNotebookDocumentNotification=me.NotebookDocumentSyncRegistrationType=me.NotebookDocument=me.NotebookCell=me.ExecutionSummary=me.NotebookCellKind=void 0;const t=Sl,e=Cl(),n=Re();var r;(function(h){h.Markup=1,h.Code=2;function E(b){return b===1||b===2}h.is=E})(r||(me.NotebookCellKind=r={}));var i;(function(h){function E(C,N){const k={executionOrder:C};return(N===!0||N===!1)&&(k.success=N),k}h.create=E;function b(C){const N=C;return e.objectLiteral(N)&&t.uinteger.is(N.executionOrder)&&(N.success===void 0||e.boolean(N.success))}h.is=b;function I(C,N){return C===N?!0:C==null||N===null||N===void 0?!1:C.executionOrder===N.executionOrder&&C.success===N.success}h.equals=I})(i||(me.ExecutionSummary=i={}));var s;(function(h){function E(N,k){return{kind:N,document:k}}h.create=E;function b(N){const k=N;return e.objectLiteral(k)&&r.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||e.objectLiteral(k.metadata))}h.is=b;function I(N,k){const P=new Set;return N.document!==k.document&&P.add("document"),N.kind!==k.kind&&P.add("kind"),N.executionSummary!==k.executionSummary&&P.add("executionSummary"),(N.metadata!==void 0||k.metadata!==void 0)&&!C(N.metadata,k.metadata)&&P.add("metadata"),(N.executionSummary!==void 0||k.executionSummary!==void 0)&&!i.equals(N.executionSummary,k.executionSummary)&&P.add("executionSummary"),P}h.diff=I;function C(N,k){if(N===k)return!0;if(N==null||k===null||k===void 0||typeof N!=typeof k||typeof N!="object")return!1;const P=Array.isArray(N),H=Array.isArray(k);if(P!==H)return!1;if(P&&H){if(N.length!==k.length)return!1;for(let K=0;K<N.length;K++)if(!C(N[K],k[K]))return!1}if(e.objectLiteral(N)&&e.objectLiteral(k)){const K=Object.keys(N),J=Object.keys(k);if(K.length!==J.length||(K.sort(),J.sort(),!C(K,J)))return!1;for(let oe=0;oe<K.length;oe++){const de=K[oe];if(!C(N[de],k[de]))return!1}}return!0}})(s||(me.NotebookCell=s={}));var a;(function(h){function E(I,C,N,k){return{uri:I,notebookType:C,version:N,cells:k}}h.create=E;function b(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=b})(a||(me.NotebookDocument=a={}));var o;(function(h){h.method="notebookDocument/sync",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.RegistrationType(h.method)})(o||(me.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||(me.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 b(I,C,N){const k={start:I,deleteCount:C};return N!==void 0&&(k.cells=N),k}h.create=b})(l||(me.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||(me.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||(me.DidSaveNotebookDocumentNotification=f={}));var g;return(function(h){h.method="notebookDocument/didClose",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=o.method})(g||(me.DidCloseNotebookDocumentNotification=g={})),me}var bi={},rd;function VT(){if(rd)return bi;rd=1,Object.defineProperty(bi,"__esModule",{value:!0}),bi.InlineCompletionRequest=void 0;const t=Re();var e;return(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(bi.InlineCompletionRequest=e={})),bi}var id;function KT(){return id||(id=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=Re(),n=Sl,r=Cl(),i=NT();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=wT();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=bT();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=_T();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=PT();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=$T();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=LT();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const g=OT();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return g.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return g.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return g.WorkDoneProgressCancelNotification}});const h=xT();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=DT();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 b=MT();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return b.ShowDocumentRequest}});const I=FT();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return I.LinkedEditingRangeRequest}});const C=GT();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 N=UT();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return N.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return N.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return N.MonikerRequest}});const k=qT();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=jT();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return P.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return P.InlineValueRefreshRequest}});const H=zT();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return H.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return H.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return H.InlayHintRefreshRequest}});const K=BT();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return K.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return K.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return K.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return K.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return K.DiagnosticRefreshRequest}});const J=WT();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return J.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return J.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return J.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return J.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return J.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return J.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return J.DidCloseNotebookDocumentNotification}});const oe=VT();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return oe.InlineCompletionRequest}});var de;(function(d){function Ce(ke){const V=ke;return r.string(V)||r.string(V.language)||r.string(V.scheme)||r.string(V.pattern)}d.is=Ce})(de||(t.TextDocumentFilter=de={}));var fe;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(r.string(V.notebookType)||r.string(V.scheme)||r.string(V.pattern))}d.is=Ce})(fe||(t.NotebookDocumentFilter=fe={}));var _;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(r.string(V.notebook)||fe.is(V.notebook))&&(V.language===void 0||r.string(V.language))}d.is=Ce})(_||(t.NotebookCellTextDocumentFilter=_={}));var R;(function(d){function Ce(ke){if(!Array.isArray(ke))return!1;for(let V of ke)if(!r.string(V)&&!de.is(V)&&!_.is(V))return!1;return!0}d.is=Ce})(R||(t.DocumentSelector=R={}));var m;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(m||(t.RegistrationRequest=m={}));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 O;(function(d){function Ce(ke){const V=ke;return V&&r.string(V.id)&&V.id.length>0}d.hasId=Ce})(O||(t.StaticRegistrationOptions=O={}));var D;(function(d){function Ce(ke){const V=ke;return V&&(V.documentSelector===null||R.is(V.documentSelector))}d.is=Ce})(D||(t.TextDocumentRegistrationOptions=D={}));var x;(function(d){function Ce(V){const p=V;return r.objectLiteral(p)&&(p.workDoneProgress===void 0||r.boolean(p.workDoneProgress))}d.is=Ce;function ke(V){const p=V;return p&&r.boolean(p.workDoneProgress)}d.hasWorkDoneProgress=ke})(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 G;(function(d){d.unknownProtocolVersion=1})(G||(t.InitializeErrorCodes=G={}));var ie;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ie||(t.InitializedNotification=ie={}));var B;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(B||(t.ShutdownRequest=B={}));var ne;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(ne||(t.ExitNotification=ne={}));var Oe;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Oe||(t.DidChangeConfigurationNotification=Oe={}));var ve;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(ve||(t.MessageType=ve={}));var he;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(he||(t.ShowMessageNotification=he={}));var Ie;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(Ie||(t.ShowMessageRequest=Ie={}));var xe;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(xe||(t.LogMessageNotification=xe={}));var be;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(be||(t.TelemetryEventNotification=be={}));var Z;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Z||(t.TextDocumentSyncKind=Z={}));var it;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(it||(t.DidOpenTextDocumentNotification=it={}));var Ee;(function(d){function Ce(V){let p=V;return p!=null&&typeof p.text=="string"&&p.range!==void 0&&(p.rangeLength===void 0||typeof p.rangeLength=="number")}d.isIncremental=Ce;function ke(V){let p=V;return p!=null&&typeof p.text=="string"&&p.range===void 0&&p.rangeLength===void 0}d.isFull=ke})(Ee||(t.TextDocumentContentChangeEvent=Ee={}));var Tt;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Tt||(t.DidChangeTextDocumentNotification=Tt={}));var tr;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(tr||(t.DidCloseTextDocumentNotification=tr={}));var ei;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ei||(t.DidSaveTextDocumentNotification=ei={}));var ti;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(ti||(t.TextDocumentSaveReason=ti={}));var ni;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ni||(t.WillSaveTextDocumentNotification=ni={}));var ri;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ri||(t.WillSaveTextDocumentWaitUntilRequest=ri={}));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 ii;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(ii||(t.FileChangeType=ii={}));var fs;(function(d){function Ce(ke){const V=ke;return r.objectLiteral(V)&&(n.URI.is(V.baseUri)||n.WorkspaceFolder.is(V.baseUri))&&r.string(V.pattern)}d.is=Ce})(fs||(t.RelativePattern=fs={}));var hs;(function(d){d.Create=1,d.Change=2,d.Delete=4})(hs||(t.WatchKind=hs={}));var ps;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(ps||(t.PublishDiagnosticsNotification=ps={}));var ms;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(ms||(t.CompletionTriggerKind=ms={}));var si;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(si||(t.CompletionRequest=si={}));var ai;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ai||(t.CompletionResolveRequest=ai={}));var Dt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Dt||(t.HoverRequest=Dt={}));var oi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(oi||(t.SignatureHelpTriggerKind=oi={}));var gs;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(gs||(t.SignatureHelpRequest=gs={}));var ys;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ys||(t.DefinitionRequest=ys={}));var ci;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ci||(t.ReferencesRequest=ci={}));var li;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(li||(t.DocumentHighlightRequest=li={}));var Ts;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ts||(t.DocumentSymbolRequest=Ts={}));var Rs;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Rs||(t.CodeActionRequest=Rs={}));var vs;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(vs||(t.CodeActionResolveRequest=vs={}));var Es;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Es||(t.WorkspaceSymbolRequest=Es={}));var As;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(As||(t.WorkspaceSymbolResolveRequest=As={}));var Ss;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ss||(t.CodeLensRequest=Ss={}));var vt;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(vt||(t.CodeLensResolveRequest=vt={}));var Cs;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(Cs||(t.CodeLensRefreshRequest=Cs={}));var ks;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ks||(t.DocumentLinkRequest=ks={}));var En;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(En||(t.DocumentLinkResolveRequest=En={}));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 nr;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(nr||(t.DocumentRangeFormattingRequest=nr={}));var ws;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ws||(t.DocumentRangesFormattingRequest=ws={}));var Mt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Mt||(t.DocumentOnTypeFormattingRequest=Mt={}));var on;(function(d){d.Identifier=1})(on||(t.PrepareSupportDefaultBehavior=on={}));var bs;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(bs||(t.RenameRequest=bs={}));var _s;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_s||(t.PrepareRenameRequest=_s={}));var cn;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(cn||(t.ExecuteCommandRequest=cn={}));var ui;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(ui||(t.ApplyWorkspaceEditRequest=ui={}))})(co)),co}var _i={},sd;function HT(){if(sd)return _i;sd=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.createProtocolConnection=void 0;const t=Zr();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return _i.createProtocolConnection=e,_i}var ad;function YT(){return ad||(ad=1,(function(t){var e=_n&&_n.__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=_n&&_n.__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(Zr(),t),n(Sl,t),n(Re(),t),n(KT(),t);var r=HT();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={}))})(_n)),_n}var od;function XT(){return od||(od=1,(function(t){var e=Nn&&Nn.__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=Nn&&Nn.__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=Ou();n(Ou(),t),n(YT(),t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(Nn)),Nn}var Us=XT(),qi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(qi||(qi={}));class JT{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new es,this.documentPhaseListeners=new es,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Y.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=Te.CancellationToken.None){var i;for(const s of e){const a=s.uri.toString();if(s.state===Y.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(s,Y.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=Y.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Y.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=Te.CancellationToken.None){this.currentState=Y.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=Y.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,Y.Changed)}const a=ge(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,Y.ComputedScopes)),await this.emitUpdate(s,i),await Ye(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>{var l;return c.state<Y.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 ge(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),qi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case Y.Changed:case Y.Parsed:this.indexManager.removeContent(e.uri);case Y.IndexedContent:e.localSymbols=void 0;case Y.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Y.Linked:this.indexManager.removeReferences(e.uri);case Y.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Y.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Y.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,Y.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,Y.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,Y.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,Y.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,Y.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,Y.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 Ye(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),qi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),qi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=Te.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(Sr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Us.ResponseError(Us.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${Y[i.state]}, requiring ${Y[e]}, but workspace state is already ${Y[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Us.ResponseError(Us.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{ct.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Sr)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(Sr):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Sr)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Ye(r),await a(e,r)}catch(o){if(!Ba(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 Ye(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=ge(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 QT{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new rT,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=Qt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{ct.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ge(i)}allElements(e,n){let r=ge(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=Te.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=Te.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 ZT{constructor(e){this.initialBuildOptions={},this._ready=new Al,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=Te.CancellationToken.None){const r=await this.performStartup(e);await Ye(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=ge(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 kt.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=ct.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class eR{buildUnexpectedCharactersMessage(e,n,r,i,s){return Po.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return Po.buildUnableToPopLexerModeMessage(e)}}const tR={mode:"full"};class nR{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=cd(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new et(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=tR){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(cd(e))return e;const n=Qf(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function rR(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Qf(t){return t&&"modes"in t&&"defaultMode"in t}function cd(t){return!rR(t)&&!Qf(t)}function iR(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=te.create(0,0));const s=Zf(t),a=kl(r),o=oR({lines:s,position:i,options:a});return fR({index:0,tokens:o,position:i})}function sR(t,e){const n=kl(e),r=Zf(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 Zf(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(op)}const ld=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,aR=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function oR(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,dR(u)),Vc(u,f)>=u.length){if(e.length>0){const h=te.create(n,r);e.push({type:"break",content:"",range:X.create(h,h)})}}else{ld.lastIndex=f;const h=ld.exec(u);if(h){const E=h[0],b=h[1],I=te.create(n,r+f),C=te.create(n,r+f+E.length);e.push({type:"tag",content:b,range:X.create(I,C)}),f+=E.length,f=Vc(u,f)}if(f<u.length){const E=u.substring(f),b=Array.from(E.matchAll(aR));e.push(...cR(b,E,n,r+f))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function cR(t,e,n,r){const i=[];if(t.length===0){const s=te.create(n,r),a=te.create(n,r+e.length);i.push({type:"text",content:e,range:X.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:X.create(te.create(n,s+r),te.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:X.create(te.create(n,s+u+r),te.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const g=o[3];i.push({type:"text",content:g,range:X.create(te.create(n,s+u+r),te.create(n,s+u+g.length+r))})}else i.push({type:"text",content:"",range:X.create(te.create(n,s+u+r),te.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:X.create(te.create(n,s+r),te.create(n,s+r+a.length))})}return i}const lR=/\S/,uR=/\s*$/;function Vc(t,e){const n=t.substring(e).match(lR);return n?e+n.index:t.length}function dR(t){const e=t.match(uR);if(e&&typeof e.index=="number")return e.index}function fR(t){var s,a;const e=te.create(t.position.line,t.position.character);if(t.tokens.length===0)return new ud([],X.create(e,e));const n=[];for(;t.index<t.tokens.length;){const o=hR(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 ud(n,X.create(r,i))}function hR(t,e){const n=t.tokens[t.index];if(n.type==="tag")return th(t,!1);if(n.type==="text"||n.type==="inline-tag")return eh(t);pR(n,e),t.index++}function pR(t,e){if(e){const n=new rh("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function eh(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(mR(t)),r=e,e=t.tokens[t.index];return new Kc(i,X.create(n.range.start,r.range.end))}function mR(t){return t.tokens[t.index].type==="inline-tag"?th(t,!0):nh(t)}function th(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=nh(t);return new uo(r,new Kc([s],s.range),e,X.create(n.range.start,s.range.end))}else{const s=eh(t);return new uo(r,s,e,X.create(n.range.start,s.range.end))}else{const s=n.range;return new uo(r,new Kc([],s),e,s)}}function nh(t){const e=t.tokens[t.index++];return new rh(e.content,e.range)}function kl(t){if(!t)return kl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:lo(e,!0),end:lo(n,!1),line:lo(r,!0)}}function lo(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?xa(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class ud{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+=dd(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+=dd(n)+i}return n.trim()}}class uo{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}
${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=gR(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}
${n}`),this.inline?`{${i}}`:i}}function gR(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))??yR(e,s)}}function yR(t,e){try{return kt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Kc{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+=`
`)}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+=`
`)}return n}}class rh{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function dd(t){return t.endsWith(`
`)?`
`:`
`}class TR{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&sR(n))return iR(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=Qt(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 RR{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return aT(e)?e.$comment:(n=np(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:n.text}}class vR{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class ER{constructor(){this.previousTokenSource=new Te.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Wy();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=Te.CancellationToken.None){const i=new Al,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){Ba(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class AR{constructor(e){this.grammarElementIdMap=new Tu,this.tokenTypeIdMap=new Tu,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 Zt(e))n.set(i,{});if(e.$cstNode)for(const i of No(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)Be(o)?a.push(this.dehydrateAstNode(o,n)):St(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else Be(s)?r[i]=this.dehydrateAstNode(s,n):St(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 Nd(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Bi(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):kd(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 Zt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of No(e.$cstNode)){let a;"fullText"in s?(a=new xf(s.fullText),i=a):"content"in s?a=new Rl:"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)Be(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):St(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else Be(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):St(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),Bi(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 Gc(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 Zt(this.grammar))Lh(n)&&this.grammarElementIdMap.set(n,e++)}}function yn(t){return{documentation:{CommentProvider:e=>new RR(e),DocumentationProvider:e=>new TR(e)},parser:{AsyncParser:e=>new vR(e),GrammarConfig:e=>_p(e),LangiumParser:e=>qy(e),CompletionParser:e=>Uy(e),ValueConverter:()=>new Bf,TokenBuilder:()=>new zf,Lexer:e=>new nR(e),ParserErrorMessageProvider:()=>new Ff,LexerErrorMessageProvider:()=>new eR},workspace:{AstNodeLocator:()=>new gT,AstNodeDescriptionProvider:e=>new pT(e),ReferenceDescriptionProvider:e=>new mT(e)},references:{Linker:e=>new Xy(e),NameProvider:()=>new Qy,ScopeProvider:e=>new sT(e),ScopeComputation:e=>new eT(e),References:e=>new Zy(e)},serializer:{Hydrator:e=>new AR(e),JsonSerializer:e=>new oT(e)},validation:{DocumentValidator:e=>new dT(e),ValidationRegistry:e=>new lT(e)},shared:()=>t.shared}}function Tn(t){return{ServiceRegistry:e=>new cT(e),workspace:{LangiumDocuments:e=>new Yy(e),LangiumDocumentFactory:e=>new Hy(e),DocumentBuilder:e=>new JT(e),IndexManager:e=>new QT(e),WorkspaceManager:e=>new ZT(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new ER,ConfigurationProvider:e=>new TT(e)},profilers:{}}}var fd;(function(t){t.merge=(e,n)=>ts(ts({},e),n)})(fd||(fd={}));function We(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(ts,{});return ih(l)}const SR=Symbol("isProxy");function ih(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===SR?!0:pd(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(pd(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const hd=Symbol();function pd(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]===hd)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]=hd;try{t[e]=typeof i=="function"?i(r):ih(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function ts(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]=ts(i,r):t[n]=ts({},r)}else t[n]=r}return t}class CR{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 Rn={fileSystemProvider:()=>new CR},kR={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},NR={AstReflection:()=>new $d};function wR(){const t=We(Tn(Rn),NR),e=We(yn({shared:t}),kR);return t.ServiceRegistry.register(e),e}function Zn(t){const e=wR(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,kt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var bR=Object.defineProperty,$=(t,e)=>bR(t,"name",{value:e,configurable:!0}),Hc;(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 ]+\]/}})(Hc||(Hc={}));var Yc;(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])?/}})(Yc||(Yc={}));var Xc;(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]*/}})(Xc||(Xc={}));var Jc;(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]*/}})(Jc||(Jc={}));var Qc;(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]*/}})(Qc||(Qc={}));var Zc;(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]*/}})(Zc||(Zc={}));var el;(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:/"[^"]*"|'[^']*'/}})(el||(el={}));({...Hc.Terminals,...Yc.Terminals,...Xc.Terminals,...Jc.Terminals,...Qc.Terminals,...Zc.Terminals,...el.Terminals});var Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function _R(t){return bt.isInstance(t,Kt.$type)}$(_R,"isArchitecture");var qs={$type:"Axis",label:"label",name:"name"},ia={$type:"Branch",name:"name",order:"order"};function IR(t){return bt.isInstance(t,ia.$type)}$(IR,"isBranch");var md={$type:"Checkout",branch:"branch"},js={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},fo={$type:"ClassDefStatement",className:"className",styleText:"styleText"},yr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function PR(t){return bt.isInstance(t,yr.$type)}$(PR,"isCommit");var zs={$type:"Curve",entries:"entries",label:"label",name:"name"},ar={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},It={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},ho={$type:"Entry",axis:"axis",value:"value"},Gn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function $R(t){return bt.isInstance(t,Gn.$type)}$($R,"isGitGraph");var Ii={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Ui={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function LR(t){return bt.isInstance(t,Ui.$type)}$(LR,"isInfo");var Pi={$type:"Item",classSelector:"classSelector",name:"name"},po={$type:"Junction",id:"id",in:"in"},Bs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Tr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function OR(t){return bt.isInstance(t,Tr.$type)}$(OR,"isMerge");var mo={$type:"Option",name:"name",value:"value"},Rr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function xR(t){return bt.isInstance(t,Rr.$type)}$(xR,"isPacket");var vr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function DR(t){return bt.isInstance(t,vr.$type)}$(DR,"isPacketBlock");var Un={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function MR(t){return bt.isInstance(t,Un.$type)}$(MR,"isPie");var sa={$type:"PieSection",label:"label",value:"value"};function FR(t){return bt.isInstance(t,sa.$type)}$(FR,"isPieSection");var On={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},go={$type:"Section",classSelector:"classSelector",name:"name"},or={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},cr={$type:"Statement"},Er={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function GR(t){return bt.isInstance(t,Er.$type)}$(GR,"isTreemap");var yo={$type:"TreemapRow",indent:"indent",item:"item"},kr,sh=(kr=class extends Cd{constructor(){super(...arguments),this.types={Architecture:{name:Kt.$type,properties:{accDescr:{name:Kt.accDescr},accTitle:{name:Kt.accTitle},edges:{name:Kt.edges,defaultValue:[]},groups:{name:Kt.groups,defaultValue:[]},junctions:{name:Kt.junctions,defaultValue:[]},services:{name:Kt.services,defaultValue:[]},title:{name:Kt.title}},superTypes:[]},Axis:{name:qs.$type,properties:{label:{name:qs.label},name:{name:qs.name}},superTypes:[]},Branch:{name:ia.$type,properties:{name:{name:ia.name},order:{name:ia.order}},superTypes:[cr.$type]},Checkout:{name:md.$type,properties:{branch:{name:md.branch}},superTypes:[cr.$type]},CherryPicking:{name:js.$type,properties:{id:{name:js.id},parent:{name:js.parent},tags:{name:js.tags,defaultValue:[]}},superTypes:[cr.$type]},ClassDefStatement:{name:fo.$type,properties:{className:{name:fo.className},styleText:{name:fo.styleText}},superTypes:[]},Commit:{name:yr.$type,properties:{id:{name:yr.id},message:{name:yr.message},tags:{name:yr.tags,defaultValue:[]},type:{name:yr.type}},superTypes:[cr.$type]},Curve:{name:zs.$type,properties:{entries:{name:zs.entries,defaultValue:[]},label:{name:zs.label},name:{name:zs.name}},superTypes:[]},Direction:{name:ar.$type,properties:{accDescr:{name:ar.accDescr},accTitle:{name:ar.accTitle},dir:{name:ar.dir},statements:{name:ar.statements,defaultValue:[]},title:{name:ar.title}},superTypes:[Gn.$type]},Edge:{name:It.$type,properties:{lhsDir:{name:It.lhsDir},lhsGroup:{name:It.lhsGroup,defaultValue:!1},lhsId:{name:It.lhsId},lhsInto:{name:It.lhsInto,defaultValue:!1},rhsDir:{name:It.rhsDir},rhsGroup:{name:It.rhsGroup,defaultValue:!1},rhsId:{name:It.rhsId},rhsInto:{name:It.rhsInto,defaultValue:!1},title:{name:It.title}},superTypes:[]},Entry:{name:ho.$type,properties:{axis:{name:ho.axis,referenceType:qs.$type},value:{name:ho.value}},superTypes:[]},GitGraph:{name:Gn.$type,properties:{accDescr:{name:Gn.accDescr},accTitle:{name:Gn.accTitle},statements:{name:Gn.statements,defaultValue:[]},title:{name:Gn.title}},superTypes:[]},Group:{name:Ii.$type,properties:{icon:{name:Ii.icon},id:{name:Ii.id},in:{name:Ii.in},title:{name:Ii.title}},superTypes:[]},Info:{name:Ui.$type,properties:{accDescr:{name:Ui.accDescr},accTitle:{name:Ui.accTitle},title:{name:Ui.title}},superTypes:[]},Item:{name:Pi.$type,properties:{classSelector:{name:Pi.classSelector},name:{name:Pi.name}},superTypes:[]},Junction:{name:po.$type,properties:{id:{name:po.id},in:{name:po.in}},superTypes:[]},Leaf:{name:Bs.$type,properties:{classSelector:{name:Bs.classSelector},name:{name:Bs.name},value:{name:Bs.value}},superTypes:[Pi.$type]},Merge:{name:Tr.$type,properties:{branch:{name:Tr.branch},id:{name:Tr.id},tags:{name:Tr.tags,defaultValue:[]},type:{name:Tr.type}},superTypes:[cr.$type]},Option:{name:mo.$type,properties:{name:{name:mo.name},value:{name:mo.value,defaultValue:!1}},superTypes:[]},Packet:{name:Rr.$type,properties:{accDescr:{name:Rr.accDescr},accTitle:{name:Rr.accTitle},blocks:{name:Rr.blocks,defaultValue:[]},title:{name:Rr.title}},superTypes:[]},PacketBlock:{name:vr.$type,properties:{bits:{name:vr.bits},end:{name:vr.end},label:{name:vr.label},start:{name:vr.start}},superTypes:[]},Pie:{name:Un.$type,properties:{accDescr:{name:Un.accDescr},accTitle:{name:Un.accTitle},sections:{name:Un.sections,defaultValue:[]},showData:{name:Un.showData,defaultValue:!1},title:{name:Un.title}},superTypes:[]},PieSection:{name:sa.$type,properties:{label:{name:sa.label},value:{name:sa.value}},superTypes:[]},Radar:{name:On.$type,properties:{accDescr:{name:On.accDescr},accTitle:{name:On.accTitle},axes:{name:On.axes,defaultValue:[]},curves:{name:On.curves,defaultValue:[]},options:{name:On.options,defaultValue:[]},title:{name:On.title}},superTypes:[]},Section:{name:go.$type,properties:{classSelector:{name:go.classSelector},name:{name:go.name}},superTypes:[Pi.$type]},Service:{name:or.$type,properties:{icon:{name:or.icon},iconText:{name:or.iconText},id:{name:or.id},in:{name:or.in},title:{name:or.title}},superTypes:[]},Statement:{name:cr.$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:yo.$type,properties:{indent:{name:yo.indent},item:{name:yo.item}},superTypes:[]}}}},$(kr,"MermaidAstReflection"),kr),bt=new sh,gd,UR=$(()=>gd??(gd=Zn(`{"$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"),yd,qR=$(()=>yd??(yd=Zn(`{"$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"),Td,jR=$(()=>Td??(Td=Zn(`{"$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"),Rd,zR=$(()=>Rd??(Rd=Zn(`{"$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"),vd,BR=$(()=>vd??(vd=Zn(`{"$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"),Ed,WR=$(()=>Ed??(Ed=Zn(`{"$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"),Ad,VR=$(()=>Ad??(Ad=Zn(`{"$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"),KR={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},HR={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},YR={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},XR={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},JR={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QR={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZR={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},er={AstReflection:$(()=>new sh,"AstReflection")},ev={Grammar:$(()=>UR(),"Grammar"),LanguageMetaData:$(()=>KR,"LanguageMetaData"),parser:{}},tv={Grammar:$(()=>qR(),"Grammar"),LanguageMetaData:$(()=>HR,"LanguageMetaData"),parser:{}},nv={Grammar:$(()=>jR(),"Grammar"),LanguageMetaData:$(()=>YR,"LanguageMetaData"),parser:{}},rv={Grammar:$(()=>zR(),"Grammar"),LanguageMetaData:$(()=>XR,"LanguageMetaData"),parser:{}},iv={Grammar:$(()=>BR(),"Grammar"),LanguageMetaData:$(()=>JR,"LanguageMetaData"),parser:{}},sv={Grammar:$(()=>WR(),"Grammar"),LanguageMetaData:$(()=>QR,"LanguageMetaData"),parser:{}},av={Grammar:$(()=>VR(),"Grammar"),LanguageMetaData:$(()=>ZR,"LanguageMetaData"),parser:{}},ov=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,cv=/accTitle[\t ]*:([^\n\r]*)/,lv=/title([\t ][^\n\r]*|)/,uv={ACC_DESCR:ov,ACC_TITLE:cv,TITLE:lv},Nr,Wa=(Nr=class extends Bf{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=uv[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,`
`)}}},$(Nr,"AbstractMermaidValueConverter"),Nr),wr,Va=(wr=class extends Wa{runCustomConverter(e,n,r){}},$(wr,"CommonValueConverter"),wr),br,vn=(br=class extends zf{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}},$(br,"AbstractMermaidTokenBuilder"),br),_r;_r=class extends vn{},$(_r,"CommonTokenBuilder");var Ir,dv=(Ir=class extends vn{constructor(){super(["gitGraph"])}},$(Ir,"GitGraphTokenBuilder"),Ir),ah={parser:{TokenBuilder:$(()=>new dv,"TokenBuilder"),ValueConverter:$(()=>new Va,"ValueConverter")}};function oh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),tv,ah);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}$(oh,"createGitGraphServices");var Pr,fv=(Pr=class extends vn{constructor(){super(["info","showInfo"])}},$(Pr,"InfoTokenBuilder"),Pr),ch={parser:{TokenBuilder:$(()=>new fv,"TokenBuilder"),ValueConverter:$(()=>new Va,"ValueConverter")}};function lh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),nv,ch);return e.ServiceRegistry.register(n),{shared:e,Info:n}}$(lh,"createInfoServices");var $r,hv=($r=class extends vn{constructor(){super(["packet"])}},$($r,"PacketTokenBuilder"),$r),uh={parser:{TokenBuilder:$(()=>new hv,"TokenBuilder"),ValueConverter:$(()=>new Va,"ValueConverter")}};function dh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),rv,uh);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}$(dh,"createPacketServices");var Lr,pv=(Lr=class extends vn{constructor(){super(["pie","showData"])}},$(Lr,"PieTokenBuilder"),Lr),Or,mv=(Or=class extends Wa{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},$(Or,"PieValueConverter"),Or),fh={parser:{TokenBuilder:$(()=>new pv,"TokenBuilder"),ValueConverter:$(()=>new mv,"ValueConverter")}};function hh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),iv,fh);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}$(hh,"createPieServices");var xr,gv=(xr=class extends vn{constructor(){super(["architecture"])}},$(xr,"ArchitectureTokenBuilder"),xr),Dr,yv=(Dr=class extends Wa{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")return n.replace(/[[\]]/g,"").trim()}},$(Dr,"ArchitectureValueConverter"),Dr),ph={parser:{TokenBuilder:$(()=>new gv,"TokenBuilder"),ValueConverter:$(()=>new yv,"ValueConverter")}};function mh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),ev,ph);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}$(mh,"createArchitectureServices");var Mr,Tv=(Mr=class extends vn{constructor(){super(["radar-beta"])}},$(Mr,"RadarTokenBuilder"),Mr),gh={parser:{TokenBuilder:$(()=>new Tv,"TokenBuilder"),ValueConverter:$(()=>new Va,"ValueConverter")}};function yh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),sv,gh);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}$(yh,"createRadarServices");var Fr,Rv=(Fr=class extends vn{constructor(){super(["treemap"])}},$(Fr,"TreemapTokenBuilder"),Fr),vv=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Gr,Ev=(Gr=class extends Wa{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=vv.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},$(Gr,"TreemapValueConverter"),Gr);function Th(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}$(Th,"registerValidationChecks");var Ur,Av=(Ur=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"}))}},$(Ur,"TreemapValidator"),Ur),Rh={parser:{TokenBuilder:$(()=>new Rv,"TokenBuilder"),ValueConverter:$(()=>new Ev,"ValueConverter")},validation:{TreemapValidator:$(()=>new Av,"TreemapValidator")}};function vh(t=Rn){const e=We(Tn(t),er),n=We(yn({shared:e}),av,Rh);return e.ServiceRegistry.register(n),Th(n),{shared:e,Treemap:n}}$(vh,"createTreemapServices");var Yt={},Sv={info:$(async()=>{const{createInfoServices:t}=await An(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>Nv);return{createInfoServices:n}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;Yt.info=e},"info"),packet:$(async()=>{const{createPacketServices:t}=await An(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>wv);return{createPacketServices:n}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;Yt.packet=e},"packet"),pie:$(async()=>{const{createPieServices:t}=await An(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>bv);return{createPieServices:n}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;Yt.pie=e},"pie"),architecture:$(async()=>{const{createArchitectureServices:t}=await An(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>_v);return{createArchitectureServices:n}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;Yt.architecture=e},"architecture"),gitGraph:$(async()=>{const{createGitGraphServices:t}=await An(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>Iv);return{createGitGraphServices:n}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;Yt.gitGraph=e},"gitGraph"),radar:$(async()=>{const{createRadarServices:t}=await An(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>Pv);return{createRadarServices:n}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;Yt.radar=e},"radar"),treemap:$(async()=>{const{createTreemapServices:t}=await An(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>$v);return{createTreemapServices:n}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;Yt.treemap=e},"treemap")};async function Cv(t,e){const n=Sv[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);Yt[t]||await n();const i=Yt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new kv(i);return i.value}$(Cv,"parse");var qr,kv=(qr=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
`),r=e.parserErrors.map(i=>i.message).join(`
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},$(qr,"MermaidParseError"),qr);const Nv=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:ch,createInfoServices:lh},Symbol.toStringTag,{value:"Module"})),wv=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:uh,createPacketServices:dh},Symbol.toStringTag,{value:"Module"})),bv=Object.freeze(Object.defineProperty({__proto__:null,PieModule:fh,createPieServices:hh},Symbol.toStringTag,{value:"Module"})),_v=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:ph,createArchitectureServices:mh},Symbol.toStringTag,{value:"Module"})),Iv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:ah,createGitGraphServices:oh},Symbol.toStringTag,{value:"Module"})),Pv=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:gh,createRadarServices:yh},Symbol.toStringTag,{value:"Module"})),$v=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Rh,createTreemapServices:vh},Symbol.toStringTag,{value:"Module"}));export{Cv as p};