orbitchat 3.2.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ChartRenderer-Dd-iDllj.js → ChartRenderer-BRZDGKXb.js} +1 -1
- package/dist/assets/{MermaidRenderer-b4CLxUY2.js → MermaidRenderer-By9E8Mka.js} +5 -5
- package/dist/assets/{MusicRenderer-46pIMJgC.js → MusicRenderer-CUeKRk9_.js} +2 -2
- package/dist/assets/{SVGRenderer-DPXNm96K.js → SVGRenderer-XqSV-WtQ.js} +1 -1
- package/dist/assets/{_basePickBy-CRNU2oh3.js → _basePickBy-Hf4aXm85.js} +1 -1
- package/dist/assets/{_baseUniq-D4EnRRPg.js → _baseUniq-D1bNmnwz.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-Bmsde5Ld.js → architectureDiagram-VXUJARFQ-BVxn4r6b.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-DkNKZeTU.js → blockDiagram-VD42YOAC-BkjBdjdz.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-Bxm9TWfp.js → c4Diagram-YG6GDRKO-DN9C0J4c.js} +1 -1
- package/dist/assets/channel-YSaYGfvU.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-Cid1RCdG.js → chunk-4BX2VUAB-DQjaxTxC.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-DaMm9Sm9.js → chunk-55IACEB6-BAPmvzOA.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-NJo0ZYrW.js → chunk-B4BG7PRW-BKn58Q3T.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-DnBh4BcT.js → chunk-DI55MBZ5-D4T4cEvk.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-C7uryJc0.js → chunk-FMBD7UC4-BBSfVL96.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-B359CDxs.js → chunk-QN33PNHL-2G6RGO0y.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-BWKYBRsr.js → chunk-QZHKN3VN-3HkuNyaC.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-BnBaUsND.js → chunk-TZMSLE5B-CGP8AgQu.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-DwTYgLtI.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-DwTYgLtI.js +1 -0
- package/dist/assets/clone-Dnm1uDjE.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-Cn-0Rw3G.js → cose-bilkent-S5V4N54A-CjviFb5r.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-BCy9sHJ_.js → dagre-6UL2VRFP-jOmi_c5R.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-B0RMr1QC.js → diagram-PSM6KHXK-Dbp2IHQD.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-Czad37E-.js → diagram-QEK2KX5R-BZYMok2J.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-BdCIoL2c.js → diagram-S2PKOQOG-BrYZPEzc.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-B2v4aP_x.js → erDiagram-Q2GNP2WA-IzmpSNLX.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-DKCjGiV2.js → flowDiagram-NV44I4VS-ah9osuE0.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-BM1BKdEi.js → ganttDiagram-JELNMOA3-4WG42_hu.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM--qI83Qf3.js → gitGraphDiagram-V2S2FVAM-_RIhHlSv.js} +1 -1
- package/dist/assets/{graph-DGfbBQxw.js → graph-CFhrCHAV.js} +1 -1
- package/dist/assets/{index-wu56yLEv.js → index-CX9xMrSE.js} +3 -3
- package/dist/assets/{index-cUciQe5_.js → index-Cw8cvkPe.js} +1 -1
- package/dist/assets/{infoDiagram-HS3SLOUP-DR_pKdtU.js → infoDiagram-HS3SLOUP-BGPObwg6.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-BcQ7sw-c.js → journeyDiagram-XKPGCS4Q-sVlgPfoV.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-BUiYb7qQ.js → kanban-definition-3W4ZIXB7-B6QL8dmg.js} +1 -1
- package/dist/assets/{layout-D7FT5Uin.js → layout-kIMg9Yn-.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-HTGX5tJM.js → mindmap-definition-VGOIOE7T-DQcLpIVB.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-C_PvxCSB.js → pieDiagram-ADFJNKIX-DjIo_IMA.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-DDhOIPoW.js → quadrantDiagram-AYHSOK5B-PlJT0Z8S.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-ClMyTh5u.js → requirementDiagram-UZGBJVZJ-jomV-cLl.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-BMLYipN_.js → sankeyDiagram-TZEHDZUN-Iih_Xpcv.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-COwoFwcs.js → sequenceDiagram-WL72ISMW-pXhWBhIr.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-CGM_7Cjh.js → stateDiagram-FKZM4ZOC-D8rwumaR.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-Dhf-0JeR.js +1 -0
- package/dist/assets/{timeline-definition-IT6M3QCI-C0EQUFm0.js → timeline-definition-IT6M3QCI-BJxh2E6G.js} +1 -1
- package/dist/assets/treemap-GDKQZRPO-BDXLLe9-.js +160 -0
- package/dist/assets/{xychartDiagram-PRI3JC2R-DPhl7kC1.js → xychartDiagram-PRI3JC2R-CgiuaYJ-.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/channel-DeMez_Hj.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BzXv5fTq.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-BzXv5fTq.js +0 -1
- package/dist/assets/clone-BMsGBMed.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CKgQtgpH.js +0 -1
- package/dist/assets/treemap-GDKQZRPO-BXbe6QGJ.js +0 -160
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var Wp=Object.defineProperty;var Vp=(t,e,n)=>e in t?Wp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var dn=(t,e,n)=>Vp(t,typeof e!="symbol"?e+"":e,n);import{c as yt,b as Kp,_ as In}from"./index-CX9xMrSE.js";import{b6 as Hp,b7 as Yp,ay as If,aS as Xp,aC as Jp,az as ze,ak as Qp,al as Hl,aI as Zp,aL as $f,aM as Pf,aJ as em,aX as Yl,an as Yn,ao as oe,aA as Xl,au as tm}from"./MermaidRenderer-By9E8Mka.js";import{k as jr,j as vl,g as ii,S as nm,w as rm,x as im,c as Lf,v as Le,y as Of,l as sm,z as am,A as om,B as cm,C as lm,a as xf,d as U,i as tn,r as Xe,f as ft,D as xe}from"./_baseUniq-D1bNmnwz.js";import{j as El,m as M,d as um,f as Tt,g as zr,h as z,i as Al,l as zn,e as dm}from"./_basePickBy-Hf4aXm85.js";import{c as qe}from"./clone-Dnm1uDjE.js";var fm=Object.prototype,hm=fm.hasOwnProperty,dt=Hp(function(t,e){if(Yp(e)||If(e)){Xp(e,jr(e),t);return}for(var n in e)hm.call(e,n)&&Jp(t,n,e[n])});function Df(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function is(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function pm(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function mm(t,e,n,r){return vl(t,function(i,s,a){e(r,i,n(i),a)}),r}function gm(t,e){return function(n,r){var i=ze(n)?pm:mm,s=e?e():{};return i(n,t,ii(r),s)}}var ym=200;function Tm(t,e,n,r){var i=-1,s=rm,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=ym&&(s=im,a=!1,e=new nm(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var m=l;m--;)if(e[m]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var Oa=Qp(function(t,e){return Hl(t)?Tm(t,Lf(e,1,Hl,!0)):[]});function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:El(e),Df(t,e<0?0:e,r)):[]}function Bi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:El(e),e=r-e,Df(t,0,e<0?0:e)):[]}function Rm(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function vm(t,e){var n=!0;return vl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function wt(t,e,n){var r=ze(t)?Rm:vm;return r(t,ii(e))}function bt(t){return t&&t.length?t[0]:void 0}function ut(t,e){return Lf(M(t,e))}var Em=Object.prototype,Am=Em.hasOwnProperty,Sm=gm(function(t,e,n){Am.call(t,n)?t[n].push(e):Zp(t,n,[e])}),Cm="[object String]";function rt(t){return typeof t=="string"||!ze(t)&&$f(t)&&Pf(t)==Cm}var km=Math.max;function Ze(t,e,n,r){t=If(t)?t:Le(t),n=n?El(n):0;var i=t.length;return n<0&&(n=km(i+n,0)),rt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Of(t,e,n)>-1}function Jl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Of(t,e,i)}var wm="[object RegExp]";function Nm(t){return $f(t)&&Pf(t)==wm}var Ql=Yl&&Yl.isRegExp,nn=Ql?em(Ql):Nm,bm="Expected a function";function _m(t){if(typeof t!="function")throw new TypeError(bm);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function _t(t,e){if(t==null)return{};var n=sm(am(t),function(r){return[r]});return e=ii(e),um(t,n,function(r,i){return e(r,i[0])})}function xa(t,e){var n=ze(t)?om:cm;return n(t,_m(ii(e)))}function Im(t,e){var n;return vl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Mf(t,e,n){var r=ze(t)?lm:Im;return r(t,ii(e))}function Sl(t){return t&&t.length?xf(t):[]}function $m(t,e){return t&&t.length?xf(t,ii(e)):[]}function Ve(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Ct(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function hn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Pm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function vi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Ff{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 Ve(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 qi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Gf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Uf(t){return qi(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 ct})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Lm(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?ct:{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 ct})}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(ia(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return ct})}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(ia(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ct})}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?ct: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 ct})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function Lm(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function ia(t){return!!t&&typeof t[Symbol.iterator]=="function"}const jf=new Ue(()=>{},()=>ct),ct=Object.freeze({done:!0,value:void 0});function pe(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(ia(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++]}:ct)}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++];ia(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return ct}):jf}class Cl 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 ct})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var $o;(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})($o||($o={}));function Po(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{Ve(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&Po(i,e))}):Ve(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&Po(r,e)))}function Da(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Bs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Bs(t){for(;t.$container;)t=t.$container;return t}function Zl(t){return Ct(t)?t.ref?[t.ref]:[]:hn(t)?t.items.map(e=>e.ref):[]}function kl(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(Ve(s)){if(r.keyIndex++,eu(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(Ve(o)&&eu(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ct})}function ss(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Cl(t,n=>kl(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Cl(t,n=>kl(n,e),{includeRoot:!0})}function eu(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?ng(n,e):!1}function sa(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(Ct(r)||hn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ct(s)||hn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ct})}function Om(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]=zf(i.defaultValue))}function zf(t){return Array.isArray(t)?[...t.map(zf)]:t}const ot={$type:"AbstractElement",cardinality:"cardinality"};function xm(t){return Z.isInstance(t,ot.$type)}const qs={$type:"AbstractParserRule"};function as(t){return Z.isInstance(t,qs.$type)}const $s={$type:"AbstractRule"},At={$type:"AbstractType"},On={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ma(t){return Z.isInstance(t,On.$type)}const Ws={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Bf(t){return Z.isInstance(t,Ws.$type)}const tu={$type:"ArrayLiteral",elements:"elements"},nu={$type:"ArrayType",elementType:"elementType"},xn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return Z.isInstance(t,xn.$type)}const Lo={$type:"BooleanLiteral",true:"true"};function Dm(t){return Z.isInstance(t,Lo.$type)}const Dn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Mm(t){return Z.isInstance(t,Dn.$type)}const nr={$type:"Condition"},Vs={$type:"Conjunction",left:"left",right:"right"};function Fm(t){return Z.isInstance(t,Vs.$type)}const Mn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Fa(t){return Z.isInstance(t,Mn.$type)}const Ks={$type:"Disjunction",left:"left",right:"right"};function Gm(t){return Z.isInstance(t,Ks.$type)}const Oo={$type:"EndOfFile",cardinality:"cardinality"};function Um(t){return Z.isInstance(t,Oo.$type)}const $n={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},ru={$type:"GrammarImport",path:"path"},cr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function wl(t){return Z.isInstance(t,cr.$type)}const xo={$type:"InferredType",name:"name"};function qf(t){return Z.isInstance(t,xo.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function aa(t){return Z.isInstance(t,Vt.$type)}const co={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},iu={$type:"InfixRuleOperators",precedences:"precedences"},Pi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function jm(t){return Z.isInstance(t,Pi.$type)}const Li={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function qn(t){return Z.isInstance(t,Li.$type)}const Ps={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},lr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zm(t){return Z.isInstance(t,lr.$type)}const Do={$type:"Negation",value:"value"};function Bm(t){return Z.isInstance(t,Do.$type)}const su={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},Mo={$type:"ParameterReference",parameter:"parameter"};function qm(t){return Z.isInstance(t,Mo.$type)}const Lt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function an(t){return Z.isInstance(t,Lt.$type)}const lo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},ur={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Wm(t){return Z.isInstance(t,ur.$type)}const Fo={$type:"ReturnType",name:"name"};function Vm(t){return Z.isInstance(t,Fo.$type)}const dr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Wn(t){return Z.isInstance(t,dr.$type)}const Oi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Km(t){return Z.isInstance(t,Oi.$type)}const au={$type:"StringLiteral",value:"value"},fr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hm(t){return Z.isInstance(t,fr.$type)}const mt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},hr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Ym(t){return Z.isInstance(t,hr.$type)}const fn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function on(t){return Z.isInstance(t,fn.$type)}const pr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Xm(t){return Z.isInstance(t,pr.$type)}const Hs={$type:"Type",name:"name",type:"type"};function Jm(t){return Z.isInstance(t,Hs.$type)}const Ei={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Ai={$type:"TypeDefinition"},ou={$type:"UnionType",types:"types"},Ys={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Wf(t){return Z.isInstance(t,Ys.$type)}const mr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Qm(t){return Z.isInstance(t,mr.$type)}const Si={$type:"ValueLiteral"},xi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Zm(t){return Z.isInstance(t,xi.$type)}class Vf extends Ff{constructor(){super(...arguments),this.types={AbstractElement:{name:ot.$type,properties:{cardinality:{name:ot.cardinality}},superTypes:[]},AbstractParserRule:{name:qs.$type,properties:{},superTypes:[$s.$type,At.$type]},AbstractRule:{name:$s.$type,properties:{},superTypes:[]},AbstractType:{name:At.$type,properties:{},superTypes:[]},Action:{name:On.$type,properties:{cardinality:{name:On.cardinality},feature:{name:On.feature},inferredType:{name:On.inferredType},operator:{name:On.operator},type:{name:On.type,referenceType:At.$type}},superTypes:[ot.$type]},Alternatives:{name:Ws.$type,properties:{cardinality:{name:Ws.cardinality},elements:{name:Ws.elements,defaultValue:[]}},superTypes:[ot.$type]},ArrayLiteral:{name:tu.$type,properties:{elements:{name:tu.elements,defaultValue:[]}},superTypes:[Si.$type]},ArrayType:{name:nu.$type,properties:{elementType:{name:nu.elementType}},superTypes:[Ai.$type]},Assignment:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},operator:{name:xn.operator},predicate:{name:xn.predicate},terminal:{name:xn.terminal}},superTypes:[ot.$type]},BooleanLiteral:{name:Lo.$type,properties:{true:{name:Lo.true,defaultValue:!1}},superTypes:[nr.$type,Si.$type]},CharacterRange:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},left:{name:Dn.left},lookahead:{name:Dn.lookahead},parenthesized:{name:Dn.parenthesized,defaultValue:!1},right:{name:Dn.right}},superTypes:[mt.$type]},Condition:{name:nr.$type,properties:{},superTypes:[]},Conjunction:{name:Vs.$type,properties:{left:{name:Vs.left},right:{name:Vs.right}},superTypes:[nr.$type]},CrossReference:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},deprecatedSyntax:{name:Mn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Mn.isMulti,defaultValue:!1},terminal:{name:Mn.terminal},type:{name:Mn.type,referenceType:At.$type}},superTypes:[ot.$type]},Disjunction:{name:Ks.$type,properties:{left:{name:Ks.left},right:{name:Ks.right}},superTypes:[nr.$type]},EndOfFile:{name:Oo.$type,properties:{cardinality:{name:Oo.cardinality}},superTypes:[ot.$type]},Grammar:{name:$n.$type,properties:{imports:{name:$n.imports,defaultValue:[]},interfaces:{name:$n.interfaces,defaultValue:[]},isDeclared:{name:$n.isDeclared,defaultValue:!1},name:{name:$n.name},rules:{name:$n.rules,defaultValue:[]},types:{name:$n.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:ru.$type,properties:{path:{name:ru.path}},superTypes:[]},Group:{name:cr.$type,properties:{cardinality:{name:cr.cardinality},elements:{name:cr.elements,defaultValue:[]},guardCondition:{name:cr.guardCondition},predicate:{name:cr.predicate}},superTypes:[ot.$type]},InferredType:{name:xo.$type,properties:{name:{name:xo.name}},superTypes:[At.$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:At.$type}},superTypes:[qs.$type]},InfixRuleOperatorList:{name:co.$type,properties:{associativity:{name:co.associativity},operators:{name:co.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:iu.$type,properties:{precedences:{name:iu.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Pi.$type,properties:{attributes:{name:Pi.attributes,defaultValue:[]},name:{name:Pi.name},superTypes:{name:Pi.superTypes,defaultValue:[],referenceType:At.$type}},superTypes:[At.$type]},Keyword:{name:Li.$type,properties:{cardinality:{name:Li.cardinality},predicate:{name:Li.predicate},value:{name:Li.value}},superTypes:[ot.$type]},NamedArgument:{name:Ps.$type,properties:{calledByName:{name:Ps.calledByName,defaultValue:!1},parameter:{name:Ps.parameter,referenceType:Ls.$type},value:{name:Ps.value}},superTypes:[]},NegatedToken:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},lookahead:{name:lr.lookahead},parenthesized:{name:lr.parenthesized,defaultValue:!1},terminal:{name:lr.terminal}},superTypes:[mt.$type]},Negation:{name:Do.$type,properties:{value:{name:Do.value}},superTypes:[nr.$type]},NumberLiteral:{name:su.$type,properties:{value:{name:su.value}},superTypes:[Si.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:Mo.$type,properties:{parameter:{name:Mo.parameter,referenceType:Ls.$type}},superTypes:[nr.$type]},ParserRule:{name:Lt.$type,properties:{dataType:{name:Lt.dataType},definition:{name:Lt.definition},entry:{name:Lt.entry,defaultValue:!1},fragment:{name:Lt.fragment,defaultValue:!1},inferredType:{name:Lt.inferredType},name:{name:Lt.name},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:At.$type}},superTypes:[qs.$type]},ReferenceType:{name:lo.$type,properties:{isMulti:{name:lo.isMulti,defaultValue:!1},referenceType:{name:lo.referenceType}},superTypes:[Ai.$type]},RegexToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},regex:{name:ur.regex}},superTypes:[mt.$type]},ReturnType:{name:Fo.$type,properties:{name:{name:Fo.name}},superTypes:[]},RuleCall:{name:dr.$type,properties:{arguments:{name:dr.arguments,defaultValue:[]},cardinality:{name:dr.cardinality},predicate:{name:dr.predicate},rule:{name:dr.rule,referenceType:$s.$type}},superTypes:[ot.$type]},SimpleType:{name:Oi.$type,properties:{primitiveType:{name:Oi.primitiveType},stringType:{name:Oi.stringType},typeRef:{name:Oi.typeRef,referenceType:At.$type}},superTypes:[Ai.$type]},StringLiteral:{name:au.$type,properties:{value:{name:au.value}},superTypes:[Si.$type]},TerminalAlternatives:{name:fr.$type,properties:{cardinality:{name:fr.cardinality},elements:{name:fr.elements,defaultValue:[]},lookahead:{name:fr.lookahead},parenthesized:{name:fr.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:[ot.$type]},TerminalGroup:{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]},TerminalRule:{name:fn.$type,properties:{definition:{name:fn.definition},fragment:{name:fn.fragment,defaultValue:!1},hidden:{name:fn.hidden,defaultValue:!1},name:{name:fn.name},type:{name:fn.type}},superTypes:[$s.$type]},TerminalRuleCall:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1},rule:{name:pr.rule,referenceType:fn.$type}},superTypes:[mt.$type]},Type:{name:Hs.$type,properties:{name:{name:Hs.name},type:{name:Hs.type}},superTypes:[At.$type]},TypeAttribute:{name:Ei.$type,properties:{defaultValue:{name:Ei.defaultValue},isOptional:{name:Ei.isOptional,defaultValue:!1},name:{name:Ei.name},type:{name:Ei.type}},superTypes:[]},TypeDefinition:{name:Ai.$type,properties:{},superTypes:[]},UnionType:{name:ou.$type,properties:{types:{name:ou.types,defaultValue:[]}},superTypes:[Ai.$type]},UnorderedGroup:{name:Ys.$type,properties:{cardinality:{name:Ys.cardinality},elements:{name:Ys.elements,defaultValue:[]}},superTypes:[ot.$type]},UntilToken:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},terminal:{name:mr.terminal}},superTypes:[mt.$type]},ValueLiteral:{name:Si.$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 Z=new Vf;function Go(t){return new Cl(t,e=>qi(e)?e.content:[],{includeRoot:!0})}function eg(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Uo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function oa(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 tg(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 ng(t,e){return tg(t,e)>Xt.After}const rg=/^[\w\p{L}]$/u;function ig(t,e){if(t){const n=sg(t,!0);if(n&&cu(n,e))return n;if(Uf(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(cu(s,e))return s}}}}function cu(t,e){return Gf(t)&&e.includes(t.tokenType.name)}function sg(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 Kf extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function os(t,e="Error: Got unexpected value."){throw new Error(e)}function B(t){return t.charCodeAt(0)}function uo(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function Ci(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function rr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ag(){throw Error("Internal Error - Should never get here!")}function lu(t){return t.type==="Character"}const ca=[];for(let t=B("0");t<=B("9");t++)ca.push(t);const la=[B("_")].concat(ca);for(let t=B("a");t<=B("z");t++)la.push(t);for(let t=B("A");t<=B("Z");t++)la.push(t);const uu=[B(" "),B("\f"),B(`
|
|
2
|
+
`),B("\r"),B(" "),B("\v"),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B("\u2028"),B("\u2029"),B(" "),B(" "),B(" "),B("\uFEFF")],og=/[0-9a-fA-F]/,Os=/[0-9]/,cg=/[1-9]/;class Hf{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":Ci(r,"global");break;case"i":Ci(r,"ignoreCase");break;case"m":Ci(r,"multiLine");break;case"u":Ci(r,"unicode");break;case"y":Ci(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}}rr(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return ag()}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;rr(n);break}if(!(e===!0&&n===void 0)&&rr(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()),rr(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[B(`
|
|
3
|
+
`),B("\r"),B("\u2028"),B("\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=ca;break;case"D":e=ca,n=!0;break;case"s":e=uu;break;case"S":e=uu,n=!0;break;case"w":e=la;break;case"W":e=la,n=!0;break}if(rr(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=B("\f");break;case"n":e=B(`
|
|
4
|
+
`);break;case"r":e=B("\r");break;case"t":e=B(" ");break;case"v":e=B("\v");break}if(rr(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:B("\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:B(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:B(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,lu(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,lu(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else uo(r.value,e),e.push(B("-")),uo(i.value,e)}else uo(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:B("\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(cg.test(e)===!1)throw Error("Expecting a positive integer");for(;Os.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Os.test(e)===!1)throw Error("Expecting an integer");for(;Os.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:B(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 Os.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(og.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 Ga{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 lg=/\r?\n/gm,ug=new Hf;class dg extends Ga{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Ua(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
|
|
11
|
+
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const fo=new dg;function fg(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),fo.reset(t),fo.visit(ug.pattern(t)),fo.multiline}catch{return!1}}const hg=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function Yf(t){const e=typeof t=="string"?new RegExp(t):t;return hg.some(n=>e.test(n))}function Ua(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pg(t,e){const n=mg(t),r=e.match(n);return!!r&&r[0].length>0}function mg(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 gg(t){return t.rules.find(e=>an(e)&&e.entry)}function yg(t){return t.rules.filter(e=>on(e)&&e.hidden)}function Xf(t,e){const n=new Set,r=gg(t);if(!r)return new Set(t.rules);const i=[r].concat(yg(t));for(const a of i)Jf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||on(a)&&a.hidden)&&s.add(a);return s}function Jf(t,e,n){e.add(t.name),ss(t).forEach(r=>{if(Wn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Jf(i,e,n)}})}function Tg(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Zf(t.type.ref);return e==null?void 0:e.terminal}}function Rg(t){return t.hidden&&!Yf(bl(t))}function vg(t,e){return!t||!e?[]:Nl(t,e,t.astNode,!0)}function Qf(t,e,n){if(!t||!e)return;const r=Nl(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 Nl(t,e,n,r){if(!r){const i=Da(t.grammarSource,Bn);if(i&&i.feature===e)return[t]}return qi(t)&&t.astNode===n?t.content.flatMap(i=>Nl(i,e,n,!1)):[]}function Eg(t,e,n){if(!t)return;const r=Ag(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 Ag(t,e,n){if(t.astNode!==n)return[];if(qn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Go(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?qn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Sg(t){var n;const e=t.astNode;for(;e===((n=t.container)==null?void 0:n.astNode);){const r=Da(t.grammarSource,Bn);if(r)return r;t=t.container}}function Zf(t){let e=t;return qf(e)&&(Ma(e.$container)?e=e.$container.$container:as(e.$container)?e=e.$container:os(e.$container)),eh(t,e,new Map)}function eh(t,e,n){var i;function r(s,a){let o;return Da(s,Bn)||(o=eh(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 ss(e)){if(Bn(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Wn(s)&&an(s.rule.ref))return r(s,s.rule.ref);if(Km(s)&&((i=s.typeRef)!=null&&i.ref))return r(s,s.typeRef.ref)}}function th(t){return nh(t,new Set)}function nh(t,e){if(e.has(t))return!0;e.add(t);for(const n of ss(t))if(Wn(n)){if(!n.rule.ref||an(n.rule.ref)&&!nh(n.rule.ref,e)||aa(n.rule.ref))return!1}else{if(Bn(n))return!1;if(Ma(n))return!1}return!!t.definition}function rh(t){if(!on(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(as(t))return an(t)&&th(t)?t.name:rh(t)??t.name;if(jm(t)||Jm(t)||Vm(t))return t.name;if(Ma(t)){const e=Cg(t);if(e)return e}else if(qf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Cg(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return Wi(t.type.ref)}function kg(t){var e;return on(t)?((e=t.type)==null?void 0:e.name)??"string":rh(t)??t.name}function bl(t){const e={s:!1,i:!1,u:!1},n=si(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const _l=/[\s\S]/.source;function si(t,e){var n;if(Hm(t))return wg(t);if(Ym(t))return Ng(t);if(Mm(t))return Ig(t);if(Xm(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return en(si(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(zm(t))return _g(t);if(Qm(t))return bg(t);if(Wm(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(Zm(t))return en(_l,{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 wg(t){return en(t.elements.map(e=>si(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ng(t){return en(t.elements.map(e=>si(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function bg(t){return en(`${_l}*?${si(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function _g(t){return en(`(?!${si(t.terminal)})${_l}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Ig(t){return t.right?en(`[${ho(t.left)}-${ho(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):en(ho(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function ho(t){return Ua(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 $g(t){const e=[],n=t.Grammar;for(const r of n.rules)on(r)&&Rg(r)&&fg(bl(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:rg}}function jo(t){console&&console.error&&console.error(`Error: ${t}`)}function ih(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function sh(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function ah(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function Pg(t){return Lg(t)?t.LABEL:t.name}function Lg(t){return rt(t.LABEL)&&t.LABEL!==""}class Ut{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),U(this.definition,n=>{n.accept(e)})}}class Je extends Ut{constructor(e){super([]),this.idx=1,dt(this,_t(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ai extends Ut{constructor(e){super(e.definition),this.orgText="",dt(this,_t(e,n=>n!==void 0))}}class it extends Ut{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,dt(this,_t(e,n=>n!==void 0))}}let Be=class extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}};class ht extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class pt extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class ve extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class st extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class at extends Ut{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,dt(this,_t(e,n=>n!==void 0))}}class de{constructor(e){this.idx=1,dt(this,_t(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Og(t){return M(t,Xs)}function Xs(t){function e(n){return M(n,Xs)}if(t instanceof Je){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return rt(t.label)&&(n.label=t.label),n}else{if(t instanceof it)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Be)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:Xs(new de({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof st)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Xs(new de({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ve)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof at)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof de){const n={type:"Terminal",name:t.terminalType.name,label:Pg(t.terminalType),idx:t.idx};rt(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 ai)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class oi{visit(e){const n=e;switch(n.constructor){case Je:return this.visitNonTerminal(n);case it:return this.visitAlternative(n);case Be:return this.visitOption(n);case ht:return this.visitRepetitionMandatory(n);case pt:return this.visitRepetitionMandatoryWithSeparator(n);case st:return this.visitRepetitionWithSeparator(n);case ve:return this.visitRepetition(n);case at:return this.visitAlternation(n);case de:return this.visitTerminal(n);case ai: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 xg(t){return t instanceof it||t instanceof Be||t instanceof ve||t instanceof ht||t instanceof pt||t instanceof st||t instanceof de||t instanceof ai}function ua(t,e=[]){return t instanceof Be||t instanceof ve||t instanceof st?!0:t instanceof at?Mf(t.definition,r=>ua(r,e)):t instanceof Je&&Ze(e,t)?!1:t instanceof Ut?(t instanceof Je&&e.push(t),wt(t.definition,r=>ua(r,e))):!1}function Dg(t){return t instanceof at}function Ot(t){if(t instanceof Je)return"SUBRULE";if(t instanceof Be)return"OPTION";if(t instanceof at)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof st)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof de)return"CONSUME";throw Error("non exhaustive match")}class ja{walk(e,n=[]){U(e.definition,(r,i)=>{const s=Ge(e.definition,i+1);if(r instanceof Je)this.walkProdRef(r,s,n);else if(r instanceof de)this.walkTerminal(r,s,n);else if(r instanceof it)this.walkFlat(r,s,n);else if(r instanceof Be)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 st)this.walkManySep(r,s,n);else if(r instanceof ve)this.walkMany(r,s,n);else if(r instanceof at)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 Be({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=du(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Be({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=du(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);U(e.definition,s=>{const a=new it({definition:[s]});this.walk(a,i)})}}function du(t,e,n){return[new Be({definition:[new de({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function cs(t){if(t instanceof Je)return cs(t.referencedRule);if(t instanceof de)return Gg(t);if(xg(t))return Mg(t);if(Dg(t))return Fg(t);throw Error("non exhaustive match")}function Mg(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=ua(s),e=e.concat(cs(s)),r=r+1,i=n.length>r;return Sl(e)}function Fg(t){const e=M(t.definition,n=>cs(n));return Sl(Tt(e))}function Gg(t){return[t.terminalType]}const oh="_~IN~_";class Ug extends ja{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=zg(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new it({definition:s}),o=cs(a);this.follows[i]=o}}function jg(t){const e={};return U(t,n=>{const r=new Ug(n).startWalking();dt(e,r)}),e}function zg(t,e){return t.name+e+oh}let Js={};const Bg=new Hf;function za(t){const e=t.toString();if(Js.hasOwnProperty(e))return Js[e];{const n=Bg.pattern(e);return Js[e]=n,n}}function qg(){Js={}}const ch="Complement Sets are not supported for first char optimization",da=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function Wg(t,e=!1){try{const n=za(t);return zo(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===ch)e&&ih(`${da} Unable to optimize: < ${t.toString()} >
|
|
14
|
+
Complement Sets cannot be automatically optimized.
|
|
15
|
+
This will disable the lexer's first char optimizations.
|
|
16
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
+
This will disable the lexer's first char optimizations.
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),jo(`${da}
|
|
19
|
+
Failed parsing: < ${t.toString()} >
|
|
20
|
+
Using the @chevrotain/regexp-to-ast library
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function zo(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)zo(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":xs(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(ch);U(a.value,c=>{if(typeof c=="number")xs(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)xs(u,e,n);else{for(let u=l.from;u<=l.to&&u<Mi;u++)xs(u,e,n);if(l.to>=Mi){const u=l.from>=Mi?l.from:Mi,f=l.to,m=Rn(u),g=Rn(f);for(let A=m;A<=g;A++)e[A]=A}}}});break;case"Group":zo(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"&&Bo(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Le(e)}function xs(t,e,n){const r=Rn(t);e[r]=r,n===!0&&Vg(t,e)}function Vg(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=Rn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=Rn(i.charCodeAt(0));e[s]=s}}}function fu(t,e){return zr(t.value,n=>{if(typeof n=="number")return Ze(e,n);{const r=n;return zr(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Bo(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ze(t.value)?wt(t.value,Bo):Bo(t.value):!1}class Kg extends Ga{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?fu(e,this.targetCharCodes)===void 0&&(this.found=!0):fu(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Il(t,e){if(e instanceof RegExp){const n=za(e),r=new Kg(t);return r.visit(n),r.found}else return zr(e,n=>Ze(t,n.charCodeAt(0)))!==void 0}const Vn="PATTERN",Di="defaultMode",Ds="modes";let lh=typeof new RegExp("(?:)").sticky=="boolean";function Hg(t,e){e=Al(e,{useSticky:lh,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(O,b)=>b()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{Ty()});let r;n("Reject Lexer.NA",()=>{r=xa(t,O=>O[Vn]===nt.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=M(r,O=>{const b=O[Vn];if(nn(b)){const D=b.source;return D.length===1&&D!=="^"&&D!=="$"&&D!=="."&&!b.ignoreCase?D:D.length===2&&D[0]==="\\"&&!Ze(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],D[1])?D[1]:e.useSticky?pu(b):hu(b)}else{if(Yn(b))return i=!0,{exec:b};if(typeof b=="object")return i=!0,b;if(typeof b=="string"){if(b.length===1)return b;{const D=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),X=new RegExp(D);return e.useSticky?pu(X):hu(X)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=M(r,O=>O.tokenTypeIdx),o=M(r,O=>{const b=O.GROUP;if(b!==nt.SKIPPED){if(rt(b))return b;if(tn(b))return!1;throw Error("non exhaustive match")}}),c=M(r,O=>{const b=O.LONGER_ALT;if(b)return ze(b)?M(b,X=>Jl(r,X)):[Jl(r,b)]}),l=M(r,O=>O.PUSH_MODE),u=M(r,O=>z(O,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const O=fh(e.lineTerminatorCharacters);f=M(r,b=>!1),e.positionTracking!=="onlyOffset"&&(f=M(r,b=>z(b,"LINE_BREAKS")?!!b.LINE_BREAKS:dh(b,O)===!1&&Il(O,b.PATTERN)))});let m,g,A,w;n("Misc Mapping #2",()=>{m=M(r,uh),g=M(s,my),A=Xe(r,(O,b)=>{const D=b.GROUP;return rt(D)&&D!==nt.SKIPPED&&(O[D]=[]),O},{}),w=M(s,(O,b)=>({pattern:s[b],longerAlt:c[b],canLineTerminator:f[b],isCustom:m[b],short:g[b],group:o[b],push:l[b],pop:u[b],tokenTypeIdx:a[b],tokenType:r[b]}))});let $=!0,N=[];return e.safeMode||n("First Char Optimization",()=>{N=Xe(r,(O,b,D)=>{if(typeof b.PATTERN=="string"){const X=b.PATTERN.charCodeAt(0),ne=Rn(X);po(O,ne,w[D])}else if(ze(b.START_CHARS_HINT)){let X;U(b.START_CHARS_HINT,ne=>{const re=typeof ne=="string"?ne.charCodeAt(0):ne,ye=Rn(re);X!==ye&&(X=ye,po(O,ye,w[D]))})}else if(nn(b.PATTERN))if(b.PATTERN.unicode)$=!1,e.ensureOptimizations&&jo(`${da} Unable to analyze < ${b.PATTERN.toString()} > pattern.
|
|
23
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
+
This will disable the lexer's first char optimizations.
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const X=Wg(b.PATTERN,e.ensureOptimizations);oe(X)&&($=!1),U(X,ne=>{po(O,ne,w[D])})}else e.ensureOptimizations&&jo(`${da} TokenType: <${b.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),$=!1;return O},[])}),{emptyGroups:A,patternIdxToConfig:w,charCodeToPatternIdxToConfig:N,hasCustom:i,canBeOptimized:$}}function Yg(t,e){let n=[];const r=Jg(t);n=n.concat(r.errors);const i=Qg(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Xg(s)),n=n.concat(ay(s)),n=n.concat(oy(s,e)),n=n.concat(cy(s)),n}function Xg(t){let e=[];const n=ft(t,r=>nn(r[Vn]));return e=e.concat(ey(n)),e=e.concat(ry(n)),e=e.concat(iy(n)),e=e.concat(sy(n)),e=e.concat(ty(n)),e}function Jg(t){const e=ft(t,i=>!z(i,Vn)),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Ee.MISSING_PATTERN,tokenTypes:[i]})),r=Oa(t,e);return{errors:n,valid:r}}function Qg(t){const e=ft(t,i=>{const s=i[Vn];return!nn(s)&&!Yn(s)&&!z(s,"exec")&&!rt(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:Ee.INVALID_PATTERN,tokenTypes:[i]})),r=Oa(t,e);return{errors:n,valid:r}}const Zg=/[^\\][$]/;function ey(t){class e extends Ga{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=za(s),o=new e;return o.visit(a),o.found}catch{return Zg.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ee.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function ty(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:Ee.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const ny=/[^\\[][\^]|^\^/;function ry(t){class e extends Ga{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=za(s),o=new e;return o.visit(a),o.found}catch{return ny.test(s.source)}});return M(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ee.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function iy(t){const e=ft(t,r=>{const i=r[Vn];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:Ee.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function sy(t){const e=[];let n=M(t,s=>Xe(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Ze(e,o)&&o.PATTERN!==nt.NA&&(e.push(o),a.push(o)),a),[]));n=is(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 ->${bt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Ee.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function ay(t){const e=ft(t,r=>{if(!z(r,"GROUP"))return!1;const i=r.GROUP;return i!==nt.SKIPPED&&i!==nt.NA&&!rt(i)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ee.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function oy(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:Ee.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function cy(t){const e=[],n=Xe(t,(r,i,s)=>{const a=i.PATTERN;return a===nt.NA||(rt(a)?r.push({str:a,idx:s,tokenType:i}):nn(a)&&uy(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return U(t,(r,i)=>{U(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&ly(s,r.PATTERN)){const c=`Token: ->${o.name}<- can never be matched.
|
|
32
|
+
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ee.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function ly(t,e){if(nn(e)){if(dy(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(Yn(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 uy(t){return zr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function dy(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function hu(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function pu(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function fy(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
|
|
34
|
+
`,type:Ee.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),z(t,Ds)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ds+`> property in its definition
|
|
35
|
+
`,type:Ee.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),z(t,Ds)&&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
|
|
36
|
+
`,type:Ee.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),z(t,Ds)&&U(t.modes,(i,s)=>{U(i,(a,o)=>{if(tn(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
|
+
`,type:Ee.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(z(a,"LONGER_ALT")){const c=ze(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];U(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}>
|
|
38
|
+
`,type:Ee.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function hy(t,e,n){const r=[];let i=!1;const s=is(Tt(Le(t.modes))),a=xa(s,c=>c[Vn]===nt.NA),o=fh(n);return e&&U(a,c=>{const l=dh(c,o);if(l!==!1){const f={message:yy(c,l),type:l.issue,tokenType:c};r.push(f)}else z(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Il(o,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
+
This Lexer has been defined to track line and column information,
|
|
40
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
+
for details.`,type:Ee.NO_LINE_BREAKS_FLAGS}),r}function py(t){const e={},n=jr(t);return U(n,r=>{const i=t[r];if(ze(i))e[r]=[];else throw Error("non exhaustive match")}),e}function uh(t){const e=t.PATTERN;if(nn(e))return!1;if(Yn(e))return!0;if(z(e,"exec"))return!0;if(rt(e))return!1;throw Error("non exhaustive match")}function my(t){return rt(t)&&t.length===1?t.charCodeAt(0):!1}const gy={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 dh(t,e){if(z(t,"LINE_BREAKS"))return!1;if(nn(t.PATTERN)){try{Il(e,t.PATTERN)}catch(n){return{issue:Ee.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(rt(t.PATTERN))return!1;if(uh(t))return{issue:Ee.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function yy(t,e){if(e.issue===Ee.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
+
The problem is in the <${t.name}> Token Type
|
|
44
|
+
Root cause: ${e.errMsg}.
|
|
45
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Ee.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
+
The problem is in the <${t.name}> Token Type
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function fh(t){return M(t,n=>rt(n)?n.charCodeAt(0):n)}function po(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Mi=256;let Qs=[];function Rn(t){return t<Mi?t:Qs[t]}function Ty(){if(oe(Qs)){Qs=new Array(65536);for(let t=0;t<65536;t++)Qs[t]=t>255?255+~~(t/255):t}}function ls(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function fa(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let mu=1;const hh={};function us(t){const e=Ry(t);vy(e),Ay(e),Ey(e),U(e,n=>{n.isParent=n.categoryMatches.length>0})}function Ry(t){let e=qe(t),n=t,r=!0;for(;r;){n=is(Tt(M(n,s=>s.CATEGORIES)));const i=Oa(n,e);e=e.concat(i),oe(i)?r=!1:n=i}return e}function vy(t){U(t,e=>{mh(e)||(hh[mu]=e,e.tokenTypeIdx=mu++),gu(e)&&!ze(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),gu(e)||(e.CATEGORIES=[]),Sy(e)||(e.categoryMatches=[]),Cy(e)||(e.categoryMatchesMap={})})}function Ey(t){U(t,e=>{e.categoryMatches=[],U(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(hh[r].tokenTypeIdx)})})}function Ay(t){U(t,e=>{ph([],e)})}function ph(t,e){U(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),U(e.CATEGORIES,n=>{const r=t.concat(e);Ze(r,n)||ph(r,n)})}function mh(t){return z(t,"tokenTypeIdx")}function gu(t){return z(t,"CATEGORIES")}function Sy(t){return z(t,"categoryMatches")}function Cy(t){return z(t,"categoryMatchesMap")}function ky(t){return z(t,"tokenTypeIdx")}const qo={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 Ee;(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"})(Ee||(Ee={}));const Fi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qo,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Fi);class nt{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}=sh(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,c}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
+
a boolean 2nd argument is no longer supported`);this.config=dt({},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=gy;else if(this.config.lineTerminatorCharacters===Fi.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ze(e)?i={modes:{defaultMode:qe(e)},defaultMode:Di}:(s=!1,i=qe(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fy(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(hy(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},U(i.modes,(o,c)=>{i.modes[c]=xa(o,l=>tn(l))});const a=jr(i.modes);if(U(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(Yg(o,a))}),oe(this.lexerDefinitionErrors)){us(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=Hg(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=dt({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!oe(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=M(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+c)}U(this.lexerDefinitionWarning,o=>{ih(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(lh?(this.chopInput=Xl,this.match=this.matchWithTest):(this.updateLastIndex=xe,this.match=this.matchWithExec),s&&(this.handleModes=xe),this.trackStartLines===!1&&(this.computeNewColumn=Xl),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=xe),/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&&!oe(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
53
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
54
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{qg()}),this.TRACE_INIT("toFastProperties",()=>{ah(this)})})}tokenize(e,n=this.defaultMode){if(!oe(this.lexerDefinitionErrors)){const i=M(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
+
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,m,g,A,w,$,N;const O=e,b=O.length;let D=0,X=0;const ne=this.hasCustom?0:Math.floor(e.length/10),re=new Array(ne),ye=[];let Ae=this.trackStartLines?1:void 0,Se=this.trackStartLines?1:void 0;const k=py(this.emptyGroups),R=this.trackStartLines,p=this.config.lineTerminatorsPattern;let S=0,y=[],T=[];const E=[],P=[];Object.freeze(P);let x;function L(){return y}function j(te){const $e=Rn(te),Me=T[$e];return Me===void 0?P:Me}const q=te=>{if(E.length===1&&te.tokenType.PUSH_MODE===void 0){const $e=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(te);ye.push({offset:te.startOffset,line:te.startLine,column:te.startColumn,length:te.image.length,message:$e})}else{E.pop();const $e=zn(E);y=this.patternIdxToConfig[$e],T=this.charCodeToPatternIdxToConfig[$e],S=y.length;const Me=this.canModeBeOptimized[$e]&&this.config.safeMode===!1;T&&Me?x=j:x=L}};function se(te){E.push(te),T=this.charCodeToPatternIdxToConfig[te],y=this.patternIdxToConfig[te],S=y.length,S=y.length;const $e=this.canModeBeOptimized[te]&&this.config.safeMode===!1;T&&$e?x=j:x=L}se.call(this,n);let V;const Ie=this.config.recoveryEnabled;for(;D<b;){c=null;const te=O.charCodeAt(D),$e=x(te),Me=$e.length;for(r=0;r<Me;r++){V=$e[r];const fe=V.pattern;l=null;const Fe=V.short;if(Fe!==!1?te===Fe&&(c=fe):V.isCustom===!0?(N=fe.exec(O,D,re,k),N!==null?(c=N[0],N.payload!==void 0&&(l=N.payload)):c=null):(this.updateLastIndex(fe,D),c=this.match(fe,e,D)),c!==null){if(o=V.longerAlt,o!==void 0){const Ce=o.length;for(s=0;s<Ce;s++){const K=y[o[s]],Oe=K.pattern;if(u=null,K.isCustom===!0?(N=Oe.exec(O,D,re,k),N!==null?(a=N[0],N.payload!==void 0&&(u=N.payload)):a=null):(this.updateLastIndex(Oe,D),a=this.match(Oe,e,D)),a&&a.length>c.length){c=a,l=u,V=K;break}}}break}}if(c!==null){if(f=c.length,m=V.group,m!==void 0&&(g=V.tokenTypeIdx,A=this.createTokenInstance(c,D,g,V.tokenType,Ae,Se,f),this.handlePayload(A,l),m===!1?X=this.addToken(re,X,A):k[m].push(A)),e=this.chopInput(e,f),D=D+f,Se=this.computeNewColumn(Se,f),R===!0&&V.canLineTerminator===!0){let fe=0,Fe,Ce;p.lastIndex=0;do Fe=p.test(c),Fe===!0&&(Ce=p.lastIndex-1,fe++);while(Fe===!0);fe!==0&&(Ae=Ae+fe,Se=f-Ce,this.updateTokenEndLineColumnLocation(A,m,Ce,fe,Ae,Se,f))}this.handleModes(V,q,se,A)}else{const fe=D,Fe=Ae,Ce=Se;let K=Ie===!1;for(;K===!1&&D<b;)for(e=this.chopInput(e,1),D++,i=0;i<S;i++){const Oe=y[i],ce=Oe.pattern,et=Oe.short;if(et!==!1?O.charCodeAt(D)===et&&(K=!0):Oe.isCustom===!0?K=ce.exec(O,D,re,k)!==null:(this.updateLastIndex(ce,D),K=ce.exec(e)!==null),K===!0)break}if(w=D-fe,Se=this.computeNewColumn(Se,w),$=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(O,fe,w,Fe,Ce,zn(E)),ye.push({offset:fe,line:Fe,column:Ce,length:w,message:$}),Ie===!1)break}}return this.hasCustom||(re.length=X),{tokens:re,groups:k,errors:ye}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,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)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}nt.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.";nt.NA=/NOT_APPLICABLE/;function Sr(t){return gh(t)?t.LABEL:t.name}function gh(t){return rt(t.LABEL)&&t.LABEL!==""}const wy="parent",yu="categories",Tu="label",Ru="group",vu="push_mode",Eu="pop_mode",Au="longer_alt",Su="line_breaks",Cu="start_chars_hint";function yh(t){return Ny(t)}function Ny(t){const e=t.pattern,n={};if(n.name=t.name,tn(e)||(n.PATTERN=e),z(t,wy))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return z(t,yu)&&(n.CATEGORIES=t[yu]),us([n]),z(t,Tu)&&(n.LABEL=t[Tu]),z(t,Ru)&&(n.GROUP=t[Ru]),z(t,Eu)&&(n.POP_MODE=t[Eu]),z(t,vu)&&(n.PUSH_MODE=t[vu]),z(t,Au)&&(n.LONGER_ALT=t[Au]),z(t,Su)&&(n.LINE_BREAKS=t[Su]),z(t,Cu)&&(n.START_CHARS_HINT=t[Cu]),n}const vn=yh({name:"EOF",pattern:nt.NA});us([vn]);function $l(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 Th(t,e){return ls(t,e)}const Er={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${gh(t)?`--> ${Sr(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
|
|
58
|
+
but found: '`+bt(e).image+"'";if(r)return s+r+o;{const c=Xe(t,(m,g)=>m.concat(g),[]),l=M(c,m=>`[${M(m,g=>Sr(g)).join(", ")}]`),f=`one of these possible Token sequences:
|
|
59
|
+
${M(l,(m,g)=>` ${g+1}. ${m}`).join(`
|
|
60
|
+
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+bt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${M(t,l=>`[${M(l,u=>Sr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(Er);const by={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},Un={buildDuplicateFoundError(t,e){function n(u){return u instanceof de?u.terminalType.name:u instanceof Je?u.nonTerminalName:""}const r=t.name,i=bt(e),s=i.idx,a=Ot(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
|
+
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
+
`;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
|
|
67
|
+
`),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
68
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=M(t.prefixPath,i=>Sr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
+
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
73
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(t){const e=M(t.prefixPath,i=>Sr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
+
For Further details.`,r},buildEmptyRepetitionError(t){let e=Ot(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
|
+
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
82
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=M(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
+
${r}
|
|
86
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ai?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function _y(t,e){const n=new Iy(t,e);return n.resolveRefs(),n.errors}class Iy extends oi{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){U(Le(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 $y extends ja{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=qe(this.path.ruleStack).reverse(),this.occurrenceStack=qe(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(){oe(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Py extends $y{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 it({definition:i});this.possibleTokTypes=cs(s),this.found=!0}}}class Ba extends ja{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 Ly extends Ba{walkMany(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof de&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class ku extends Ba{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof de&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class Oy extends Ba{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof de&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class wu extends Ba{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof de&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function Wo(t,e,n=[]){n=qe(n);let r=[],i=0;function s(o){return o.concat(Ge(t,i+1))}function a(o){const c=Wo(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof it)return a(o.definition);if(o instanceof Je)return a(o.definition);if(o instanceof Be)r=a(o.definition);else if(o instanceof ht){const c=o.definition.concat([new ve({definition:o.definition})]);return a(c)}else if(o instanceof pt){const c=[new it({definition:o.definition}),new ve({definition:[new de({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof st){const c=o.definition.concat([new ve({definition:[new de({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof ve){const c=o.definition.concat([new ve({definition:o.definition})]);r=a(c)}else{if(o instanceof at)return U(o.definition,c=>{oe(c.definition)===!1&&(r=a(c.definition))}),r;if(o instanceof de)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Ge(t,i)}),r}function Rh(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:[]});!oe(f);){const m=f.pop();if(m===a){o&&zn(f).idx<=l&&f.pop();continue}const g=m.def,A=m.idx,w=m.ruleStack,$=m.occurrenceStack;if(oe(g))continue;const N=g[0];if(N===i){const O={idx:A,def:Ge(g),ruleStack:Bi(w),occurrenceStack:Bi($)};f.push(O)}else if(N instanceof de)if(A<c-1){const O=A+1,b=e[O];if(n(b,N.terminalType)){const D={idx:O,def:Ge(g),ruleStack:w,occurrenceStack:$};f.push(D)}}else if(A===c-1)u.push({nextTokenType:N.terminalType,nextTokenOccurrence:N.idx,ruleStack:w,occurrenceStack:$}),o=!0;else throw Error("non exhaustive match");else if(N instanceof Je){const O=qe(w);O.push(N.nonTerminalName);const b=qe($);b.push(N.idx);const D={idx:A,def:N.definition.concat(s,Ge(g)),ruleStack:O,occurrenceStack:b};f.push(D)}else if(N instanceof Be){const O={idx:A,def:Ge(g),ruleStack:w,occurrenceStack:$};f.push(O),f.push(a);const b={idx:A,def:N.definition.concat(Ge(g)),ruleStack:w,occurrenceStack:$};f.push(b)}else if(N instanceof ht){const O=new ve({definition:N.definition,idx:N.idx}),b=N.definition.concat([O],Ge(g)),D={idx:A,def:b,ruleStack:w,occurrenceStack:$};f.push(D)}else if(N instanceof pt){const O=new de({terminalType:N.separator}),b=new ve({definition:[O].concat(N.definition),idx:N.idx}),D=N.definition.concat([b],Ge(g)),X={idx:A,def:D,ruleStack:w,occurrenceStack:$};f.push(X)}else if(N instanceof st){const O={idx:A,def:Ge(g),ruleStack:w,occurrenceStack:$};f.push(O),f.push(a);const b=new de({terminalType:N.separator}),D=new ve({definition:[b].concat(N.definition),idx:N.idx}),X=N.definition.concat([D],Ge(g)),ne={idx:A,def:X,ruleStack:w,occurrenceStack:$};f.push(ne)}else if(N instanceof ve){const O={idx:A,def:Ge(g),ruleStack:w,occurrenceStack:$};f.push(O),f.push(a);const b=new ve({definition:N.definition,idx:N.idx}),D=N.definition.concat([b],Ge(g)),X={idx:A,def:D,ruleStack:w,occurrenceStack:$};f.push(X)}else if(N instanceof at)for(let O=N.definition.length-1;O>=0;O--){const b=N.definition[O],D={idx:A,def:b.definition.concat(Ge(g)),ruleStack:w,occurrenceStack:$};f.push(D),f.push(a)}else if(N instanceof it)f.push({idx:A,def:N.definition.concat(Ge(g)),ruleStack:w,occurrenceStack:$});else if(N instanceof ai)f.push(xy(N,A,w,$));else throw Error("non exhaustive match")}return u}function xy(t,e,n,r){const i=qe(n);i.push(t.name);const s=qe(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var me;(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"})(me||(me={}));function Pl(t){if(t instanceof Be||t==="Option")return me.OPTION;if(t instanceof ve||t==="Repetition")return me.REPETITION;if(t instanceof ht||t==="RepetitionMandatory")return me.REPETITION_MANDATORY;if(t instanceof pt||t==="RepetitionMandatoryWithSeparator")return me.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof st||t==="RepetitionWithSeparator")return me.REPETITION_WITH_SEPARATOR;if(t instanceof at||t==="Alternation")return me.ALTERNATION;throw Error("non exhaustive match")}function Nu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Pl(r);return s===me.ALTERNATION?qa(e,n,i):Wa(e,n,s,i)}function Dy(t,e,n,r,i,s){const a=qa(t,e,n),o=Ah(a)?fa:ls;return s(a,r,o,i)}function My(t,e,n,r,i,s){const a=Wa(t,e,i,n),o=Ah(a)?fa:ls;return s(a[0],o,r)}function Fy(t,e,n,r){const i=t.length,s=wt(t,a=>wt(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 m=0;m<u;m++){const g=l[m],A=g.length;for(let w=0;w<A;w++){const $=this.LA(w+1);if(n($,g[w])===!1)continue e}return c}}};if(s&&!r){const a=M(t,c=>Tt(c)),o=Xe(a,(c,l,u)=>(U(l,f=>{z(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),U(f.categoryMatches,m=>{z(c,m)||(c[m]=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 m=0;m<f;m++){const g=this.LA(m+1);if(n(g,u[m])===!1)continue e}return a}}}}function Gy(t,e,n){const r=wt(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Tt(t);if(s.length===1&&oe(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,U(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 Uy extends ja{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,me.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,me.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class vh extends oi{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,me.OPTION)}visitRepetition(e){this.checkIsTarget(e,me.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,me.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,me.ALTERNATION)}}function bu(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function mo(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 jy(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 Eh(t,e){const n=M(t,a=>Wo([a],1)),r=bu(n.length),i=M(n,a=>{const o={};return U(a,c=>{const l=mo(c.partialPath);U(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=bu(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,m=l[u].suffixDef,g=mo(f);if(jy(i,g,c)||oe(m)||f.length===e){const w=r[c];if(Vo(w,f)===!1){w.push(f);for(let $=0;$<g.length;$++){const N=g[$];i[c][N]=!0}}}else{const w=Wo(m,a+1,f);s[c]=s[c].concat(w),U(w,$=>{const N=mo($.partialPath);U(N,O=>{i[c][O]=!0})})}}}}return r}function qa(t,e,n,r){const i=new vh(t,me.ALTERNATION,r);return e.accept(i),Eh(i.result,n)}function Wa(t,e,n,r){const i=new vh(t,n);e.accept(i);const s=i.result,o=new Uy(e,t,n).startWalking(),c=new it({definition:s}),l=new it({definition:o});return Eh([c,l],r)}function Vo(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 zy(t,e){return t.length<e.length&&wt(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Ah(t){return wt(t,e=>wt(e,n=>wt(n,r=>oe(r.categoryMatches))))}function By(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 qy(t,e,n,r){const i=ut(t,c=>Wy(c,n)),s=rT(t,e,n),a=ut(t,c=>Zy(c,n)),o=ut(t,c=>Hy(c,t,r,n));return i.concat(s,a,o)}function Wy(t,e){const n=new Ky;t.accept(n);const r=n.allProductions,i=Sm(r,Vy),s=_t(i,o=>o.length>1);return M(Le(s),o=>{const c=bt(o),l=e.buildDuplicateFoundError(t,o),u=Ot(c),f={message:l,type:Qe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},m=Sh(c);return m&&(f.parameter=m),f})}function Vy(t){return`${Ot(t)}_#_${t.idx}_#_${Sh(t)}`}function Sh(t){return t instanceof de?t.terminalType.name:t instanceof Je?t.nonTerminalName:""}class Ky extends oi{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 Hy(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 Yy(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 Ch(t,e,n,r=[]){const i=[],s=Zs(e.definition);if(oe(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=Oa(s,r.concat([t])),l=ut(c,u=>{const f=qe(r);return f.push(u),Ch(t,u,n,f)});return i.concat(l)}}function Zs(t){let e=[];if(oe(t))return e;const n=bt(t);if(n instanceof Je)e.push(n.referencedRule);else if(n instanceof it||n instanceof Be||n instanceof ht||n instanceof pt||n instanceof st||n instanceof ve)e=e.concat(Zs(n.definition));else if(n instanceof at)e=Tt(M(n.definition,s=>Zs(s.definition)));else if(!(n instanceof de))throw Error("non exhaustive match");const r=ua(n),i=t.length>1;if(r&&i){const s=Ge(t);return e.concat(Zs(s))}else return e}class Ll extends oi{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Xy(t,e){const n=new Ll;t.accept(n);const r=n.alternations;return ut(r,s=>{const a=Bi(s.definition);return ut(a,(o,c)=>{const l=Rh([o],[],ls,1);return oe(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 Jy(t,e,n){const r=new Ll;t.accept(r);let i=r.alternations;return i=xa(i,a=>a.ignoreAmbiguities===!0),ut(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=qa(o,t,c,a),u=tT(l,a,t,n),f=nT(l,a,t,n);return u.concat(f)})}class Qy extends oi{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 Zy(t,e){const n=new Ll;t.accept(n);const r=n.alternations;return ut(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 eT(t,e,n){const r=[];return U(t,i=>{const s=new Qy;i.accept(s);const a=s.allProductions;U(a,o=>{const c=Pl(o),l=o.maxLookahead||e,u=o.idx,m=Wa(u,i,c,l)[0];if(oe(Tt(m))){const g=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:g,type:Qe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function tT(t,e,n,r){const i=[],s=Xe(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||U(c,u=>{const f=[l];U(t,(m,g)=>{l!==g&&Vo(m,u)&&e.definition[g].ignoreAmbiguities!==!0&&f.push(g)}),f.length>1&&!Vo(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 nT(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 is(ut(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=ft(i,m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx<c&&zy(m.path,l));return M(u,m=>{const g=[m.idx+1,c+1],A=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:g,prefixPath:m.path}),type:Qe.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:A,alternatives:g}})}))}function rT(t,e,n){const r=[],i=M(e,s=>s.name);return U(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 iT(t){const e=Al(t,{errMsgProvider:by}),n={};return U(t.rules,r=>{n[r.name]=r}),_y(n,e.errMsgProvider)}function sT(t){return t=Al(t,{errMsgProvider:Un}),qy(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const kh="MismatchedTokenException",wh="NoViableAltException",Nh="EarlyExitException",bh="NotAllInputParsedException",_h=[kh,wh,Nh,bh];Object.freeze(_h);function ha(t){return Ze(_h,t.name)}class Va 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 Ih extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=kh}}class aT extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=wh}}class oT extends Va{constructor(e,n){super(e,n),this.name=bh}}class cT extends Va{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Nh}}const go={},$h="InRuleRecoveryException";class lT extends Error{constructor(e){super(e),this.name=$h}}class uT{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=z(e,"recoveryEnabled")?e.recoveryEnabled:rn.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=dT)}getTokenToInsert(e){const n=$l(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 m=this.LA(0),g=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:m,ruleName:this.getCurrRuleFullName()}),A=new Ih(g,l,this.LA(0));A.resyncedTokens=Bi(o),this.SAVE_ERROR(A)};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 lT("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||oe(n))return!1;const r=this.LA(1);return zr(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=zr(e,s=>Th(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return go;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?go:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=M(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Tt(e)}getFollowSetFromFollowKey(e){if(e===go)return[vn];const n=e.ruleName+e.idxInCallingRule+oh+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,vn)||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 Bi(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=qe(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return M(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function dT(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const m=this.getCurrRuleFullName(),g=this.getGAstProductions()[m];c=new s(g,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=vn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const fT=4,Sn=8,Ph=1<<Sn,Lh=2<<Sn,Ko=3<<Sn,Ho=4<<Sn,Yo=5<<Sn,ea=6<<Sn;function yo(t,e,n){return n|e|t}class Ol{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(oe(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 ut(e,n=>Ch(n,n,Un))}validateEmptyOrAlternatives(e){return ut(e,n=>Xy(n,Un))}validateAmbiguousAlternationAlternatives(e,n){return ut(e,r=>Jy(r,n,Un))}validateSomeNonEmptyLookaheadPath(e,n){return eT(e,n,Un)}buildLookaheadForAlternation(e){return Dy(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Fy)}buildLookaheadForOptional(e){return My(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Pl(e.prodType),Gy)}}class hT{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 Ol({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){U(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=mT(n);U(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${Ot(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=yo(this.fullRuleNameToShort[n.name],Ph,l.idx);this.setLaFuncCache(m,f)})}),U(i,l=>{this.computeLookaheadFunc(n,l.idx,Ko,"Repetition",l.maxLookahead,Ot(l))}),U(s,l=>{this.computeLookaheadFunc(n,l.idx,Lh,"Option",l.maxLookahead,Ot(l))}),U(a,l=>{this.computeLookaheadFunc(n,l.idx,Ho,"RepetitionMandatory",l.maxLookahead,Ot(l))}),U(o,l=>{this.computeLookaheadFunc(n,l.idx,ea,"RepetitionMandatoryWithSeparator",l.maxLookahead,Ot(l))}),U(c,l=>{this.computeLookaheadFunc(n,l.idx,Yo,"RepetitionWithSeparator",l.maxLookahead,Ot(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=yo(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return yo(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class pT extends oi{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 Ms=new pT;function mT(t){Ms.reset(),t.accept(Ms);const e=Ms.dslMethods;return Ms.reset(),e}function _u(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Iu(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 gT(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function yT(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const TT="name";function Oh(t,e){Object.defineProperty(t,TT,{enumerable:!1,configurable:!0,writable:!1,value:e})}function RT(t,e){const n=jr(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 vT(t,e){const n=function(){};Oh(n,t+"BaseSemantics");const r={visit:function(i,s){if(ze(i)&&(i=i[0]),!tn(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=AT(this,e);if(!oe(i)){const s=M(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
+
${s.join(`
|
|
89
|
+
|
|
90
|
+
`).replace(/\n/g,`
|
|
91
|
+
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function ET(t,e,n){const r=function(){};Oh(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return U(e,s=>{i[s]=RT}),r.prototype=i,r.prototype.constructor=r,r}var Xo;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Xo||(Xo={}));function AT(t,e){return ST(t,e)}function ST(t,e){const n=ft(e,i=>Yn(t[i])===!1),r=M(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Xo.MISSING_METHOD,methodName:i}));return is(r)}class CT{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=z(e,"nodeLocationTracking")?e.nodeLocationTracking:rn.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=xe,this.cstFinallyStateUpdate=xe,this.cstPostTerminal=xe,this.cstPostNonTerminal=xe,this.cstPostRule=xe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Iu,this.setNodeLocationFromNode=Iu,this.cstPostRule=xe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=_u,this.setNodeLocationFromNode=_u,this.cstPostRule=xe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=xe,this.setInitialNodeLocation=xe;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];gT(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];yT(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(tn(this.baseCstVisitorConstructor)){const e=vT(this.className,jr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(tn(this.baseCstVisitorWithDefaultsConstructor)){const e=ET(this.className,jr(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 kT{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)):ma}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ma: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 wT{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=ga){if(Ze(this.definedRulesNames,e)){const a={message:Un.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=ga){const i=Yy(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(ha(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Og(Le(this.gastProductionsCache))}}class NT{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fa,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.
|
|
92
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
|
+
For Further details.`);if(ze(e)){if(oe(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
|
+
Note that the first argument for the parser constructor
|
|
95
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
+
For Further details.`)}if(ze(e))this.tokensMap=Xe(e,(s,a)=>(s[a.name]=a,s),{});else if(z(e,"modes")&&wt(Tt(Le(e.modes)),ky)){const s=Tt(Le(e.modes)),a=Sl(s);this.tokensMap=Xe(a,(o,c)=>(o[c.name]=c,o),{})}else if(tm(e))this.tokensMap=qe(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=vn;const r=z(e,"modes")?Tt(Le(e.modes)):Le(e),i=wt(r,s=>oe(s.categoryMatches));this.tokenMatcher=i?fa:ls,us(Le(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=z(r,"resyncEnabled")?r.resyncEnabled:ga.resyncEnabled,s=z(r,"recoveryValueFunc")?r.recoveryValueFunc:ga.recoveryValueFunc,a=this.ruleShortNameIdx<<fT+Sn;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(ha(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(Lh,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(Ho,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,me.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,Ho,e,Oy)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(ea,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,wu],o,ea,e,wu)}else throw this.raiseEarlyExitException(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ko,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,Ko,e,Ly,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Yo,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,ku],o,Yo,e,ku)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,ea,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ph,n),i=ze(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 oT(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 ha(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 Ih(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===$h?r:s}}else throw r}saveRecogState(){const e=this.errors,n=qe(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),vn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class bT{initErrorHandler(e){this._errors=[],this.errorMessageProvider=z(e,"errorMessageProvider")?e.errorMessageProvider:rn.errorMessageProvider}SAVE_ERROR(e){if(ha(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:qe(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return qe(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Wa(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 cT(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=qa(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 aT(c,this.LA(1),o))}}class _T{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(tn(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Rh([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=bt(e.ruleStack),i=this.getGAstProductions()[n];return new Py(i,e).startWalking()}}const Ka={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Ka);const $u=!0,Pu=Math.pow(2,Sn)-1,xh=yh({name:"RECORDING_PHASE_TOKEN",pattern:nt.NA});us([xh]);const Dh=$l(xh,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Dh);const IT={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class $T{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 ma}topLevelRuleRecord(e,n){try{const r=new ai({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
101
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return ki.call(this,Be,e,n)}atLeastOneInternalRecord(e,n){ki.call(this,ht,n,e)}atLeastOneSepFirstInternalRecord(e,n){ki.call(this,pt,n,e,$u)}manyInternalRecord(e,n){ki.call(this,ve,n,e)}manySepFirstInternalRecord(e,n){ki.call(this,st,n,e,$u)}orInternalRecord(e,n){return PT.call(this,e,n)}subruleInternalRecord(e,n,r){if(pa(n),!e||z(e,"ruleName")===!1){const o=new Error(`<SUBRULE${Lu(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
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?IT:Ka}consumeInternalRecord(e,n,r){if(pa(n),!mh(e)){const a=new Error(`<CONSUME${Lu(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=zn(this.recordingProdStack),s=new de({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Dh}}function ki(t,e,n,r=!1){pa(n);const i=zn(this.recordingProdStack),s=Yn(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(),Ka}function PT(t,e){pa(e);const n=zn(this.recordingProdStack),r=ze(t)===!1,i=r===!1?t:t.DEF,s=new at({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});z(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=Mf(i,o=>Yn(o.GATE));return s.hasPredicates=a,n.definition.push(s),U(i,o=>{const c=new it({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()}),Ka}function Lu(t){return t===0?"":`${t}`}function pa(t){if(t<0||t>Pu){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${Pu+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class LT{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}=sh(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 OT(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 ma=$l(vn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ma);const rn=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Er,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ga=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 ds{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",()=>{ah(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),U(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=iT({rules:Le(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(oe(r)&&this.skipValidations===!1){const i=sT({rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),errMsgProvider:Un,grammarName:n}),s=By({lookaheadStrategy:this.lookaheadStrategy,rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),oe(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=jg(Le(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:Le(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Le(this.gastProductionsCache))})),!ds.DEFER_DEFINITION_ERRORS_HANDLING&&!oe(this.definitionErrors))throw e=M(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
+
${e.join(`
|
|
107
|
+
-------------------------------
|
|
108
|
+
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),z(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
+
For further details.`);this.skipValidations=z(n,"skipValidations")?n.skipValidations:rn.skipValidations}}ds.DEFER_DEFINITION_ERRORS_HANDLING=!1;OT(ds,[uT,hT,CT,kT,NT,wT,bT,_T,$T,LT]);class xT extends ds{constructor(e,n=rn){const r=qe(n);r.outputCst=!1,super(e,r)}}function Br(t,e,n){return`${t.name}_${e}_${n}`}const En=1,DT=2,Mh=4,Fh=5,fs=7,MT=8,FT=9,GT=10,UT=11,Gh=12;class xl{constructor(e){this.target=e}isEpsilon(){return!1}}class Dl extends xl{constructor(e,n){super(e),this.tokenType=n}}class Uh extends xl{constructor(e){super(e)}isEpsilon(){return!0}}class Ml extends xl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function jT(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};zT(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Xn(e,i,i);s!==void 0&&ZT(e,i,s)}return e}function zT(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=De(t,i,void 0,{type:DT}),a=De(t,i,void 0,{type:fs});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function jh(t,e,n){return n instanceof de?Fl(t,e,n.terminalType,n):n instanceof Je?QT(t,e,n):n instanceof at?KT(t,e,n):n instanceof Be?HT(t,e,n):n instanceof ve?BT(t,e,n):n instanceof st?qT(t,e,n):n instanceof ht?WT(t,e,n):n instanceof pt?VT(t,e,n):Xn(t,e,n)}function BT(t,e,n){const r=De(t,e,n,{type:Fh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return Bh(t,e,n,i)}function qT(t,e,n){const r=De(t,e,n,{type:Fh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n)),s=Fl(t,e,n.separator,n);return Bh(t,e,n,i,s)}function WT(t,e,n){const r=De(t,e,n,{type:Mh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return zh(t,e,n,i)}function VT(t,e,n){const r=De(t,e,n,{type:Mh});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n)),s=Fl(t,e,n.separator,n);return zh(t,e,n,i,s)}function KT(t,e,n){const r=De(t,e,n,{type:En});Cn(t,r);const i=M(n.definition,a=>jh(t,e,a));return ci(t,e,r,n,...i)}function HT(t,e,n){const r=De(t,e,n,{type:En});Cn(t,r);const i=ci(t,e,r,n,Xn(t,e,n));return YT(t,e,n,i)}function Xn(t,e,n){const r=ft(M(n.definition,i=>jh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:JT(t,r)}function zh(t,e,n,r,i){const s=r.left,a=r.right,o=De(t,e,n,{type:UT});Cn(t,o);const c=De(t,e,n,{type:Gh});return s.loopback=o,c.loopback=o,t.decisionMap[Br(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,be(a,o),i===void 0?(be(o,s),be(o,c)):(be(o,c),be(o,i.left),be(i.right,s)),{left:s,right:c}}function Bh(t,e,n,r,i){const s=r.left,a=r.right,o=De(t,e,n,{type:GT});Cn(t,o);const c=De(t,e,n,{type:Gh}),l=De(t,e,n,{type:FT});return o.loopback=l,c.loopback=l,be(o,s),be(o,c),be(a,l),i!==void 0?(be(l,c),be(l,i.left),be(i.right,s)):be(l,o),t.decisionMap[Br(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function YT(t,e,n,r){const i=r.left,s=r.right;return be(i,s),t.decisionMap[Br(e,"Option",n.idx)]=i,r}function Cn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function ci(t,e,n,r,...i){const s=De(t,e,r,{type:MT,start:n});n.end=s;for(const o of i)o!==void 0?(be(n,o.left),be(o.right,s)):be(n,s);const a={left:n,right:s};return t.decisionMap[Br(e,XT(r),r.idx)]=n,a}function XT(t){if(t instanceof at)return"Alternation";if(t instanceof Be)return"Option";if(t instanceof ve)return"Repetition";if(t instanceof st)return"RepetitionWithSeparator";if(t instanceof ht)return"RepetitionMandatory";if(t instanceof pt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function JT(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 Ml,l=o,u=e[s+1].left;a.left.type===En&&a.right.type===En&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,eR(t,a.right)):be(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function Fl(t,e,n,r){const i=De(t,e,r,{type:En}),s=De(t,e,r,{type:En});return Gl(i,new Dl(s,n)),{left:i,right:s}}function QT(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=De(t,e,n,{type:En}),a=De(t,e,n,{type:En}),o=new Ml(i,r,a);return Gl(s,o),{left:s,right:a}}function ZT(t,e,n){const r=t.ruleToStartState.get(e);be(r,n.left);const i=t.ruleToStopState.get(e);return be(n.right,i),{left:r,right:i}}function be(t,e){const n=new Uh(e);Gl(t,n)}function De(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 Gl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function eR(t,e){t.states.splice(t.states.indexOf(e),1)}const ya={};class Jo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=qh(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 qh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function tR(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 Wh{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 xu=new Wh;class nR extends Ol{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=jT(e.rules),this.dfas=rR(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=Br(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=M(Nu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),m=>M(m,g=>g[0]));if(Du(f,!1)&&!s){const m=Xe(f,(g,A,w)=>(U(A,$=>{$&&(g[$.tokenTypeIdx]=w,U($.categoryMatches,N=>{g[N]=w}))}),g),{});return i?function(g){var A;const w=this.LA(1),$=m[w.tokenTypeIdx];if(g!==void 0&&$!==void 0){const N=(A=g[$])===null||A===void 0?void 0:A.GATE;if(N!==void 0&&N.call(this)===!1)return}return $}:function(){const g=this.LA(1);return m[g.tokenTypeIdx]}}else return i?function(m){const g=new Wh,A=m===void 0?0:m.length;for(let $=0;$<A;$++){const N=m==null?void 0:m[$].GATE;g.set($,N===void 0||N.call(this))}const w=To.call(this,a,u,g,o);return typeof w=="number"?w:void 0}:function(){const m=To.call(this,a,u,xu,o);return typeof m=="number"?m:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Br(r,i,n),u=this.atn.decisionMap[c].decision,f=M(Nu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),m=>M(m,g=>g[0]));if(Du(f)&&f[0][0]&&!s){const m=f[0],g=Tt(m);if(g.length===1&&oe(g[0].categoryMatches)){const w=g[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===w}}else{const A=Xe(g,(w,$)=>($!==void 0&&(w[$.tokenTypeIdx]=!0,U($.categoryMatches,N=>{w[N]=!0})),w),{});return function(){const w=this.LA(1);return A[w.tokenTypeIdx]===!0}}}return function(){const m=To.call(this,a,u,xu,o);return typeof m=="object"?!1:m===0}}}function Du(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 rR(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=tR(t.decisionStates[r],r);return n}function To(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=pR(i.atnStartState);s=Kh(i,Vh(o)),i.start=s}return iR.apply(this,[i,s,n,r])}function iR(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=uR(i,o);if(c===void 0&&(c=sR.apply(this,[t,i,o,s,n,r])),c===ya)return lR(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function sR(t,e,n,r,i,s){const a=dR(e.configs,n,i);if(a.size===0)return Mu(t,e,n,ya),ya;let o=Vh(a);const c=hR(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(TR(a)){const l=dm(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,aR.apply(this,[t,r,a.alts,s])}return o=Mu(t,e,n,o),o}function aR(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=oR({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function oR(t){const e=M(t.prefixPath,i=>Sr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${cR(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
112
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,r}function cR(t){if(t instanceof Je)return"SUBRULE";if(t instanceof Be)return"OPTION";if(t instanceof at)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof st)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof de)return"CONSUME";throw Error("non exhaustive match")}function lR(t,e,n){const r=ut(e.configs.elements,s=>s.state.transitions),i=$m(r.filter(s=>s instanceof Dl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function uR(t,e){return t.edges[e.tokenTypeIdx]}function dR(t,e,n){const r=new Jo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===fs){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=fR(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 Jo;for(const a of r.elements)Ta(a,s)}if(i.length>0&&!gR(s))for(const a of i)s.add(a);return s}function fR(t,e){if(t instanceof Dl&&Th(e,t.tokenType))return t.target}function hR(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 Vh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Mu(t,e,n,r){return r=Kh(t,r),e.edges[n.tokenTypeIdx]=r,r}function Kh(t,e){if(e===ya)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 pR(t){const e=new Jo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Ta(s,e)}return e}function Ta(t,e){const n=t.state;if(n.type===fs){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Ta(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=mR(t,s);a!==void 0&&Ta(a,e)}}function mR(t,e){if(e instanceof Uh)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Ml){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function gR(t){for(const e of t.elements)if(e.state.type===fs)return!0;return!1}function yR(t){for(const e of t.elements)if(e.state.type!==fs)return!1;return!0}function TR(t){if(yR(t))return!0;const e=RR(t.elements);return vR(e)&&!ER(e)}function RR(t){const e=new Map;for(const n of t){const r=qh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function vR(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function ER(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Qo;(function(t){function e(n){return typeof n=="string"}t.is=e})(Qo||(Qo={}));var Ra;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ra||(Ra={}));var Zo;(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})(Zo||(Zo={}));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 ee;(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})(ee||(ee={}));var J;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:ee.create(r,i),end:ee.create(s,a)};if(ee.is(r)&&ee.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)&&ee.is(i.start)&&ee.is(i.end)}t.is=n})(J||(J={}));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)&&J.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Ki||(Ki={}));var ec;(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)&&J.is(i.targetRange)&&v.string(i.targetUri)&&J.is(i.targetSelectionRange)&&(J.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(ec||(ec={}));var va;(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})(va||(va={}));var tc;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&J.is(i.range)&&va.is(i.color)}t.is=n})(tc||(tc={}));var nc;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||Mt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,Mt.is))}t.is=n})(nc||(nc={}));var rc;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(rc||(rc={}));var ic;(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})(ic||(ic={}));var Ea;(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})(Ea||(Ea={}));var sc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(sc||(sc={}));var ac;(function(t){t.Unnecessary=1,t.Deprecated=2})(ac||(ac={}));var oc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(oc||(oc={}));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)&&J.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,Ea.is))}t.is=n})(Hi||(Hi={}));var Kn;(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})(Kn||(Kn={}));var Mt;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return v.objectLiteral(a)&&v.string(a.newText)&&J.is(a.range)}t.is=i})(Mt||(Mt={}));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 je;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(je||(je={}));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 Mt.is(a)&&(jn.is(a.annotationId)||je.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 qr;(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||je.is(i.annotationId))}t.is=n})(qr||(qr={}));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||je.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||je.is(i.annotationId))}t.is=n})(Vr||(Vr={}));var Aa;(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)?qr.is(i)||Wr.is(i)||Vr.is(i):Yi.is(i)))}t.is=e})(Aa||(Aa={}));class Fs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=Mt.insert(e,n):je.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=Mt.replace(e,n):je.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=Mt.del(e):je.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 Fu{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(je.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 AR{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Fu(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(Yi.is(n)){const r=new Fs(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new Fs(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 Fs(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 Fs(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Fu,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)||je.is(n)?i=n:r=n;let s,a;if(i===void 0?s=qr.create(e,r):(a=je.is(i)?i:this._changeAnnotations.manage(i),s=qr.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)||je.is(r)?s=r:i=r;let a,o;if(s===void 0?a=Wr.create(e,n,i):(o=je.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)||je.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Vr.create(e,r):(a=je.is(i)?i:this._changeAnnotations.manage(i),s=Vr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var cc;(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})(cc||(cc={}));var lc;(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})(lc||(lc={}));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 uc;(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})(uc||(uc={}));var Sa;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Sa||(Sa={}));var Kr;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&Sa.is(r.kind)&&v.string(r.value)}t.is=e})(Kr||(Kr={}));var dc;(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})(dc||(dc={}));var fc;(function(t){t.PlainText=1,t.Snippet=2})(fc||(fc={}));var hc;(function(t){t.Deprecated=1})(hc||(hc={}));var pc;(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)&&J.is(i.insert)&&J.is(i.replace)}t.is=n})(pc||(pc={}));var mc;(function(t){t.asIs=1,t.adjustIndentation=2})(mc||(mc={}));var gc;(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})(gc||(gc={}));var yc;(function(t){function e(n){return{label:n}}t.create=e})(yc||(yc={}));var Tc;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Tc||(Tc={}));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 Rc;(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||J.is(n.range))}t.is=e})(Rc||(Rc={}));var vc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(vc||(vc={}));var Ec;(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})(Ec||(Ec={}));var Ac;(function(t){t.Text=1,t.Read=2,t.Write=3})(Ac||(Ac={}));var Sc;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(Sc||(Sc={}));var Cc;(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})(Cc||(Cc={}));var kc;(function(t){t.Deprecated=1})(kc||(kc={}));var wc;(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})(wc||(wc={}));var Nc;(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})(Nc||(Nc={}));var bc;(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)&&J.is(i.range)&&J.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})(bc||(bc={}));var _c;(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"})(_c||(_c={}));var Qi;(function(t){t.Invoked=1,t.Automatic=2})(Qi||(Qi={}));var Ic;(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})(Ic||(Ic={}));var $c;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Kn.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||Kn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||Aa.is(i.edit))}t.is=n})($c||($c={}));var Pc;(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)&&J.is(i.range)&&(v.undefined(i.command)||Kn.is(i.command))}t.is=n})(Pc||(Pc={}));var Lc;(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})(Lc||(Lc={}));var Oc;(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)&&J.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(Oc||(Oc={}));var xc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(xc||(xc={}));var Dc;(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"})(Dc||(Dc={}));var Mc;(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"})(Mc||(Mc={}));var Fc;(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})(Fc||(Fc={}));var Gc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&v.string(i.text)}t.is=n})(Gc||(Gc={}));var Uc;(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&&J.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(Uc||(Uc={}));var jc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(jc||(jc={}));var zc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&J.is(r.stoppedLocation)}t.is=n})(zc||(zc={}));var Ca;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(Ca||(Ca={}));var ka;(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||Kn.is(i.command))}t.is=n})(ka||(ka={}));var Bc;(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)&&ee.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ka.is))&&(i.kind===void 0||Ca.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,Mt.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})(Bc||(Bc={}));var qc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(qc||(qc={}));var Wc;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(Wc||(Wc={}));var Vc;(function(t){function e(n){return{items:n}}t.create=e})(Vc||(Vc={}));var Kc;(function(t){t.Invoked=0,t.Automatic=1})(Kc||(Kc={}));var Hc;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(Hc||(Hc={}));var Yc;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Yc||(Yc={}));var Xc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&Ra.is(r.uri)&&v.string(r.name)}t.is=e})(Xc||(Xc={}));const SR=[`
|
|
115
|
+
`,`\r
|
|
116
|
+
`,"\r"];var Jc;(function(t){function e(s,a,o,c){return new CR(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],m=s.offsetAt(f.range.start),g=s.offsetAt(f.range.end);if(g<=l)o=o.substring(0,m)+f.newText+o.substring(g,o.length);else throw new Error("Overlapping edit");l=m}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,m=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[m++]=c[u++]:s[m++]=l[f++];for(;u<c.length;)s[m++]=c[u++];for(;f<l.length;)s[m++]=l[f++];return s}})(Jc||(Jc={}));let CR=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===`
|
|
117
|
+
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
118
|
+
`&&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 ee.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 ee.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(g){return typeof g<"u"}t.defined=n;function r(g){return typeof g>"u"}t.undefined=r;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,A,w){return e.call(g)==="[object Number]"&&A<=g&&g<=w}t.numberRange=o;function c(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=c;function l(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=l;function u(g){return e.call(g)==="[object Function]"}t.func=u;function f(g){return g!==null&&typeof g=="object"}t.objectLiteral=f;function m(g,A){return Array.isArray(g)&&g.every(A)}t.typedArray=m})(v||(v={}));const kR=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Jt},get ChangeAnnotation(){return jn},get ChangeAnnotationIdentifier(){return je},get CodeAction(){return $c},get CodeActionContext(){return Ic},get CodeActionKind(){return _c},get CodeActionTriggerKind(){return Qi},get CodeDescription(){return oc},get CodeLens(){return Pc},get Color(){return va},get ColorInformation(){return tc},get ColorPresentation(){return nc},get Command(){return Kn},get CompletionItem(){return yc},get CompletionItemKind(){return dc},get CompletionItemLabelDetails(){return gc},get CompletionItemTag(){return hc},get CompletionList(){return Tc},get CreateFile(){return qr},get DeleteFile(){return Vr},get Diagnostic(){return Hi},get DiagnosticRelatedInformation(){return Ea},get DiagnosticSeverity(){return sc},get DiagnosticTag(){return ac},get DocumentHighlight(){return Sc},get DocumentHighlightKind(){return Ac},get DocumentLink(){return Oc},get DocumentSymbol(){return bc},get DocumentUri(){return Qo},EOL:SR,get FoldingRange(){return ic},get FoldingRangeKind(){return rc},get FormattingOptions(){return Lc},get Hover(){return Rc},get InlayHint(){return Bc},get InlayHintKind(){return Ca},get InlayHintLabelPart(){return ka},get InlineCompletionContext(){return Yc},get InlineCompletionItem(){return Wc},get InlineCompletionList(){return Vc},get InlineCompletionTriggerKind(){return Kc},get InlineValueContext(){return zc},get InlineValueEvaluatableExpression(){return jc},get InlineValueText(){return Gc},get InlineValueVariableLookup(){return Uc},get InsertReplaceEdit(){return pc},get InsertTextFormat(){return fc},get InsertTextMode(){return mc},get Location(){return Ki},get LocationLink(){return ec},get MarkedString(){return Ji},get MarkupContent(){return Kr},get MarkupKind(){return Sa},get OptionalVersionedTextDocumentIdentifier(){return Xi},get ParameterInformation(){return vc},get Position(){return ee},get Range(){return J},get RenameFile(){return Wr},get SelectedCompletionInfo(){return Hc},get SelectionRange(){return xc},get SemanticTokenModifiers(){return Mc},get SemanticTokenTypes(){return Dc},get SemanticTokens(){return Fc},get SignatureInformation(){return Ec},get StringValue(){return qc},get SymbolInformation(){return wc},get SymbolKind(){return Cc},get SymbolTag(){return kc},get TextDocument(){return Jc},get TextDocumentEdit(){return Yi},get TextDocumentIdentifier(){return cc},get TextDocumentItem(){return uc},get TextEdit(){return Mt},get URI(){return Ra},get VersionedTextDocumentIdentifier(){return lc},WorkspaceChange:AR,get WorkspaceEdit(){return Aa},get WorkspaceFolder(){return Xc},get WorkspaceSymbol(){return Nc},get integer(){return Zo},get uinteger(){return Vi}},Symbol.toStringTag,{value:"Module"}));class wR{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Yh(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Ul;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Qc(e.startOffset,e.image.length,Uo(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 Qc(s.startOffset,s.image.length,Uo(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 Hh{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 Qc extends Hh{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 Ul extends Hh{constructor(){super(...arguments),this.content=new jl(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:ee.create(0,0),end:ee.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 jl extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,jl.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 Yh extends Ul{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Zc=Symbol("Datatype");function Ro(t){return t.$type===Zc}const Gu="",Xh=t=>t.endsWith(Gu)?t:t+Gu;class Jh{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 $R(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Zh(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 NR extends Jh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new wR,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;aa(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Xh(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),an(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 aa(e)?Wi(e):e.fragment?void 0:th(e)?Zc: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,Po(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===Zc?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=qn(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;qn(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):(Om(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 w=0;w<i.length;w++){const $=i[w],N=n.get($)??{precedence:1/0,rightAssoc:!1};N.precedence>a?(a=N.precedence,s=w):N.precedence===a&&(N.rightAssoc||(s=w))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},g=this.constructInfix(f,n),A=this.constructInfix(m,n);return{$type:e.$type,$cstNode:e.$cstNode,left:g,operator:i[s],right:A}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Da(e,Bn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&Fa(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 bR{buildMismatchTokenMessage(e){return Er.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Er.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Er.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Er.buildEarlyExitMessage(e)}}class Qh extends bR{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 _R extends Jh{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(Xh(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 IR={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Qh};class Zh extends xT{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...IR,lookaheadStrategy:r?new Ol({maxLookahead:n.maxLookahead}):new nR({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 $R extends Zh{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 ep(t,e,n){return PR({parser:e,tokens:n,ruleNames:new Map},t),e}function PR(t,e){const n=Xf(e,!1),r=pe(e.rules).filter(an).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,Hn(a,s.definition))}const i=pe(e.rules).filter(aa).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,LR(t,s))}function LR(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(on(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(g=>g.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(g=>t.tokens[g.value]).map((g,A)=>({ALT:()=>t.parser.consume(A,g,c)}));let m;return g=>{m??(m=zl(t,n)),t.parser.subrule(0,m,!1,s,g),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,m,!1,l,g)}})}}function Hn(t,e,n=!1){let r;if(qn(e))r=UR(t,e);else if(Ma(e))r=OR(t,e);else if(Bn(e))r=Hn(t,e.terminal);else if(Fa(e))r=tp(t,e);else if(Wn(e))r=xR(t,e);else if(Bf(e))r=MR(t,e);else if(Wf(e))r=FR(t,e);else if(wl(e))r=GR(t,e);else if(Um(e)){const i=t.consume++;r=()=>t.parser.consume(i,vn,e)}else throw new Kf(e.$cstNode,`Unexpected element type: ${e.$type}`);return np(t,n?void 0:wa(e),r,e.cardinality)}function OR(t,e){const n=Wi(e);return()=>t.parser.action(n,e)}function xR(t,e){const n=e.rule.ref;if(as(n)){const r=t.subrule++,i=an(n)&&n.fragment,s=e.arguments.length>0?DR(n,e.arguments):()=>({});let a;return o=>{a??(a=zl(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(on(n)){const r=t.consume++,i=el(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)os();else throw new Kf(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function DR(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:xt(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=>xt(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 xt(t){if(Gm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)||n(r)}else if(Fm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)&&n(r)}else if(Bm(t)){const e=xt(t.value);return n=>!e(n)}else if(qm(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Dm(t)){const e=!!t.true;return()=>e}os()}function MR(t,e){if(e.elements.length===1)return Hn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Hn(t,i,!0)},a=wa(i);a&&(s.GATE=xt(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 FR(t,e){if(e.elements.length===1)return Hn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Hn(t,o,!0)},l=wa(o);l&&(c.GATE=xt(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 g=i(r,f);f.unorderedGroups.get(g)||f.unorderedGroups.set(g,[]);const A=f.unorderedGroups.get(g);typeof(A==null?void 0:A[l])>"u"&&(A[l]=!0)}};const m=c.GATE;return m?u.GATE=()=>m(o):u.GATE=()=>{const g=f.unorderedGroups.get(i(r,f));return!(g!=null&&g[l])},u})),a=np(t,wa(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function GR(t,e){const n=e.elements.map(r=>Hn(t,r));return r=>n.forEach(i=>i(r))}function wa(t){if(wl(t))return t.guardCondition}function tp(t,e,n=e.terminal){if(n)if(Wn(n)&&an(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=zl(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(Wn(n)&&on(n.rule.ref)){const r=t.consume++,i=el(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(qn(n)){const r=t.consume++,i=el(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=Zf(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 tp(t,e,i)}}function UR(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 np(t,e,n,r){const i=e&&xt(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 os()}function zl(t,e){const n=jR(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function jR(t,e){if(as(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!an(r);)(wl(r)||Bf(r)||Wf(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 el(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function zR(t){const e=t.Grammar,n=t.parser.Lexer,r=new _R(t);return ep(e,r,n.definition),r.finalize(),r}function BR(t){const e=qR(t);return e.finalize(),e}function qR(t){const e=t.Grammar,n=t.parser.Lexer,r=new NR(t);return ep(e,r,n.definition)}class rp{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=pe(Xf(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(on).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=bl(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=Yf(n)?nt.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(as).flatMap(i=>ss(i).filter(qn)).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(Ua(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&&pg("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class ip{convert(e,n){let r=n.grammarSource;if(Fa(r)&&(r=Tg(r)),Wn(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=kg(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 m=l.charAt(f);if(m==="\\"){const g=l.charAt(++f);u+=n(g)}else u+=m}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
119
|
+
`;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 An={},cn={};Object.defineProperty(cn,"__esModule",{value:!0});let tl;function nl(){if(tl===void 0)throw new Error("No runtime abstraction layer installed");return tl}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");tl=n}t.install=e})(nl||(nl={}));cn.default=nl;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.stringArray=_e.array=_e.func=_e.error=_e.number=_e.string=_e.boolean=void 0;function WR(t){return t===!0||t===!1}_e.boolean=WR;function sp(t){return typeof t=="string"||t instanceof String}_e.string=sp;function VR(t){return typeof t=="number"||t instanceof Number}_e.number=VR;function KR(t){return t instanceof Error}_e.error=KR;function HR(t){return typeof t=="function"}_e.func=HR;function ap(t){return Array.isArray(t)}_e.array=ap;function YR(t){return ap(t)&&t.every(e=>sp(e))}_e.stringArray=YR;var Ft={};Object.defineProperty(Ft,"__esModule",{value:!0});var op=Ft.Emitter=Ft.Event=void 0;const XR=cn;var Uu;(function(t){const e={dispose(){}};t.None=function(){return e}})(Uu||(Ft.Event=Uu={}));class JR{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{n.push(r[s].apply(i[s],e))}catch(o){(0,XR.default)().console.error(o)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Ha{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new JR),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=Ha._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}op=Ft.Emitter=Ha;Ha._noop=function(){};var ge;Object.defineProperty(An,"__esModule",{value:!0});var Bl=An.CancellationTokenSource=ge=An.CancellationToken=void 0;const QR=cn,ZR=_e,rl=Ft;var Na;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:rl.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:rl.Event.None});function e(n){const r=n;return r&&(r===t.None||r===t.Cancelled||ZR.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(Na||(ge=An.CancellationToken=Na={}));const ev=Object.freeze(function(t,e){const n=(0,QR.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}});class ju{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?ev:(this._emitter||(this._emitter=new rl.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class tv{get token(){return this._token||(this._token=new ju),this._token}cancel(){this._token?this._token.cancel():this._token=Na.Cancelled}dispose(){this._token?this._token instanceof ju&&this._token.dispose():this._token=Na.None}}Bl=An.CancellationTokenSource=tv;function nv(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let ta=0,rv=10;function iv(){return ta=performance.now(),new Bl}const Ar=Symbol("OperationCancelled");function Ya(t){return t===Ar}async function Ye(t){if(t===ge.None)return;const e=performance.now();if(e-ta>=rv&&(ta=e,await nv(),ta=performance.now()),t.isCancellationRequested)throw Ar}class ql{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=lp(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=zu(r.text,!1,s);if(c-o===u.length)for(let m=0,g=u.length;m<g;m++)l[m+o+1]=u[m];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+u.length,g=l.length;m<g;m++)l[m]=l[m]+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=zu(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&&cp(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 il;(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=sl(s.map(sv),(u,f)=>{const m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(il||(il={}));function sl(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);sl(r,e),sl(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 zu(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);cp(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function cp(t){return t===13||t===10}function lp(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 sv(t){const e=lp(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var up;(()=>{var t={975:k=>{function R(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function p(y,T){for(var E,P="",x=0,L=-1,j=0,q=0;q<=y.length;++q){if(q<y.length)E=y.charCodeAt(q);else{if(E===47)break;E=47}if(E===47){if(!(L===q-1||j===1))if(L!==q-1&&j===2){if(P.length<2||x!==2||P.charCodeAt(P.length-1)!==46||P.charCodeAt(P.length-2)!==46){if(P.length>2){var se=P.lastIndexOf("/");if(se!==P.length-1){se===-1?(P="",x=0):x=(P=P.slice(0,se)).length-1-P.lastIndexOf("/"),L=q,j=0;continue}}else if(P.length===2||P.length===1){P="",x=0,L=q,j=0;continue}}T&&(P.length>0?P+="/..":P="..",x=2)}else P.length>0?P+="/"+y.slice(L+1,q):P=y.slice(L+1,q),x=q-L-1;L=q,j=0}else E===46&&j!==-1?++j:j=-1}return P}var S={resolve:function(){for(var y,T="",E=!1,P=arguments.length-1;P>=-1&&!E;P--){var x;P>=0?x=arguments[P]:(y===void 0&&(y=process.cwd()),x=y),R(x),x.length!==0&&(T=x+"/"+T,E=x.charCodeAt(0)===47)}return T=p(T,!E),E?T.length>0?"/"+T:"/":T.length>0?T:"."},normalize:function(y){if(R(y),y.length===0)return".";var T=y.charCodeAt(0)===47,E=y.charCodeAt(y.length-1)===47;return(y=p(y,!T)).length!==0||T||(y="."),y.length>0&&E&&(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 E=arguments[T];R(E),E.length>0&&(y===void 0?y=E:y+="/"+E)}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 E=1;E<y.length&&y.charCodeAt(E)===47;++E);for(var P=y.length,x=P-E,L=1;L<T.length&&T.charCodeAt(L)===47;++L);for(var j=T.length-L,q=x<j?x:j,se=-1,V=0;V<=q;++V){if(V===q){if(j>q){if(T.charCodeAt(L+V)===47)return T.slice(L+V+1);if(V===0)return T.slice(L+V)}else x>q&&(y.charCodeAt(E+V)===47?se=V:V===0&&(se=0));break}var Ie=y.charCodeAt(E+V);if(Ie!==T.charCodeAt(L+V))break;Ie===47&&(se=V)}var te="";for(V=E+se+1;V<=P;++V)V!==P&&y.charCodeAt(V)!==47||(te.length===0?te+="..":te+="/..");return te.length>0?te+T.slice(L+se):(L+=se,T.charCodeAt(L)===47&&++L,T.slice(L))},_makeLong:function(y){return y},dirname:function(y){if(R(y),y.length===0)return".";for(var T=y.charCodeAt(0),E=T===47,P=-1,x=!0,L=y.length-1;L>=1;--L)if((T=y.charCodeAt(L))===47){if(!x){P=L;break}}else x=!1;return P===-1?E?"/":".":E&&P===1?"//":y.slice(0,P)},basename:function(y,T){if(T!==void 0&&typeof T!="string")throw new TypeError('"ext" argument must be a string');R(y);var E,P=0,x=-1,L=!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,q=-1;for(E=y.length-1;E>=0;--E){var se=y.charCodeAt(E);if(se===47){if(!L){P=E+1;break}}else q===-1&&(L=!1,q=E+1),j>=0&&(se===T.charCodeAt(j)?--j==-1&&(x=E):(j=-1,x=q))}return P===x?x=q:x===-1&&(x=y.length),y.slice(P,x)}for(E=y.length-1;E>=0;--E)if(y.charCodeAt(E)===47){if(!L){P=E+1;break}}else x===-1&&(L=!1,x=E+1);return x===-1?"":y.slice(P,x)},extname:function(y){R(y);for(var T=-1,E=0,P=-1,x=!0,L=0,j=y.length-1;j>=0;--j){var q=y.charCodeAt(j);if(q!==47)P===-1&&(x=!1,P=j+1),q===46?T===-1?T=j:L!==1&&(L=1):T!==-1&&(L=-1);else if(!x){E=j+1;break}}return T===-1||P===-1||L===0||L===1&&T===P-1&&T===E+1?"":y.slice(T,P)},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,E){var P=E.dir||E.root,x=E.base||(E.name||"")+(E.ext||"");return P?P===E.root?P+x:P+"/"+x:x}(0,y)},parse:function(y){R(y);var T={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return T;var E,P=y.charCodeAt(0),x=P===47;x?(T.root="/",E=1):E=0;for(var L=-1,j=0,q=-1,se=!0,V=y.length-1,Ie=0;V>=E;--V)if((P=y.charCodeAt(V))!==47)q===-1&&(se=!1,q=V+1),P===46?L===-1?L=V:Ie!==1&&(Ie=1):L!==-1&&(Ie=-1);else if(!se){j=V+1;break}return L===-1||q===-1||Ie===0||Ie===1&&L===q-1&&L===j+1?q!==-1&&(T.base=T.name=j===0&&x?y.slice(1,q):y.slice(j,q)):(j===0&&x?(T.name=y.slice(1,L),T.base=y.slice(1,q)):(T.name=y.slice(j,L),T.base=y.slice(j,q)),T.ext=y.slice(L,q)),j>0?T.dir=y.slice(0,j-1):x&&(T.dir="/"),T},sep:"/",delimiter:":",win32:null,posix:null};S.posix=S,k.exports=S}},e={};function n(k){var R=e[k];if(R!==void 0)return R.exports;var p=e[k]={exports:{}};return t[k](p,p.exports,n),p.exports}n.d=(k,R)=>{for(var p in R)n.o(R,p)&&!n.o(k,p)&&Object.defineProperty(k,p,{enumerable:!0,get:R[p]})},n.o=(k,R)=>Object.prototype.hasOwnProperty.call(k,R),n.r=k=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(k,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>m,Utils:()=>Se}),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(k,R){if(!k.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${k.authority}", path: "${k.path}", query: "${k.query}", fragment: "${k.fragment}"}`);if(k.scheme&&!s.test(k.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(k.path){if(k.authority){if(!a.test(k.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(k.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{constructor(R,p,S,y,T,E=!1){dn(this,"scheme");dn(this,"authority");dn(this,"path");dn(this,"query");dn(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(P,x){return P||x?P:"file"}(R,E),this.authority=p||l,this.path=function(P,x){switch(P){case"https":case"http":case"file":x?x[0]!==u&&(x=u+x):x=u}return x}(this.scheme,S||l),this.query=y||l,this.fragment=T||l,c(this,E))}static isUri(R){return R instanceof m||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return O(this)}with(R){if(!R)return this;let{scheme:p,authority:S,path:y,query:T,fragment:E}=R;return p===void 0?p=this.scheme:p===null&&(p=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),E===void 0?E=this.fragment:E===null&&(E=l),p===this.scheme&&S===this.authority&&y===this.path&&T===this.query&&E===this.fragment?this:new A(p,S,y,T,E)}static parse(R,p=!1){const S=f.exec(R);return S?new A(S[2]||l,ne(S[4]||l),ne(S[5]||l),ne(S[7]||l),ne(S[9]||l),p):new A(l,l,l,l,l)}static file(R){let p=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const S=R.indexOf(u,2);S===-1?(p=R.substring(2),R=u):(p=R.substring(2,S),R=R.substring(S)||u)}return new A("file",p,R,l,l)}static from(R){const p=new A(R.scheme,R.authority,R.path,R.query,R.fragment);return c(p,!0),p}toString(R=!1){return b(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof m)return R;{const p=new A(R);return p._formatted=R.external,p._fsPath=R._sep===g?R.fsPath:null,p}}return R}}const g=i?1:void 0;class A extends m{constructor(){super(...arguments);dn(this,"_formatted",null);dn(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=O(this)),this._fsPath}toString(p=!1){return p?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const p={$mid:1};return this._fsPath&&(p.fsPath=this._fsPath,p._sep=g),this._formatted&&(p.external=this._formatted),this.path&&(p.path=this.path),this.scheme&&(p.scheme=this.scheme),this.authority&&(p.authority=this.authority),this.query&&(p.query=this.query),this.fragment&&(p.fragment=this.fragment),p}}const w={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 $(k,R,p){let S,y=-1;for(let T=0;T<k.length;T++){const E=k.charCodeAt(T);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||R&&E===47||p&&E===91||p&&E===93||p&&E===58)y!==-1&&(S+=encodeURIComponent(k.substring(y,T)),y=-1),S!==void 0&&(S+=k.charAt(T));else{S===void 0&&(S=k.substr(0,T));const P=w[E];P!==void 0?(y!==-1&&(S+=encodeURIComponent(k.substring(y,T)),y=-1),S+=P):y===-1&&(y=T)}}return y!==-1&&(S+=encodeURIComponent(k.substring(y))),S!==void 0?S:k}function N(k){let R;for(let p=0;p<k.length;p++){const S=k.charCodeAt(p);S===35||S===63?(R===void 0&&(R=k.substr(0,p)),R+=w[S]):R!==void 0&&(R+=k[p])}return R!==void 0?R:k}function O(k,R){let p;return p=k.authority&&k.path.length>1&&k.scheme==="file"?`//${k.authority}${k.path}`:k.path.charCodeAt(0)===47&&(k.path.charCodeAt(1)>=65&&k.path.charCodeAt(1)<=90||k.path.charCodeAt(1)>=97&&k.path.charCodeAt(1)<=122)&&k.path.charCodeAt(2)===58?k.path[1].toLowerCase()+k.path.substr(2):k.path,i&&(p=p.replace(/\//g,"\\")),p}function b(k,R){const p=R?N:$;let S="",{scheme:y,authority:T,path:E,query:P,fragment:x}=k;if(y&&(S+=y,S+=":"),(T||y==="file")&&(S+=u,S+=u),T){let L=T.indexOf("@");if(L!==-1){const j=T.substr(0,L);T=T.substr(L+1),L=j.lastIndexOf(":"),L===-1?S+=p(j,!1,!1):(S+=p(j.substr(0,L),!1,!1),S+=":",S+=p(j.substr(L+1),!1,!0)),S+="@"}T=T.toLowerCase(),L=T.lastIndexOf(":"),L===-1?S+=p(T,!1,!0):(S+=p(T.substr(0,L),!1,!0),S+=T.substr(L))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const L=E.charCodeAt(1);L>=65&&L<=90&&(E=`/${String.fromCharCode(L+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const L=E.charCodeAt(0);L>=65&&L<=90&&(E=`${String.fromCharCode(L+32)}:${E.substr(2)}`)}S+=p(E,!0,!1)}return P&&(S+="?",S+=p(P,!1,!1)),x&&(S+="#",S+=R?x:$(x,!1,!1)),S}function D(k){try{return decodeURIComponent(k)}catch{return k.length>3?k.substr(0,3)+D(k.substr(3)):k}}const X=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ne(k){return k.match(X)?k.replace(X,R=>D(R)):k}var re=n(975);const ye=re.posix||re,Ae="/";var Se;(function(k){k.joinPath=function(R,...p){return R.with({path:ye.join(R.path,...p)})},k.resolvePath=function(R,...p){let S=R.path,y=!1;S[0]!==Ae&&(S=Ae+S,y=!0);let T=ye.resolve(S,...p);return y&&T[0]===Ae&&!R.authority&&(T=T.substring(1)),R.with({path:T})},k.dirname=function(R){if(R.path.length===0||R.path===Ae)return R;let p=ye.dirname(R.path);return p.length===1&&p.charCodeAt(0)===46&&(p=""),R.with({path:p})},k.basename=function(R){return ye.basename(R.path)},k.extname=function(R){return ye.extname(R.path)}})(Se||(Se={})),up=r})();const{URI:Nt,Utils:wi}=up;var lt;(function(t){t.basename=wi.basename,t.dirname=wi.dirname,t.extname=wi.extname,t.joinPath=wi.joinPath,t.resolvePath=wi.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"?Nt.parse(a).path:a.path,l=typeof o=="string"?Nt.parse(o).path:o.path,u=c.split("/").filter(w=>w.length>0),f=l.split("/").filter(w=>w.length>0);if(e){const w=/^[A-Z]:$/;if(u[0]&&w.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&w.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let m=0;for(;m<u.length&&u[m]===f[m];m++);const g="../".repeat(u.length-m),A=f.slice(m).join("/");return g+A}t.relative=r;function i(a){return Nt.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})(lt||(lt={}));class av{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return lt.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:lt.joinPath(Nt.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:lt.joinPath(Nt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(lt.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 H;(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"})(H||(H={}));class ov{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=ge.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Nt.parse(e.uri),ge.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return ge.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:H.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:H.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=H.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=il.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class cv{constructor(e){this.documentTrie=new av,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return pe(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,H.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=H.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=H.Changed;return this.documentTrie.delete(n),r}}const ir=Symbol("RefResolving");class lv{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=ge.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),sa(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),sa(i).forEach(s=>this.doLink(s,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=ir;try{const i=this.getCandidate(e);if(vi(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=ir;try{const i=this.getCandidates(e),s=[];if(vi(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(Ve(this._ref))return this._ref;if(Pm(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=ir;const o=Bs(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<H.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===ir&&s.throwCyclicReferenceError(e,n,i);return Ve(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return vi(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=ir;const o=Bs(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(vi(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===ir&&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(vi(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=Bs(e.container).$document;r&&r.state<H.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 uv(t){return typeof t.name=="string"}class dv{getName(e){if(uv(e))return e.name}getNameNode(e){return Qf(e.$cstNode,"name")}}class fv{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=>Fa(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Sg(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Ct(i)||hn(i))return Zl(i);if(Array.isArray(i)){for(const s of i)if((Ct(s)||hn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Zl(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||eg(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 sa(r))if(hn(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=>lt.equals(s.sourceUri,n.documentUri))),r.push(...i),pe(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:oa(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 $o.sum(pe(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?pe(n):jf}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 pe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return pe(this.map.keys())}values(){return pe(this.map.values()).flat()}entriesGroupedByKey(){return pe(this.map.entries())}}class Bu{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 hv{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=ge.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=kl,i=ge.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=ge.None){const r=e.parseResult.value,i=new es;for(const s of ss(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 qu{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 pv{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?pe(r).concat(this.outerScope.getElements(e)):pe(r)}getAllElements(){let e=pe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class dp{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 mv extends dp{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 gv extends dp{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 yv extends mv{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 Tv{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 yv(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 qu(pe(e),n,r)}createScopeForNodes(e,n,r){const i=pe(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new qu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new pv(this.indexManager.allElements(e)))}}function Rv(t){return typeof t.$comment=="string"}function Wu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class vv{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(Ct(n)){const f=n.ref,m=r?n.$refText:void 0;if(f){const g=Qt(f);let A="";this.currentDocument&&this.currentDocument!==g&&(o?A=o(g.uri,f):A=g.uri.toString());const w=this.astNodeLocator.getAstNodePath(f);return{$ref:`${A}#${w}`,$refText:m}}else return{$error:((c=n.error)==null?void 0:c.message)??"Could not resolve reference",$refText:m}}else if(hn(n)){const f=r?n.$refText:void 0,m=[];for(const g of n.items){const A=g.ref,w=Qt(g.ref);let $="";this.currentDocument&&this.currentDocument!==w&&(o?$=o(w.uri,A):$=w.uri.toString());const N=this.astNodeLocator.getAstNodePath(A);m.push(`${$}#${N}`)}return{$refs:m,$refText:f}}else if(Ve(n)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&(f!=null&&f.$textRegion)&&(f.$textRegion.documentURI=(l=this.currentDocument)==null?void 0:l.uri.toString())),i&&!e&&(f??(f={...n}),f.$sourceText=(u=n.$cstNode)==null?void 0:u.text),a){f??(f={...n});const m=this.commentProvider.getComment(n);m&&(f.$comment=m.replace(/\r/g,""))}return f??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=vg(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];Wu(f)?l[u]=this.reviveReference(e,c,n,f,r):Ve(f)&&this.linkNode(f,n,r,e,c,u)}else Wu(l)?e[c]=this.reviveReference(e,c,n,l,r):Ve(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(Ve(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);Ve(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):Nt.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)):Nt.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 Ev{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=lt.extname(e),i=lt.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 al;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(al||(al={}));class Av{constructor(e){this.entries=new es,this.knownCategories=new Set(al.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 os()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Ya(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=pe(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 Sv=Object.freeze({validateNode:!0,validateChildren:!0});class Cv{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=ge.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)===St.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===St.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)==null?void 0:o.code)===St.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Ya(a))throw a;console.error("An error occurred during validation:",a)}return await 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:vo(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:wv(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=Uo(i.token);if(s){const a={severity:vo("error"),range:s,message:i.message,data:Gi(St.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:St.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=ge.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=ge.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=ge.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 Sv}async validateAstAfter(e,n,r,i=ge.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:kv(r),severity:vo(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 kv(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Qf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Eg(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 vo(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 wv(t){switch(t){case"error":return Gi(St.LexingError);case"warning":return Gi(St.LexingWarning);case"info":return Gi(St.LexingInfo);case"hint":return Gi(St.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var St;(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"})(St||(St={}));class Nv{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=oa(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:oa(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class bv{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=ge.None){const r=[],i=e.parseResult.value;for(const s of Zt(i))await Ye(n),sa(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=[];Ct(n)&&n.$nodeDescription?r=[n.$nodeDescription]:hn(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=oa(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:lt.equals(c.documentUri,i)});return a}}class _v{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)}}class Iv{constructor(e){this._ready=new ql,this.onConfigurationSectionUpdateEmitter=new op,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 Ui={},Jn={},Wl={},Eo={},G={},Vu;function fp(){if(Vu)return G;Vu=1,Object.defineProperty(G,"__esModule",{value:!0}),G.Message=G.NotificationType9=G.NotificationType8=G.NotificationType7=G.NotificationType6=G.NotificationType5=G.NotificationType4=G.NotificationType3=G.NotificationType2=G.NotificationType1=G.NotificationType0=G.NotificationType=G.RequestType9=G.RequestType8=G.RequestType7=G.RequestType6=G.RequestType5=G.RequestType4=G.RequestType3=G.RequestType2=G.RequestType1=G.RequestType=G.RequestType0=G.AbstractMessageSignature=G.ParameterStructures=G.ResponseError=G.ErrorCodes=void 0;const t=_e;var e;(function(R){R.ParseError=-32700,R.InvalidRequest=-32600,R.MethodNotFound=-32601,R.InvalidParams=-32602,R.InternalError=-32603,R.jsonrpcReservedErrorRangeStart=-32099,R.serverErrorStart=-32099,R.MessageWriteError=-32099,R.MessageReadError=-32098,R.PendingResponseRejected=-32097,R.ConnectionInactive=-32096,R.ServerNotInitialized=-32002,R.UnknownErrorCode=-32001,R.jsonrpcReservedErrorRangeEnd=-32e3,R.serverErrorEnd=-32e3})(e||(G.ErrorCodes=e={}));class n extends Error{constructor(p,S,y){super(S),this.code=t.number(p)?p:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const p={code:this.code,message:this.message};return this.data!==void 0&&(p.data=this.data),p}}G.ResponseError=n;class r{constructor(p){this.kind=p}static is(p){return p===r.auto||p===r.byName||p===r.byPosition}toString(){return this.kind}}G.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(p,S){this.method=p,this.numberOfParams=S}get parameterStructures(){return r.auto}}G.AbstractMessageSignature=i;class s extends i{constructor(p){super(p,0)}}G.RequestType0=s;class a extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.RequestType=a;class o extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.RequestType1=o;class c extends i{constructor(p){super(p,2)}}G.RequestType2=c;class l extends i{constructor(p){super(p,3)}}G.RequestType3=l;class u extends i{constructor(p){super(p,4)}}G.RequestType4=u;class f extends i{constructor(p){super(p,5)}}G.RequestType5=f;class m extends i{constructor(p){super(p,6)}}G.RequestType6=m;class g extends i{constructor(p){super(p,7)}}G.RequestType7=g;class A extends i{constructor(p){super(p,8)}}G.RequestType8=A;class w extends i{constructor(p){super(p,9)}}G.RequestType9=w;class $ extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.NotificationType=$;class N extends i{constructor(p){super(p,0)}}G.NotificationType0=N;class O extends i{constructor(p,S=r.auto){super(p,1),this._parameterStructures=S}get parameterStructures(){return this._parameterStructures}}G.NotificationType1=O;class b extends i{constructor(p){super(p,2)}}G.NotificationType2=b;class D extends i{constructor(p){super(p,3)}}G.NotificationType3=D;class X extends i{constructor(p){super(p,4)}}G.NotificationType4=X;class ne extends i{constructor(p){super(p,5)}}G.NotificationType5=ne;class re extends i{constructor(p){super(p,6)}}G.NotificationType6=re;class ye extends i{constructor(p){super(p,7)}}G.NotificationType7=ye;class Ae extends i{constructor(p){super(p,8)}}G.NotificationType8=Ae;class Se extends i{constructor(p){super(p,9)}}G.NotificationType9=Se;var k;return function(R){function p(T){const E=T;return E&&t.string(E.method)&&(t.string(E.id)||t.number(E.id))}R.isRequest=p;function S(T){const E=T;return E&&t.string(E.method)&&T.id===void 0}R.isNotification=S;function y(T){const E=T;return E&&(E.result!==void 0||!!E.error)&&(t.string(E.id)||t.number(E.id)||E.id===null)}R.isResponse=y}(k||(G.Message=k={})),G}var Bt={},Ku;function hp(){if(Ku)return Bt;Ku=1;var t;Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.LRUCache=Bt.LinkedMap=Bt.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||(Bt.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)}}Bt.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 Bt.LRUCache=r,Bt}var Ni={},Hu;function $v(){if(Hu)return Ni;Hu=1,Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.Disposable=void 0;var t;return function(e){function n(r){return{dispose:r}}e.create=n}(t||(Ni.Disposable=t={})),Ni}var Pn={},Yu;function Pv(){if(Yu)return Pn;Yu=1,Object.defineProperty(Pn,"__esModule",{value:!0}),Pn.SharedArrayReceiverStrategy=Pn.SharedArraySenderStrategy=void 0;const t=An;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()}}Pn.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 Pn.SharedArrayReceiverStrategy=s,Pn}var qt={},bi={},Xu;function pp(){if(Xu)return bi;Xu=1,Object.defineProperty(bi,"__esModule",{value:!0}),bi.Semaphore=void 0;const t=cn;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 bi.Semaphore=e,bi}var Ju;function Lv(){if(Ju)return qt;Ju=1,Object.defineProperty(qt,"__esModule",{value:!0}),qt.ReadableStreamMessageReader=qt.AbstractMessageReader=qt.MessageReader=void 0;const t=cn,e=_e,n=Ft,r=pp();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||(qt.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"}`)}}qt.AbstractMessageReader=s;var a;(function(c){function l(u){let f,m;const g=new Map;let A;const w=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(m=u.contentDecoder,g.set(m.name,m)),u.contentDecoders!==void 0)for(const $ of u.contentDecoders)g.set($.name,$);if(u.contentTypeDecoder!==void 0&&(A=u.contentTypeDecoder,w.set(A.name,A)),u.contentTypeDecoders!==void 0)for(const $ of u.contentTypeDecoders)w.set($.name,$)}return A===void 0&&(A=(0,t.default)().applicationJson.decoder,w.set(A.name,A)),{charset:f,contentDecoder:m,contentDecoders:g,contentTypeDecoder:A,contentTypeDecoders:w}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const m=f.get("content-length");if(!m){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
120
|
+
${JSON.stringify(Object.fromEntries(f))}`));return}const g=parseInt(m);if(isNaN(g)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=g}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,m=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(m)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return qt.ReadableStreamMessageReader=o,qt}var Wt={},Qu;function Ov(){if(Qu)return Wt;Qu=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.WriteableStreamMessageWriter=Wt.AbstractMessageWriter=Wt.MessageWriter=void 0;const t=cn,e=_e,n=pp(),r=Ft,i="Content-Length: ",s=`\r
|
|
121
|
+
`;var a;(function(u){function f(m){let g=m;return g&&e.func(g.dispose)&&e.func(g.onClose)&&e.func(g.onError)&&e.func(g.write)}u.is=f})(a||(Wt.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,m,g){this.errorEmitter.fire([this.asError(f),m,g])}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"}`)}}Wt.AbstractMessageWriter=o;var c;(function(u){function f(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,m){super(),this.writable=f,this.options=c.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(g=>this.fireError(g)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(g=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(g):g).then(g=>{const A=[];return A.push(i,g.byteLength.toString(),s),A.push(s),this.doWrite(f,A,g)},g=>{throw this.fireError(g),g}))}async doWrite(f,m,g){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(g)}catch(A){return this.handleError(A,f),Promise.reject(A)}}handleError(f,m){this.errorCount++,this.fireError(f,m,this.errorCount)}end(){this.writable.end()}}return Wt.WriteableStreamMessageWriter=l,Wt}var _i={},Zu;function xv(){if(Zu)return _i;Zu=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
|
|
122
|
+
`;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 g=this._chunks[o];for(c=0;c<g.length;){switch(g[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+=g.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,m=this.toString(u,"ascii").split(n);if(m.length<2)return f;for(let g=0;g<m.length-2;g++){const A=m[g],w=A.indexOf(":");if(w===-1)throw new Error(`Message header must separate key and value using ':'
|
|
123
|
+
${A}`);const $=A.substr(0,w),N=A.substr(w+1).trim();f.set(s?$.toLowerCase():$,N)}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 _i.AbstractMessageBuffer=r,_i}var Ao={},ed;function Dv(){return ed||(ed=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=cn,n=_e,r=fp(),i=hp(),s=Ft,a=An;var o;(function(p){p.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(p){function S(y){return typeof y=="string"||typeof y=="number"}p.is=S})(c||(t.ProgressToken=c={}));var l;(function(p){p.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(p){function S(y){return n.func(y)}p.is=S})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var m;(function(p){p[p.Off=0]="Off",p[p.Messages=1]="Messages",p[p.Compact=2]="Compact",p[p.Verbose=3]="Verbose"})(m||(t.Trace=m={}));var g;(function(p){p.Off="off",p.Messages="messages",p.Compact="compact",p.Verbose="verbose"})(g||(t.TraceValues=g={})),function(p){function S(T){if(!n.string(T))return p.Off;switch(T=T.toLowerCase(),T){case"off":return p.Off;case"messages":return p.Messages;case"compact":return p.Compact;case"verbose":return p.Verbose;default:return p.Off}}p.fromString=S;function y(T){switch(T){case p.Off:return"off";case p.Messages:return"messages";case p.Compact:return"compact";case p.Verbose:return"verbose";default:return"off"}}p.toString=y}(m||(t.Trace=m={}));var A;(function(p){p.Text="text",p.JSON="json"})(A||(t.TraceFormat=A={})),function(p){function S(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?p.JSON:p.Text):p.Text}p.fromString=S}(A||(t.TraceFormat=A={}));var w;(function(p){p.type=new r.NotificationType("$/setTrace")})(w||(t.SetTraceNotification=w={}));var $;(function(p){p.type=new r.NotificationType("$/logTrace")})($||(t.LogTraceNotification=$={}));var N;(function(p){p[p.Closed=1]="Closed",p[p.Disposed=2]="Disposed",p[p.AlreadyListening=3]="AlreadyListening"})(N||(t.ConnectionErrors=N={}));class O extends Error{constructor(S,y){super(y),this.code=S,Object.setPrototypeOf(this,O.prototype)}}t.ConnectionError=O;var b;(function(p){function S(y){const T=y;return T&&n.func(T.cancelUndispatched)}p.is=S})(b||(t.ConnectionStrategy=b={}));var D;(function(p){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))}p.is=S})(D||(t.IdCancellationReceiverStrategy=D={}));var X;(function(p){function S(y){const T=y;return T&&T.kind==="request"&&n.func(T.createCancellationTokenSource)&&(T.dispose===void 0||n.func(T.dispose))}p.is=S})(X||(t.RequestCancellationReceiverStrategy=X={}));var ne;(function(p){p.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function S(y){return D.is(y)||X.is(y)}p.is=S})(ne||(t.CancellationReceiverStrategy=ne={}));var re;(function(p){p.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)}p.is=S})(re||(t.CancellationSenderStrategy=re={}));var ye;(function(p){p.Message=Object.freeze({receiver:ne.Message,sender:re.Message});function S(y){const T=y;return T&&ne.is(T.receiver)&&re.is(T.sender)}p.is=S})(ye||(t.CancellationStrategy=ye={}));var Ae;(function(p){function S(y){const T=y;return T&&n.func(T.handleMessage)}p.is=S})(Ae||(t.MessageStrategy=Ae={}));var Se;(function(p){function S(y){const T=y;return T&&(ye.is(T.cancellationStrategy)||b.is(T.connectionStrategy)||Ae.is(T.messageStrategy))}p.is=S})(Se||(t.ConnectionOptions=Se={}));var k;(function(p){p[p.New=1]="New",p[p.Listening=2]="Listening",p[p.Closed=3]="Closed",p[p.Disposed=4]="Disposed"})(k||(k={}));function R(p,S,y,T){const E=y!==void 0?y:t.NullLogger;let P=0,x=0,L=0;const j="2.0";let q;const se=new Map;let V;const Ie=new Map,te=new Map;let $e,Me=new i.LinkedMap,fe=new Map,Fe=new Set,Ce=new Map,K=m.Off,Oe=A.Text,ce,et=k.New;const er=new s.Emitter,li=new s.Emitter,ui=new s.Emitter,di=new s.Emitter,fi=new s.Emitter,vt=T&&T.cancellationStrategy?T.cancellationStrategy:ye.Message;function hi(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function hs(h){return h===null?"res-unknown-"+(++L).toString():"res-"+h.toString()}function ps(){return"not-"+(++x).toString()}function ms(h,C){r.Message.isRequest(C)?h.set(hi(C.id),C):r.Message.isResponse(C)?h.set(hs(C.id),C):h.set(ps(),C)}function gs(h){}function pi(){return et===k.Listening}function mi(){return et===k.Closed}function jt(){return et===k.Disposed}function gi(){(et===k.New||et===k.Listening)&&(et=k.Closed,li.fire(void 0))}function ys(h){er.fire([h,void 0,void 0])}function Ts(h){er.fire(h)}p.onClose(gi),p.onError(ys),S.onClose(gi),S.onError(Ts);function yi(){$e||Me.size===0||($e=(0,e.default)().timer.setImmediate(()=>{$e=void 0,Rs()}))}function Ti(h){r.Message.isRequest(h)?Es(h):r.Message.isNotification(h)?Ss(h):r.Message.isResponse(h)?As(h):Cs(h)}function Rs(){if(Me.size===0)return;const h=Me.shift();try{const C=T==null?void 0:T.messageStrategy;Ae.is(C)?C.handleMessage(h,Ti):Ti(h)}finally{yi()}}const vs=h=>{try{if(r.Message.isNotification(h)&&h.method===o.type.method){const C=h.params.id,I=hi(C),F=Me.get(I);if(r.Message.isRequest(F)){const ae=T==null?void 0:T.connectionStrategy,le=ae&&ae.cancelUndispatched?ae.cancelUndispatched(F,gs):void 0;if(le&&(le.error!==void 0||le.result!==void 0)){Me.delete(I),Ce.delete(C),le.id=F.id,_n(le,h.method,Date.now()),S.write(le).catch(()=>E.error("Sending response for canceled message failed."));return}}const ue=Ce.get(C);if(ue!==void 0){ue.cancel(),tr(h);return}else Fe.add(C)}ms(Me,h)}finally{yi()}};function Es(h){if(jt())return;function C(Q,he,ie){const Pe={jsonrpc:j,id:h.id};Q instanceof r.ResponseError?Pe.error=Q.toJson():Pe.result=Q===void 0?null:Q,_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}function I(Q,he,ie){const Pe={jsonrpc:j,id:h.id,error:Q.toJson()};_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}function F(Q,he,ie){Q===void 0&&(Q=null);const Pe={jsonrpc:j,id:h.id,result:Q};_n(Pe,he,ie),S.write(Pe).catch(()=>E.error("Sending response failed."))}Ns(h);const ue=se.get(h.method);let ae,le;ue&&(ae=ue.type,le=ue.handler);const Ne=Date.now();if(le||q){const Q=h.id??String(Date.now()),he=D.is(vt.receiver)?vt.receiver.createCancellationTokenSource(Q):vt.receiver.createCancellationTokenSource(h);h.id!==null&&Fe.has(h.id)&&he.cancel(),h.id!==null&&Ce.set(Q,he);try{let ie;if(le)if(h.params===void 0){if(ae!==void 0&&ae.numberOfParams!==0){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines ${ae.numberOfParams} params but received none.`),h.method,Ne);return}ie=le(he.token)}else if(Array.isArray(h.params)){if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byName){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,Ne);return}ie=le(...h.params,he.token)}else{if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byPosition){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,Ne);return}ie=le(h.params,he.token)}else q&&(ie=q(h.method,h.params,he.token));const Pe=ie;ie?Pe.then?Pe.then(He=>{Ce.delete(Q),C(He,h.method,Ne)},He=>{Ce.delete(Q),He instanceof r.ResponseError?I(He,h.method,Ne):He&&n.string(He.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${He.message}`),h.method,Ne):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ne)}):(Ce.delete(Q),C(ie,h.method,Ne)):(Ce.delete(Q),F(ie,h.method,Ne))}catch(ie){Ce.delete(Q),ie instanceof r.ResponseError?C(ie,h.method,Ne):ie&&n.string(ie.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${ie.message}`),h.method,Ne):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ne)}}else I(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,Ne)}function As(h){if(!jt())if(h.id===null)h.error?E.error(`Received response message without id: Error is:
|
|
124
|
+
${JSON.stringify(h.error,void 0,4)}`):E.error("Received response message without id. No further error information provided.");else{const C=h.id,I=fe.get(C);if(bs(h,I),I!==void 0){fe.delete(C);try{if(h.error){const F=h.error;I.reject(new r.ResponseError(F.code,F.message,F.data))}else if(h.result!==void 0)I.resolve(h.result);else throw new Error("Should never happen.")}catch(F){F.message?E.error(`Response handler '${I.method}' failed with message: ${F.message}`):E.error(`Response handler '${I.method}' failed unexpectedly.`)}}}}function Ss(h){if(jt())return;let C,I;if(h.method===o.type.method){const F=h.params.id;Fe.delete(F),tr(h);return}else{const F=Ie.get(h.method);F&&(I=F.handler,C=F.type)}if(I||V)try{if(tr(h),I)if(h.params===void 0)C!==void 0&&C.numberOfParams!==0&&C.parameterStructures!==r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines ${C.numberOfParams} params but received none.`),I();else if(Array.isArray(h.params)){const F=h.params;h.method===l.type.method&&F.length===2&&c.is(F[0])?I({token:F[0],value:F[1]}):(C!==void 0&&(C.parameterStructures===r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines parameters by name but received parameters by position`),C.numberOfParams!==h.params.length&&E.error(`Notification ${h.method} defines ${C.numberOfParams} params but received ${F.length} arguments`)),I(...F))}else C!==void 0&&C.parameterStructures===r.ParameterStructures.byPosition&&E.error(`Notification ${h.method} defines parameters by position but received parameters by name`),I(h.params);else V&&V(h.method,h.params)}catch(F){F.message?E.error(`Notification handler '${h.method}' failed with message: ${F.message}`):E.error(`Notification handler '${h.method}' failed unexpectedly.`)}else ui.fire(h)}function Cs(h){if(!h){E.error("Received empty message.");return}E.error(`Received message which is neither a response nor a notification message:
|
|
125
|
+
${JSON.stringify(h,null,4)}`);const C=h;if(n.string(C.id)||n.number(C.id)){const I=C.id,F=fe.get(I);F&&F.reject(new Error("The received response has neither a result nor an error property."))}}function Et(h){if(h!=null)switch(K){case m.Verbose:return JSON.stringify(h,null,4);case m.Compact:return JSON.stringify(h);default:return}}function ks(h){if(!(K===m.Off||!ce))if(Oe===A.Text){let C;(K===m.Verbose||K===m.Compact)&&h.params&&(C=`Params: ${Et(h.params)}
|
|
126
|
+
|
|
127
|
+
`),ce.log(`Sending request '${h.method} - (${h.id})'.`,C)}else zt("send-request",h)}function ws(h){if(!(K===m.Off||!ce))if(Oe===A.Text){let C;(K===m.Verbose||K===m.Compact)&&(h.params?C=`Params: ${Et(h.params)}
|
|
128
|
+
|
|
129
|
+
`:C=`No parameters provided.
|
|
130
|
+
|
|
131
|
+
`),ce.log(`Sending notification '${h.method}'.`,C)}else zt("send-notification",h)}function _n(h,C,I){if(!(K===m.Off||!ce))if(Oe===A.Text){let F;(K===m.Verbose||K===m.Compact)&&(h.error&&h.error.data?F=`Error data: ${Et(h.error.data)}
|
|
132
|
+
|
|
133
|
+
`:h.result?F=`Result: ${Et(h.result)}
|
|
134
|
+
|
|
135
|
+
`:h.error===void 0&&(F=`No result returned.
|
|
136
|
+
|
|
137
|
+
`)),ce.log(`Sending response '${C} - (${h.id})'. Processing request took ${Date.now()-I}ms`,F)}else zt("send-response",h)}function Ns(h){if(!(K===m.Off||!ce))if(Oe===A.Text){let C;(K===m.Verbose||K===m.Compact)&&h.params&&(C=`Params: ${Et(h.params)}
|
|
138
|
+
|
|
139
|
+
`),ce.log(`Received request '${h.method} - (${h.id})'.`,C)}else zt("receive-request",h)}function tr(h){if(!(K===m.Off||!ce||h.method===$.type.method))if(Oe===A.Text){let C;(K===m.Verbose||K===m.Compact)&&(h.params?C=`Params: ${Et(h.params)}
|
|
140
|
+
|
|
141
|
+
`:C=`No parameters provided.
|
|
142
|
+
|
|
143
|
+
`),ce.log(`Received notification '${h.method}'.`,C)}else zt("receive-notification",h)}function bs(h,C){if(!(K===m.Off||!ce))if(Oe===A.Text){let I;if((K===m.Verbose||K===m.Compact)&&(h.error&&h.error.data?I=`Error data: ${Et(h.error.data)}
|
|
144
|
+
|
|
145
|
+
`:h.result?I=`Result: ${Et(h.result)}
|
|
146
|
+
|
|
147
|
+
`:h.error===void 0&&(I=`No result returned.
|
|
148
|
+
|
|
149
|
+
`)),C){const F=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";ce.log(`Received response '${C.method} - (${h.id})' in ${Date.now()-C.timerStart}ms.${F}`,I)}else ce.log(`Received response ${h.id} without active response promise.`,I)}else zt("receive-response",h)}function zt(h,C){if(!ce||K===m.Off)return;const I={isLSPMessage:!0,type:h,message:C,timestamp:Date.now()};ce.log(I)}function ln(){if(mi())throw new O(N.Closed,"Connection is closed.");if(jt())throw new O(N.Disposed,"Connection is disposed.")}function _s(){if(pi())throw new O(N.AlreadyListening,"Connection is already listening")}function Is(){if(!pi())throw new Error("Call listen() first.")}function un(h){return h===void 0?null:h}function Ri(h){if(h!==null)return h}function d(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function ke(h,C){switch(h){case r.ParameterStructures.auto:return d(C)?Ri(C):[un(C)];case r.ParameterStructures.byName:if(!d(C))throw new Error("Received parameters by name but param is not an object literal.");return Ri(C);case r.ParameterStructures.byPosition:return[un(C)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function we(h,C){let I;const F=h.numberOfParams;switch(F){case 0:I=void 0;break;case 1:I=ke(h.parameterStructures,C[0]);break;default:I=[];for(let ue=0;ue<C.length&&ue<F;ue++)I.push(un(C[ue]));if(C.length<F)for(let ue=C.length;ue<F;ue++)I.push(null);break}return I}const W={sendNotification:(h,...C)=>{ln();let I,F;if(n.string(h)){I=h;const ae=C[0];let le=0,Ne=r.ParameterStructures.auto;r.ParameterStructures.is(ae)&&(le=1,Ne=ae);let Q=C.length;const he=Q-le;switch(he){case 0:F=void 0;break;case 1:F=ke(Ne,C[le]);break;default:if(Ne===r.ParameterStructures.byName)throw new Error(`Received ${he} parameters for 'by Name' notification parameter structure.`);F=C.slice(le,Q).map(ie=>un(ie));break}}else{const ae=C;I=h.method,F=we(h,ae)}const ue={jsonrpc:j,method:I,params:F};return ws(ue),S.write(ue).catch(ae=>{throw E.error("Sending notification failed."),ae})},onNotification:(h,C)=>{ln();let I;return n.func(h)?V=h:C&&(n.string(h)?(I=h,Ie.set(h,{type:void 0,handler:C})):(I=h.method,Ie.set(h.method,{type:h,handler:C}))),{dispose:()=>{I!==void 0?Ie.delete(I):V=void 0}}},onProgress:(h,C,I)=>{if(te.has(C))throw new Error(`Progress handler for token ${C} already registered`);return te.set(C,I),{dispose:()=>{te.delete(C)}}},sendProgress:(h,C,I)=>W.sendNotification(l.type,{token:C,value:I}),onUnhandledProgress:di.event,sendRequest:(h,...C)=>{ln(),Is();let I,F,ue;if(n.string(h)){I=h;const Q=C[0],he=C[C.length-1];let ie=0,Pe=r.ParameterStructures.auto;r.ParameterStructures.is(Q)&&(ie=1,Pe=Q);let He=C.length;a.CancellationToken.is(he)&&(He=He-1,ue=he);const $t=He-ie;switch($t){case 0:F=void 0;break;case 1:F=ke(Pe,C[ie]);break;default:if(Pe===r.ParameterStructures.byName)throw new Error(`Received ${$t} parameters for 'by Name' request parameter structure.`);F=C.slice(ie,He).map(qp=>un(qp));break}}else{const Q=C;I=h.method,F=we(h,Q);const he=h.numberOfParams;ue=a.CancellationToken.is(Q[he])?Q[he]:void 0}const ae=P++;let le;ue&&(le=ue.onCancellationRequested(()=>{const Q=vt.sender.sendCancellation(W,ae);return Q===void 0?(E.log(`Received no promise from cancellation strategy when cancelling id ${ae}`),Promise.resolve()):Q.catch(()=>{E.log(`Sending cancellation messages for id ${ae} failed`)})}));const Ne={jsonrpc:j,id:ae,method:I,params:F};return ks(Ne),typeof vt.sender.enableCancellation=="function"&&vt.sender.enableCancellation(Ne),new Promise(async(Q,he)=>{const ie=$t=>{Q($t),vt.sender.cleanup(ae),le==null||le.dispose()},Pe=$t=>{he($t),vt.sender.cleanup(ae),le==null||le.dispose()},He={method:I,timerStart:Date.now(),resolve:ie,reject:Pe};try{await S.write(Ne),fe.set(ae,He)}catch($t){throw E.error("Sending request failed."),He.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,$t.message?$t.message:"Unknown reason")),$t}})},onRequest:(h,C)=>{ln();let I=null;return f.is(h)?(I=void 0,q=h):n.string(h)?(I=null,C!==void 0&&(I=h,se.set(h,{handler:C,type:void 0}))):C!==void 0&&(I=h.method,se.set(h.method,{type:h,handler:C})),{dispose:()=>{I!==null&&(I!==void 0?se.delete(I):q=void 0)}}},hasPendingResponse:()=>fe.size>0,trace:async(h,C,I)=>{let F=!1,ue=A.Text;I!==void 0&&(n.boolean(I)?F=I:(F=I.sendNotification||!1,ue=I.traceFormat||A.Text)),K=h,Oe=ue,K===m.Off?ce=void 0:ce=C,F&&!mi()&&!jt()&&await W.sendNotification(w.type,{value:m.toString(h)})},onError:er.event,onClose:li.event,onUnhandledNotification:ui.event,onDispose:fi.event,end:()=>{S.end()},dispose:()=>{if(jt())return;et=k.Disposed,fi.fire(void 0);const h=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const C of fe.values())C.reject(h);fe=new Map,Ce=new Map,Fe=new Set,Me=new i.LinkedMap,n.func(S.dispose)&&S.dispose(),n.func(p.dispose)&&p.dispose()},listen:()=>{ln(),_s(),et=k.Listening,p.listen(vs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return W.onNotification($.type,h=>{if(K===m.Off||!ce)return;const C=K===m.Verbose||K===m.Compact;ce.log(h.message,C?h.verbose:void 0)}),W.onNotification(l.type,h=>{const C=te.get(h.token);C?C(h.value):di.fire(h)}),W}t.createMessageConnection=R}(Ao)),Ao}var td;function ol(){return td||(td=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=fp();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=hp();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=$v();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Ft;Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=An;Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=Pv();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=Lv();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=Ov();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=xv();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=Dv();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=cn;t.RAL=f.default}(Eo)),Eo}Object.defineProperty(Wl,"__esModule",{value:!0});const Dt=ol();class Xa extends Dt.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Xa.emptyBuffer}fromString(e,n){return new TextEncoder().encode(e)}toString(e,n){return n==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e:e.slice(0,n)}allocNative(e){return new Uint8Array(e)}}Xa.emptyBuffer=new Uint8Array(0);class Mv{constructor(e){this.socket=e,this._onData=new Dt.Emitter,this._messageListener=n=>{n.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Dt.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}}class Fv{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,n){if(typeof e=="string"){if(n!==void 0&&n!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${n}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const Gv=new TextEncoder,mp=Object.freeze({messageBuffer:Object.freeze({create:t=>new Xa(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Gv.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new Mv(t),asWritableStream:t=>new Fv(t)}),console,timer:Object.freeze({setTimeout(t,e,...n){const r=setTimeout(t,e,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(t,...e){const n=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(n)}},setInterval(t,e,...n){const r=setInterval(t,e,...n);return{dispose:()=>clearInterval(r)}}})});function cl(){return mp}(function(t){function e(){Dt.RAL.install(mp)}t.install=e})(cl||(cl={}));Wl.default=cl;(function(t){var e=yt&&yt.__createBinding||(Object.create?function(c,l,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(l,u);(!m||("get"in m?!l.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,m)}:function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]}),n=yt&&yt.__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,Wl.default.install();const i=ol();n(ol(),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})(Jn);var nd=Jn,gp={};const Vl=Kp(kR);var Y={};Object.defineProperty(Y,"__esModule",{value:!0});Y.ProtocolNotificationType=Y.ProtocolNotificationType0=Y.ProtocolRequestType=Y.ProtocolRequestType0=Y.RegistrationType=Y.MessageDirection=void 0;const Hr=Jn;var rd;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(rd||(Y.MessageDirection=rd={}));class Uv{constructor(e){this.method=e}}Y.RegistrationType=Uv;class jv extends Hr.RequestType0{constructor(e){super(e)}}Y.ProtocolRequestType0=jv;class zv extends Hr.RequestType{constructor(e){super(e,Hr.ParameterStructures.byName)}}Y.ProtocolRequestType=zv;class Bv extends Hr.NotificationType0{constructor(e){super(e)}}Y.ProtocolNotificationType0=Bv;class qv extends Hr.NotificationType{constructor(e){super(e,Hr.ParameterStructures.byName)}}Y.ProtocolNotificationType=qv;var yp={},Re={};Object.defineProperty(Re,"__esModule",{value:!0});Re.objectLiteral=Re.typedArray=Re.stringArray=Re.array=Re.func=Re.error=Re.number=Re.string=Re.boolean=void 0;function Wv(t){return t===!0||t===!1}Re.boolean=Wv;function Tp(t){return typeof t=="string"||t instanceof String}Re.string=Tp;function Vv(t){return typeof t=="number"||t instanceof Number}Re.number=Vv;function Kv(t){return t instanceof Error}Re.error=Kv;function Hv(t){return typeof t=="function"}Re.func=Hv;function Rp(t){return Array.isArray(t)}Re.array=Rp;function Yv(t){return Rp(t)&&t.every(e=>Tp(e))}Re.stringArray=Yv;function Xv(t,e){return Array.isArray(t)&&t.every(e)}Re.typedArray=Xv;function Jv(t){return t!==null&&typeof t=="object"}Re.objectLiteral=Jv;var Ja={};Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ImplementationRequest=void 0;const id=Y;var sd;(function(t){t.method="textDocument/implementation",t.messageDirection=id.MessageDirection.clientToServer,t.type=new id.ProtocolRequestType(t.method)})(sd||(Ja.ImplementationRequest=sd={}));var Qa={};Object.defineProperty(Qa,"__esModule",{value:!0});Qa.TypeDefinitionRequest=void 0;const ad=Y;var od;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=ad.MessageDirection.clientToServer,t.type=new ad.ProtocolRequestType(t.method)})(od||(Qa.TypeDefinitionRequest=od={}));var Yr={};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.DidChangeWorkspaceFoldersNotification=Yr.WorkspaceFoldersRequest=void 0;const ba=Y;var cd;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=ba.MessageDirection.serverToClient,t.type=new ba.ProtocolRequestType0(t.method)})(cd||(Yr.WorkspaceFoldersRequest=cd={}));var ld;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=ba.MessageDirection.clientToServer,t.type=new ba.ProtocolNotificationType(t.method)})(ld||(Yr.DidChangeWorkspaceFoldersNotification=ld={}));var Za={};Object.defineProperty(Za,"__esModule",{value:!0});Za.ConfigurationRequest=void 0;const ud=Y;var dd;(function(t){t.method="workspace/configuration",t.messageDirection=ud.MessageDirection.serverToClient,t.type=new ud.ProtocolRequestType(t.method)})(dd||(Za.ConfigurationRequest=dd={}));var Xr={};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.ColorPresentationRequest=Xr.DocumentColorRequest=void 0;const _a=Y;var fd;(function(t){t.method="textDocument/documentColor",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(fd||(Xr.DocumentColorRequest=fd={}));var hd;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(hd||(Xr.ColorPresentationRequest=hd={}));var Jr={};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.FoldingRangeRefreshRequest=Jr.FoldingRangeRequest=void 0;const Ia=Y;var pd;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Ia.MessageDirection.clientToServer,t.type=new Ia.ProtocolRequestType(t.method)})(pd||(Jr.FoldingRangeRequest=pd={}));var md;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Ia.MessageDirection.serverToClient,t.type=new Ia.ProtocolRequestType0(t.method)})(md||(Jr.FoldingRangeRefreshRequest=md={}));var eo={};Object.defineProperty(eo,"__esModule",{value:!0});eo.DeclarationRequest=void 0;const gd=Y;var yd;(function(t){t.method="textDocument/declaration",t.messageDirection=gd.MessageDirection.clientToServer,t.type=new gd.ProtocolRequestType(t.method)})(yd||(eo.DeclarationRequest=yd={}));var to={};Object.defineProperty(to,"__esModule",{value:!0});to.SelectionRangeRequest=void 0;const Td=Y;var Rd;(function(t){t.method="textDocument/selectionRange",t.messageDirection=Td.MessageDirection.clientToServer,t.type=new Td.ProtocolRequestType(t.method)})(Rd||(to.SelectionRangeRequest=Rd={}));var pn={};Object.defineProperty(pn,"__esModule",{value:!0});pn.WorkDoneProgressCancelNotification=pn.WorkDoneProgressCreateRequest=pn.WorkDoneProgress=void 0;const Qv=Jn,$a=Y;var vd;(function(t){t.type=new Qv.ProgressType;function e(n){return n===t.type}t.is=e})(vd||(pn.WorkDoneProgress=vd={}));var Ed;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType(t.method)})(Ed||(pn.WorkDoneProgressCreateRequest=Ed={}));var Ad;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolNotificationType(t.method)})(Ad||(pn.WorkDoneProgressCancelNotification=Ad={}));var mn={};Object.defineProperty(mn,"__esModule",{value:!0});mn.CallHierarchyOutgoingCallsRequest=mn.CallHierarchyIncomingCallsRequest=mn.CallHierarchyPrepareRequest=void 0;const Qr=Y;var Sd;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(Sd||(mn.CallHierarchyPrepareRequest=Sd={}));var Cd;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(Cd||(mn.CallHierarchyIncomingCallsRequest=Cd={}));var kd;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method)})(kd||(mn.CallHierarchyOutgoingCallsRequest=kd={}));var tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.SemanticTokensRefreshRequest=tt.SemanticTokensRangeRequest=tt.SemanticTokensDeltaRequest=tt.SemanticTokensRequest=tt.SemanticTokensRegistrationType=tt.TokenFormat=void 0;const sn=Y;var wd;(function(t){t.Relative="relative"})(wd||(tt.TokenFormat=wd={}));var ts;(function(t){t.method="textDocument/semanticTokens",t.type=new sn.RegistrationType(t.method)})(ts||(tt.SemanticTokensRegistrationType=ts={}));var Nd;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(Nd||(tt.SemanticTokensRequest=Nd={}));var bd;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(bd||(tt.SemanticTokensDeltaRequest=bd={}));var _d;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=ts.method})(_d||(tt.SemanticTokensRangeRequest=_d={}));var Id;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=sn.MessageDirection.serverToClient,t.type=new sn.ProtocolRequestType0(t.method)})(Id||(tt.SemanticTokensRefreshRequest=Id={}));var no={};Object.defineProperty(no,"__esModule",{value:!0});no.ShowDocumentRequest=void 0;const $d=Y;var Pd;(function(t){t.method="window/showDocument",t.messageDirection=$d.MessageDirection.serverToClient,t.type=new $d.ProtocolRequestType(t.method)})(Pd||(no.ShowDocumentRequest=Pd={}));var ro={};Object.defineProperty(ro,"__esModule",{value:!0});ro.LinkedEditingRangeRequest=void 0;const Ld=Y;var Od;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Ld.MessageDirection.clientToServer,t.type=new Ld.ProtocolRequestType(t.method)})(Od||(ro.LinkedEditingRangeRequest=Od={}));var We={};Object.defineProperty(We,"__esModule",{value:!0});We.WillDeleteFilesRequest=We.DidDeleteFilesNotification=We.DidRenameFilesNotification=We.WillRenameFilesRequest=We.DidCreateFilesNotification=We.WillCreateFilesRequest=We.FileOperationPatternKind=void 0;const Rt=Y;var xd;(function(t){t.file="file",t.folder="folder"})(xd||(We.FileOperationPatternKind=xd={}));var Dd;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(Dd||(We.WillCreateFilesRequest=Dd={}));var Md;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Md||(We.DidCreateFilesNotification=Md={}));var Fd;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(Fd||(We.WillRenameFilesRequest=Fd={}));var Gd;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Gd||(We.DidRenameFilesNotification=Gd={}));var Ud;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Ud||(We.DidDeleteFilesNotification=Ud={}));var jd;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(jd||(We.WillDeleteFilesRequest=jd={}));var gn={};Object.defineProperty(gn,"__esModule",{value:!0});gn.MonikerRequest=gn.MonikerKind=gn.UniquenessLevel=void 0;const zd=Y;var Bd;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(Bd||(gn.UniquenessLevel=Bd={}));var qd;(function(t){t.$import="import",t.$export="export",t.local="local"})(qd||(gn.MonikerKind=qd={}));var Wd;(function(t){t.method="textDocument/moniker",t.messageDirection=zd.MessageDirection.clientToServer,t.type=new zd.ProtocolRequestType(t.method)})(Wd||(gn.MonikerRequest=Wd={}));var yn={};Object.defineProperty(yn,"__esModule",{value:!0});yn.TypeHierarchySubtypesRequest=yn.TypeHierarchySupertypesRequest=yn.TypeHierarchyPrepareRequest=void 0;const Zr=Y;var Vd;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(Vd||(yn.TypeHierarchyPrepareRequest=Vd={}));var Kd;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(Kd||(yn.TypeHierarchySupertypesRequest=Kd={}));var Hd;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Zr.MessageDirection.clientToServer,t.type=new Zr.ProtocolRequestType(t.method)})(Hd||(yn.TypeHierarchySubtypesRequest=Hd={}));var ei={};Object.defineProperty(ei,"__esModule",{value:!0});ei.InlineValueRefreshRequest=ei.InlineValueRequest=void 0;const Pa=Y;var Yd;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Pa.MessageDirection.clientToServer,t.type=new Pa.ProtocolRequestType(t.method)})(Yd||(ei.InlineValueRequest=Yd={}));var Xd;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Pa.MessageDirection.serverToClient,t.type=new Pa.ProtocolRequestType0(t.method)})(Xd||(ei.InlineValueRefreshRequest=Xd={}));var Tn={};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.InlayHintRefreshRequest=Tn.InlayHintResolveRequest=Tn.InlayHintRequest=void 0;const ti=Y;var Jd;(function(t){t.method="textDocument/inlayHint",t.messageDirection=ti.MessageDirection.clientToServer,t.type=new ti.ProtocolRequestType(t.method)})(Jd||(Tn.InlayHintRequest=Jd={}));var Qd;(function(t){t.method="inlayHint/resolve",t.messageDirection=ti.MessageDirection.clientToServer,t.type=new ti.ProtocolRequestType(t.method)})(Qd||(Tn.InlayHintResolveRequest=Qd={}));var Zd;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=ti.MessageDirection.serverToClient,t.type=new ti.ProtocolRequestType0(t.method)})(Zd||(Tn.InlayHintRefreshRequest=Zd={}));var gt={};Object.defineProperty(gt,"__esModule",{value:!0});gt.DiagnosticRefreshRequest=gt.WorkspaceDiagnosticRequest=gt.DocumentDiagnosticRequest=gt.DocumentDiagnosticReportKind=gt.DiagnosticServerCancellationData=void 0;const vp=Jn,Zv=Re,ni=Y;var ef;(function(t){function e(n){const r=n;return r&&Zv.boolean(r.retriggerRequest)}t.is=e})(ef||(gt.DiagnosticServerCancellationData=ef={}));var tf;(function(t){t.Full="full",t.Unchanged="unchanged"})(tf||(gt.DocumentDiagnosticReportKind=tf={}));var nf;(function(t){t.method="textDocument/diagnostic",t.messageDirection=ni.MessageDirection.clientToServer,t.type=new ni.ProtocolRequestType(t.method),t.partialResult=new vp.ProgressType})(nf||(gt.DocumentDiagnosticRequest=nf={}));var rf;(function(t){t.method="workspace/diagnostic",t.messageDirection=ni.MessageDirection.clientToServer,t.type=new ni.ProtocolRequestType(t.method),t.partialResult=new vp.ProgressType})(rf||(gt.WorkspaceDiagnosticRequest=rf={}));var sf;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=ni.MessageDirection.serverToClient,t.type=new ni.ProtocolRequestType0(t.method)})(sf||(gt.DiagnosticRefreshRequest=sf={}));var Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.DidCloseNotebookDocumentNotification=Te.DidSaveNotebookDocumentNotification=Te.DidChangeNotebookDocumentNotification=Te.NotebookCellArrayChange=Te.DidOpenNotebookDocumentNotification=Te.NotebookDocumentSyncRegistrationType=Te.NotebookDocument=Te.NotebookCell=Te.ExecutionSummary=Te.NotebookCellKind=void 0;const ns=Vl,kt=Re,Gt=Y;var ll;(function(t){t.Markup=1,t.Code=2;function e(n){return n===1||n===2}t.is=e})(ll||(Te.NotebookCellKind=ll={}));var ul;(function(t){function e(i,s){const a={executionOrder:i};return(s===!0||s===!1)&&(a.success=s),a}t.create=e;function n(i){const s=i;return kt.objectLiteral(s)&&ns.uinteger.is(s.executionOrder)&&(s.success===void 0||kt.boolean(s.success))}t.is=n;function r(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}t.equals=r})(ul||(Te.ExecutionSummary=ul={}));var La;(function(t){function e(s,a){return{kind:s,document:a}}t.create=e;function n(s){const a=s;return kt.objectLiteral(a)&&ll.is(a.kind)&&ns.DocumentUri.is(a.document)&&(a.metadata===void 0||kt.objectLiteral(a.metadata))}t.is=n;function r(s,a){const o=new Set;return s.document!==a.document&&o.add("document"),s.kind!==a.kind&&o.add("kind"),s.executionSummary!==a.executionSummary&&o.add("executionSummary"),(s.metadata!==void 0||a.metadata!==void 0)&&!i(s.metadata,a.metadata)&&o.add("metadata"),(s.executionSummary!==void 0||a.executionSummary!==void 0)&&!ul.equals(s.executionSummary,a.executionSummary)&&o.add("executionSummary"),o}t.diff=r;function i(s,a){if(s===a)return!0;if(s==null||a===null||a===void 0||typeof s!=typeof a||typeof s!="object")return!1;const o=Array.isArray(s),c=Array.isArray(a);if(o!==c)return!1;if(o&&c){if(s.length!==a.length)return!1;for(let l=0;l<s.length;l++)if(!i(s[l],a[l]))return!1}if(kt.objectLiteral(s)&&kt.objectLiteral(a)){const l=Object.keys(s),u=Object.keys(a);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){const m=l[f];if(!i(s[m],a[m]))return!1}}return!0}})(La||(Te.NotebookCell=La={}));var af;(function(t){function e(r,i,s,a){return{uri:r,notebookType:i,version:s,cells:a}}t.create=e;function n(r){const i=r;return kt.objectLiteral(i)&&kt.string(i.uri)&&ns.integer.is(i.version)&&kt.typedArray(i.cells,La.is)}t.is=n})(af||(Te.NotebookDocument=af={}));var ri;(function(t){t.method="notebookDocument/sync",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.RegistrationType(t.method)})(ri||(Te.NotebookDocumentSyncRegistrationType=ri={}));var of;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(of||(Te.DidOpenNotebookDocumentNotification=of={}));var cf;(function(t){function e(r){const i=r;return kt.objectLiteral(i)&&ns.uinteger.is(i.start)&&ns.uinteger.is(i.deleteCount)&&(i.cells===void 0||kt.typedArray(i.cells,La.is))}t.is=e;function n(r,i,s){const a={start:r,deleteCount:i};return s!==void 0&&(a.cells=s),a}t.create=n})(cf||(Te.NotebookCellArrayChange=cf={}));var lf;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(lf||(Te.DidChangeNotebookDocumentNotification=lf={}));var uf;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(uf||(Te.DidSaveNotebookDocumentNotification=uf={}));var df;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=ri.method})(df||(Te.DidCloseNotebookDocumentNotification=df={}));var io={};Object.defineProperty(io,"__esModule",{value:!0});io.InlineCompletionRequest=void 0;const ff=Y;var hf;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=ff.MessageDirection.clientToServer,t.type=new ff.ProtocolRequestType(t.method)})(hf||(io.InlineCompletionRequest=hf={}));(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=Y,n=Vl,r=Re,i=Ja;Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=Qa;Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=Yr;Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=Za;Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=Xr;Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=Jr;Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=eo;Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=to;Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const m=pn;Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return m.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return m.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return m.WorkDoneProgressCancelNotification}});const g=mn;Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return g.CallHierarchyPrepareRequest}});const A=tt;Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return A.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return A.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return A.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return A.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return A.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return A.SemanticTokensRegistrationType}});const w=no;Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return w.ShowDocumentRequest}});const $=ro;Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return $.LinkedEditingRangeRequest}});const N=We;Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return N.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return N.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return N.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return N.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return N.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return N.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return N.WillDeleteFilesRequest}});const O=gn;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return O.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return O.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return O.MonikerRequest}});const b=yn;Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});const D=ei;Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return D.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return D.InlineValueRefreshRequest}});const X=Tn;Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return X.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return X.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return X.InlayHintRefreshRequest}});const ne=gt;Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return ne.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return ne.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return ne.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return ne.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return ne.DiagnosticRefreshRequest}});const re=Te;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return re.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return re.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return re.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return re.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return re.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return re.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidCloseNotebookDocumentNotification}});const ye=io;Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return ye.InlineCompletionRequest}});var Ae;(function(d){function ke(we){const W=we;return r.string(W)||r.string(W.language)||r.string(W.scheme)||r.string(W.pattern)}d.is=ke})(Ae||(t.TextDocumentFilter=Ae={}));var Se;(function(d){function ke(we){const W=we;return r.objectLiteral(W)&&(r.string(W.notebookType)||r.string(W.scheme)||r.string(W.pattern))}d.is=ke})(Se||(t.NotebookDocumentFilter=Se={}));var k;(function(d){function ke(we){const W=we;return r.objectLiteral(W)&&(r.string(W.notebook)||Se.is(W.notebook))&&(W.language===void 0||r.string(W.language))}d.is=ke})(k||(t.NotebookCellTextDocumentFilter=k={}));var R;(function(d){function ke(we){if(!Array.isArray(we))return!1;for(let W of we)if(!r.string(W)&&!Ae.is(W)&&!k.is(W))return!1;return!0}d.is=ke})(R||(t.DocumentSelector=R={}));var p;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(p||(t.RegistrationRequest=p={}));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 E;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(E||(t.PositionEncodingKind=E={}));var P;(function(d){function ke(we){const W=we;return W&&r.string(W.id)&&W.id.length>0}d.hasId=ke})(P||(t.StaticRegistrationOptions=P={}));var x;(function(d){function ke(we){const W=we;return W&&(W.documentSelector===null||R.is(W.documentSelector))}d.is=ke})(x||(t.TextDocumentRegistrationOptions=x={}));var L;(function(d){function ke(W){const h=W;return r.objectLiteral(h)&&(h.workDoneProgress===void 0||r.boolean(h.workDoneProgress))}d.is=ke;function we(W){const h=W;return h&&r.boolean(h.workDoneProgress)}d.hasWorkDoneProgress=we})(L||(t.WorkDoneProgressOptions=L={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var q;(function(d){d.unknownProtocolVersion=1})(q||(t.InitializeErrorCodes=q={}));var se;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(se||(t.InitializedNotification=se={}));var V;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(V||(t.ShutdownRequest=V={}));var Ie;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(Ie||(t.ExitNotification=Ie={}));var te;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(te||(t.DidChangeConfigurationNotification=te={}));var $e;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})($e||(t.MessageType=$e={}));var Me;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Me||(t.ShowMessageNotification=Me={}));var fe;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(fe||(t.ShowMessageRequest=fe={}));var Fe;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Fe||(t.LogMessageNotification=Fe={}));var Ce;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ce||(t.TelemetryEventNotification=Ce={}));var K;(function(d){d.None=0,d.Full=1,d.Incremental=2})(K||(t.TextDocumentSyncKind=K={}));var Oe;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Oe||(t.DidOpenTextDocumentNotification=Oe={}));var ce;(function(d){function ke(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}d.isIncremental=ke;function we(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}d.isFull=we})(ce||(t.TextDocumentContentChangeEvent=ce={}));var et;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(et||(t.DidChangeTextDocumentNotification=et={}));var er;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(er||(t.DidCloseTextDocumentNotification=er={}));var li;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(li||(t.DidSaveTextDocumentNotification=li={}));var ui;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(ui||(t.TextDocumentSaveReason=ui={}));var di;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(di||(t.WillSaveTextDocumentNotification=di={}));var fi;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(fi||(t.WillSaveTextDocumentWaitUntilRequest=fi={}));var vt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(vt||(t.DidChangeWatchedFilesNotification=vt={}));var hi;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(hi||(t.FileChangeType=hi={}));var hs;(function(d){function ke(we){const W=we;return r.objectLiteral(W)&&(n.URI.is(W.baseUri)||n.WorkspaceFolder.is(W.baseUri))&&r.string(W.pattern)}d.is=ke})(hs||(t.RelativePattern=hs={}));var ps;(function(d){d.Create=1,d.Change=2,d.Delete=4})(ps||(t.WatchKind=ps={}));var ms;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(ms||(t.PublishDiagnosticsNotification=ms={}));var gs;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(gs||(t.CompletionTriggerKind=gs={}));var pi;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(pi||(t.CompletionRequest=pi={}));var mi;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(mi||(t.CompletionResolveRequest=mi={}));var jt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(jt||(t.HoverRequest=jt={}));var gi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(gi||(t.SignatureHelpTriggerKind=gi={}));var ys;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ys||(t.SignatureHelpRequest=ys={}));var Ts;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ts||(t.DefinitionRequest=Ts={}));var yi;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(yi||(t.ReferencesRequest=yi={}));var Ti;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ti||(t.DocumentHighlightRequest=Ti={}));var Rs;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Rs||(t.DocumentSymbolRequest=Rs={}));var vs;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(vs||(t.CodeActionRequest=vs={}));var Es;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Es||(t.CodeActionResolveRequest=Es={}));var As;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(As||(t.WorkspaceSymbolRequest=As={}));var Ss;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Ss||(t.WorkspaceSymbolResolveRequest=Ss={}));var Cs;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Cs||(t.CodeLensRequest=Cs={}));var Et;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Et||(t.CodeLensResolveRequest=Et={}));var ks;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(ks||(t.CodeLensRefreshRequest=ks={}));var ws;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ws||(t.DocumentLinkRequest=ws={}));var _n;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_n||(t.DocumentLinkResolveRequest=_n={}));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 tr;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(tr||(t.DocumentRangeFormattingRequest=tr={}));var bs;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(bs||(t.DocumentRangesFormattingRequest=bs={}));var zt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(zt||(t.DocumentOnTypeFormattingRequest=zt={}));var ln;(function(d){d.Identifier=1})(ln||(t.PrepareSupportDefaultBehavior=ln={}));var _s;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_s||(t.RenameRequest=_s={}));var Is;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Is||(t.PrepareRenameRequest=Is={}));var un;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(un||(t.ExecuteCommandRequest=un={}));var Ri;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(Ri||(t.ApplyWorkspaceEditRequest=Ri={}))})(yp);var so={};Object.defineProperty(so,"__esModule",{value:!0});so.createProtocolConnection=void 0;const pf=Jn;function eE(t,e,n,r){return pf.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,pf.createMessageConnection)(t,e,n,r)}so.createProtocolConnection=eE;(function(t){var e=yt&&yt.__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=yt&&yt.__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(Jn,t),n(Vl,t),n(Y,t),n(yp,t);var r=so;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={}))})(gp);(function(t){var e=yt&&yt.__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=yt&&yt.__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=nd;n(nd,t),n(gp,t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(Ui);var zi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(zi||(zi={}));class tE{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=H.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=ge.None){var i;for(const s of e){const a=s.uri.toString();if(s.state===H.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(s,H.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=H.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=H.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=ge.None){this.currentState=H.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=H.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,H.Changed)}const a=pe(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,H.ComputedScopes)),await this.emitUpdate(s,i),await Ye(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>{var l;return c.state<H.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 pe(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),zi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case H.Changed:case H.Parsed:this.indexManager.removeContent(e.uri);case H.IndexedContent:e.localSymbols=void 0;case H.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case H.Linked:this.indexManager.removeReferences(e.uri);case H.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case H.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=H.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,H.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,H.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,H.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,H.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,H.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,H.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),zi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),zi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=ge.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(Ar);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ui.ResponseError(Ui.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${H[i.state]}, requiring ${H[e]}, but workspace state is already ${H[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ui.ResponseError(Ui.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{lt.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Ar)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(Ar):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Ar)})})}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(!Ya(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await 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=pe(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 nE{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new gv,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=>{lt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),pe(i)}allElements(e,n){let r=pe(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=ge.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=ge.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 rE{constructor(e){this.initialBuildOptions={},this._ready=new ql,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=ge.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=pe(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 Nt.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=lt.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class iE{buildUnexpectedCharactersMessage(e,n,r,i,s){return qo.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return qo.buildUnableToPopLexerModeMessage(e)}}const sE={mode:"full"};class aE{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=mf(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new nt(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=sE){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(mf(e))return e;const n=Ep(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function oE(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Ep(t){return t&&"modes"in t&&"defaultMode"in t}function mf(t){return!oE(t)&&!Ep(t)}function cE(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=ee.create(0,0));const s=Ap(t),a=Kl(r),o=dE({lines:s,position:i,options:a});return gE({index:0,tokens:o,position:i})}function lE(t,e){const n=Kl(e),r=Ap(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 Ap(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(lg)}const gf=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,uE=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function dE(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 g=(i=t.options.start)==null?void 0:i.exec(u);g&&(f=g.index+g[0].length)}else{const g=(s=t.options.line)==null?void 0:s.exec(u);g&&(f=g.index+g[0].length)}if(l){const g=(a=t.options.end)==null?void 0:a.exec(u);g&&(u=u.substring(0,g.index))}if(u=u.substring(0,mE(u)),dl(u,f)>=u.length){if(e.length>0){const g=ee.create(n,r);e.push({type:"break",content:"",range:J.create(g,g)})}}else{gf.lastIndex=f;const g=gf.exec(u);if(g){const A=g[0],w=g[1],$=ee.create(n,r+f),N=ee.create(n,r+f+A.length);e.push({type:"tag",content:w,range:J.create($,N)}),f+=A.length,f=dl(u,f)}if(f<u.length){const A=u.substring(f),w=Array.from(A.matchAll(uE));e.push(...fE(w,A,n,r+f))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function fE(t,e,n,r){const i=[];if(t.length===0){const s=ee.create(n,r),a=ee.create(n,r+e.length);i.push({type:"text",content:e,range:J.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:J.create(ee.create(n,s+r),ee.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:J.create(ee.create(n,s+u+r),ee.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const m=o[3];i.push({type:"text",content:m,range:J.create(ee.create(n,s+u+r),ee.create(n,s+u+m.length+r))})}else i.push({type:"text",content:"",range:J.create(ee.create(n,s+u+r),ee.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:J.create(ee.create(n,s+r),ee.create(n,s+r+a.length))})}return i}const hE=/\S/,pE=/\s*$/;function dl(t,e){const n=t.substring(e).match(hE);return n?e+n.index:t.length}function mE(t){const e=t.match(pE);if(e&&typeof e.index=="number")return e.index}function gE(t){var s,a;const e=ee.create(t.position.line,t.position.character);if(t.tokens.length===0)return new yf([],J.create(e,e));const n=[];for(;t.index<t.tokens.length;){const o=yE(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 yf(n,J.create(r,i))}function yE(t,e){const n=t.tokens[t.index];if(n.type==="tag")return Cp(t,!1);if(n.type==="text"||n.type==="inline-tag")return Sp(t);TE(n,e),t.index++}function TE(t,e){if(e){const n=new wp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function Sp(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(RE(t)),r=e,e=t.tokens[t.index];return new fl(i,J.create(n.range.start,r.range.end))}function RE(t){return t.tokens[t.index].type==="inline-tag"?Cp(t,!0):kp(t)}function Cp(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=kp(t);return new Co(r,new fl([s],s.range),e,J.create(n.range.start,s.range.end))}else{const s=Sp(t);return new Co(r,s,e,J.create(n.range.start,s.range.end))}else{const s=n.range;return new Co(r,new fl([],s),e,s)}}function kp(t){const e=t.tokens[t.index++];return new wp(e.content,e.range)}function Kl(t){if(!t)return Kl({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:So(e,!0),end:So(n,!1),line:So(r,!0)}}function So(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Ua(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class yf{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+=Tf(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+=Tf(n)+i}return n.trim()}}class Co{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}
|
|
150
|
+
${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=vE(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}
|
|
151
|
+
${n}`),this.inline?`{${i}}`:i}}function vE(t,e,n){var r;if(t==="linkplain"||t==="linkcode"||t==="link"){const i=e.indexOf(" ");let s=e;if(i>0){const o=dl(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))??EE(e,s)}}function EE(t,e){try{return Nt.parse(t,!0),`[${e}](${t})`}catch{return t}}class fl{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+=`
|
|
152
|
+
`)}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+=`
|
|
153
|
+
`)}return n}}class wp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Tf(t){return t.endsWith(`
|
|
154
|
+
`)?`
|
|
155
|
+
`:`
|
|
156
|
+
|
|
157
|
+
`}class AE{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&lE(n))return cE(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 SE{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return Rv(e)?e.$comment:(n=ig(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:n.text}}class CE{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class kE{constructor(){this.previousTokenSource=new Bl,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=iv();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=ge.None){const i=new ql,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Ya(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class wE{constructor(e){this.grammarElementIdMap=new Bu,this.tokenTypeIdMap=new Bu,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 Go(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)Ve(o)?a.push(this.dehydrateAstNode(o,n)):Ct(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else Ve(s)?r[i]=this.dehydrateAstNode(s,n):Ct(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 Uf(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),qi(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Gf(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 Go(e.$cstNode)){let a;"fullText"in s?(a=new Yh(s.fullText),i=a):"content"in s?a=new Ul:"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)Ve(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):Ct(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else Ve(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Ct(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),qi(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 Qc(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))xm(n)&&this.grammarElementIdMap.set(n,e++)}}function kn(t){return{documentation:{CommentProvider:e=>new SE(e),DocumentationProvider:e=>new AE(e)},parser:{AsyncParser:e=>new CE(e),GrammarConfig:e=>$g(e),LangiumParser:e=>BR(e),CompletionParser:e=>zR(e),ValueConverter:()=>new ip,TokenBuilder:()=>new rp,Lexer:e=>new aE(e),ParserErrorMessageProvider:()=>new Qh,LexerErrorMessageProvider:()=>new iE},workspace:{AstNodeLocator:()=>new _v,AstNodeDescriptionProvider:e=>new Nv(e),ReferenceDescriptionProvider:e=>new bv(e)},references:{Linker:e=>new lv(e),NameProvider:()=>new dv,ScopeProvider:e=>new Tv(e),ScopeComputation:e=>new hv(e),References:e=>new fv(e)},serializer:{Hydrator:e=>new wE(e),JsonSerializer:e=>new vv(e)},validation:{DocumentValidator:e=>new Cv(e),ValidationRegistry:e=>new Av(e)},shared:()=>t.shared}}function wn(t){return{ServiceRegistry:e=>new Ev(e),workspace:{LangiumDocuments:e=>new cv(e),LangiumDocumentFactory:e=>new ov(e),DocumentBuilder:e=>new tE(e),IndexManager:e=>new nE(e),WorkspaceManager:e=>new rE(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new kE,ConfigurationProvider:e=>new Iv(e)},profilers:{}}}var Rf;(function(t){t.merge=(e,n)=>rs(rs({},e),n)})(Rf||(Rf={}));function Ke(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(rs,{});return Np(l)}const NE=Symbol("isProxy");function Np(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===NE?!0:Ef(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(Ef(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const vf=Symbol();function Ef(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]===vf)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]=vf;try{t[e]=typeof i=="function"?i(r):Np(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function rs(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]=rs(i,r):t[n]=rs({},r)}else t[n]=r}return t}class bE{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 Nn={fileSystemProvider:()=>new bE},_E={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},IE={AstReflection:()=>new Vf};function $E(){const t=Ke(wn(Nn),IE),e=Ke(kn({shared:t}),_E);return t.ServiceRegistry.register(e),e}function Qn(t){const e=$E(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,Nt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var PE=Object.defineProperty,_=(t,e)=>PE(t,"name",{value:e,configurable:!0}),hl;(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 ]+\]/}})(hl||(hl={}));var pl;(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])?/}})(pl||(pl={}));var ml;(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]*/}})(ml||(ml={}));var gl;(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]*/}})(gl||(gl={}));var yl;(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]*/}})(yl||(yl={}));var Tl;(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]*/}})(Tl||(Tl={}));var Rl;(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:/"[^"]*"|'[^']*'/}})(Rl||(Rl={}));({...hl.Terminals,...pl.Terminals,...ml.Terminals,...gl.Terminals,...yl.Terminals,...Tl.Terminals,...Rl.Terminals});var Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function LE(t){return It.isInstance(t,Kt.$type)}_(LE,"isArchitecture");var Gs={$type:"Axis",label:"label",name:"name"},na={$type:"Branch",name:"name",order:"order"};function OE(t){return It.isInstance(t,na.$type)}_(OE,"isBranch");var Af={$type:"Checkout",branch:"branch"},Us={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},ko={$type:"ClassDefStatement",className:"className",styleText:"styleText"},gr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function xE(t){return It.isInstance(t,gr.$type)}_(xE,"isCommit");var js={$type:"Curve",entries:"entries",label:"label",name:"name"},sr={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Pt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},wo={$type:"Entry",axis:"axis",value:"value"},Fn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function DE(t){return It.isInstance(t,Fn.$type)}_(DE,"isGitGraph");var Ii={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},ji={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function ME(t){return It.isInstance(t,ji.$type)}_(ME,"isInfo");var $i={$type:"Item",classSelector:"classSelector",name:"name"},No={$type:"Junction",id:"id",in:"in"},zs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},yr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function FE(t){return It.isInstance(t,yr.$type)}_(FE,"isMerge");var bo={$type:"Option",name:"name",value:"value"},Tr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function GE(t){return It.isInstance(t,Tr.$type)}_(GE,"isPacket");var Rr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function UE(t){return It.isInstance(t,Rr.$type)}_(UE,"isPacketBlock");var Gn={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function jE(t){return It.isInstance(t,Gn.$type)}_(jE,"isPie");var ra={$type:"PieSection",label:"label",value:"value"};function zE(t){return It.isInstance(t,ra.$type)}_(zE,"isPieSection");var Ln={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},_o={$type:"Section",classSelector:"classSelector",name:"name"},ar={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},or={$type:"Statement"},vr={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function BE(t){return It.isInstance(t,vr.$type)}_(BE,"isTreemap");var Io={$type:"TreemapRow",indent:"indent",item:"item"},Cr,bp=(Cr=class extends Ff{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:Gs.$type,properties:{label:{name:Gs.label},name:{name:Gs.name}},superTypes:[]},Branch:{name:na.$type,properties:{name:{name:na.name},order:{name:na.order}},superTypes:[or.$type]},Checkout:{name:Af.$type,properties:{branch:{name:Af.branch}},superTypes:[or.$type]},CherryPicking:{name:Us.$type,properties:{id:{name:Us.id},parent:{name:Us.parent},tags:{name:Us.tags,defaultValue:[]}},superTypes:[or.$type]},ClassDefStatement:{name:ko.$type,properties:{className:{name:ko.className},styleText:{name:ko.styleText}},superTypes:[]},Commit:{name:gr.$type,properties:{id:{name:gr.id},message:{name:gr.message},tags:{name:gr.tags,defaultValue:[]},type:{name:gr.type}},superTypes:[or.$type]},Curve:{name:js.$type,properties:{entries:{name:js.entries,defaultValue:[]},label:{name:js.label},name:{name:js.name}},superTypes:[]},Direction:{name:sr.$type,properties:{accDescr:{name:sr.accDescr},accTitle:{name:sr.accTitle},dir:{name:sr.dir},statements:{name:sr.statements,defaultValue:[]},title:{name:sr.title}},superTypes:[Fn.$type]},Edge:{name:Pt.$type,properties:{lhsDir:{name:Pt.lhsDir},lhsGroup:{name:Pt.lhsGroup,defaultValue:!1},lhsId:{name:Pt.lhsId},lhsInto:{name:Pt.lhsInto,defaultValue:!1},rhsDir:{name:Pt.rhsDir},rhsGroup:{name:Pt.rhsGroup,defaultValue:!1},rhsId:{name:Pt.rhsId},rhsInto:{name:Pt.rhsInto,defaultValue:!1},title:{name:Pt.title}},superTypes:[]},Entry:{name:wo.$type,properties:{axis:{name:wo.axis,referenceType:Gs.$type},value:{name:wo.value}},superTypes:[]},GitGraph:{name:Fn.$type,properties:{accDescr:{name:Fn.accDescr},accTitle:{name:Fn.accTitle},statements:{name:Fn.statements,defaultValue:[]},title:{name:Fn.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:ji.$type,properties:{accDescr:{name:ji.accDescr},accTitle:{name:ji.accTitle},title:{name:ji.title}},superTypes:[]},Item:{name:$i.$type,properties:{classSelector:{name:$i.classSelector},name:{name:$i.name}},superTypes:[]},Junction:{name:No.$type,properties:{id:{name:No.id},in:{name:No.in}},superTypes:[]},Leaf:{name:zs.$type,properties:{classSelector:{name:zs.classSelector},name:{name:zs.name},value:{name:zs.value}},superTypes:[$i.$type]},Merge:{name:yr.$type,properties:{branch:{name:yr.branch},id:{name:yr.id},tags:{name:yr.tags,defaultValue:[]},type:{name:yr.type}},superTypes:[or.$type]},Option:{name:bo.$type,properties:{name:{name:bo.name},value:{name:bo.value,defaultValue:!1}},superTypes:[]},Packet:{name:Tr.$type,properties:{accDescr:{name:Tr.accDescr},accTitle:{name:Tr.accTitle},blocks:{name:Tr.blocks,defaultValue:[]},title:{name:Tr.title}},superTypes:[]},PacketBlock:{name:Rr.$type,properties:{bits:{name:Rr.bits},end:{name:Rr.end},label:{name:Rr.label},start:{name:Rr.start}},superTypes:[]},Pie:{name:Gn.$type,properties:{accDescr:{name:Gn.accDescr},accTitle:{name:Gn.accTitle},sections:{name:Gn.sections,defaultValue:[]},showData:{name:Gn.showData,defaultValue:!1},title:{name:Gn.title}},superTypes:[]},PieSection:{name:ra.$type,properties:{label:{name:ra.label},value:{name:ra.value}},superTypes:[]},Radar:{name:Ln.$type,properties:{accDescr:{name:Ln.accDescr},accTitle:{name:Ln.accTitle},axes:{name:Ln.axes,defaultValue:[]},curves:{name:Ln.curves,defaultValue:[]},options:{name:Ln.options,defaultValue:[]},title:{name:Ln.title}},superTypes:[]},Section:{name:_o.$type,properties:{classSelector:{name:_o.classSelector},name:{name:_o.name}},superTypes:[$i.$type]},Service:{name:ar.$type,properties:{icon:{name:ar.icon},iconText:{name:ar.iconText},id:{name:ar.id},in:{name:ar.in},title:{name:ar.title}},superTypes:[]},Statement:{name:or.$type,properties:{},superTypes:[]},Treemap:{name:vr.$type,properties:{accDescr:{name:vr.accDescr},accTitle:{name:vr.accTitle},title:{name:vr.title},TreemapRows:{name:vr.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Io.$type,properties:{indent:{name:Io.indent},item:{name:Io.item}},superTypes:[]}}}},_(Cr,"MermaidAstReflection"),Cr),It=new bp,Sf,qE=_(()=>Sf??(Sf=Qn(`{"$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"),Cf,WE=_(()=>Cf??(Cf=Qn(`{"$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"),kf,VE=_(()=>kf??(kf=Qn(`{"$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"),wf,KE=_(()=>wf??(wf=Qn(`{"$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"),Nf,HE=_(()=>Nf??(Nf=Qn(`{"$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"),bf,YE=_(()=>bf??(bf=Qn(`{"$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"),_f,XE=_(()=>_f??(_f=Qn(`{"$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"),JE={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QE={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZE={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},eA={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},tA={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},nA={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rA={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Zn={AstReflection:_(()=>new bp,"AstReflection")},iA={Grammar:_(()=>qE(),"Grammar"),LanguageMetaData:_(()=>JE,"LanguageMetaData"),parser:{}},sA={Grammar:_(()=>WE(),"Grammar"),LanguageMetaData:_(()=>QE,"LanguageMetaData"),parser:{}},aA={Grammar:_(()=>VE(),"Grammar"),LanguageMetaData:_(()=>ZE,"LanguageMetaData"),parser:{}},oA={Grammar:_(()=>KE(),"Grammar"),LanguageMetaData:_(()=>eA,"LanguageMetaData"),parser:{}},cA={Grammar:_(()=>HE(),"Grammar"),LanguageMetaData:_(()=>tA,"LanguageMetaData"),parser:{}},lA={Grammar:_(()=>YE(),"Grammar"),LanguageMetaData:_(()=>nA,"LanguageMetaData"),parser:{}},uA={Grammar:_(()=>XE(),"Grammar"),LanguageMetaData:_(()=>rA,"LanguageMetaData"),parser:{}},dA=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,fA=/accTitle[\t ]*:([^\n\r]*)/,hA=/title([\t ][^\n\r]*|)/,pA={ACC_DESCR:dA,ACC_TITLE:fA,TITLE:hA},kr,ao=(kr=class extends ip{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=pA[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,`
|
|
158
|
+
`)}}},_(kr,"AbstractMermaidValueConverter"),kr),wr,oo=(wr=class extends ao{runCustomConverter(e,n,r){}},_(wr,"CommonValueConverter"),wr),Nr,bn=(Nr=class extends rp{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}},_(Nr,"AbstractMermaidTokenBuilder"),Nr),br;br=class extends bn{},_(br,"CommonTokenBuilder");var _r,mA=(_r=class extends bn{constructor(){super(["gitGraph"])}},_(_r,"GitGraphTokenBuilder"),_r),_p={parser:{TokenBuilder:_(()=>new mA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function Ip(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),sA,_p);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}_(Ip,"createGitGraphServices");var Ir,gA=(Ir=class extends bn{constructor(){super(["info","showInfo"])}},_(Ir,"InfoTokenBuilder"),Ir),$p={parser:{TokenBuilder:_(()=>new gA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function Pp(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),aA,$p);return e.ServiceRegistry.register(n),{shared:e,Info:n}}_(Pp,"createInfoServices");var $r,yA=($r=class extends bn{constructor(){super(["packet"])}},_($r,"PacketTokenBuilder"),$r),Lp={parser:{TokenBuilder:_(()=>new yA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function Op(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),oA,Lp);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}_(Op,"createPacketServices");var Pr,TA=(Pr=class extends bn{constructor(){super(["pie","showData"])}},_(Pr,"PieTokenBuilder"),Pr),Lr,RA=(Lr=class extends ao{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},_(Lr,"PieValueConverter"),Lr),xp={parser:{TokenBuilder:_(()=>new TA,"TokenBuilder"),ValueConverter:_(()=>new RA,"ValueConverter")}};function Dp(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),cA,xp);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}_(Dp,"createPieServices");var Or,vA=(Or=class extends bn{constructor(){super(["architecture"])}},_(Or,"ArchitectureTokenBuilder"),Or),xr,EA=(xr=class extends ao{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()}},_(xr,"ArchitectureValueConverter"),xr),Mp={parser:{TokenBuilder:_(()=>new vA,"TokenBuilder"),ValueConverter:_(()=>new EA,"ValueConverter")}};function Fp(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),iA,Mp);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}_(Fp,"createArchitectureServices");var Dr,AA=(Dr=class extends bn{constructor(){super(["radar-beta"])}},_(Dr,"RadarTokenBuilder"),Dr),Gp={parser:{TokenBuilder:_(()=>new AA,"TokenBuilder"),ValueConverter:_(()=>new oo,"ValueConverter")}};function Up(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),lA,Gp);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}_(Up,"createRadarServices");var Mr,SA=(Mr=class extends bn{constructor(){super(["treemap"])}},_(Mr,"TreemapTokenBuilder"),Mr),CA=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Fr,kA=(Fr=class extends ao{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=CA.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},_(Fr,"TreemapValueConverter"),Fr);function jp(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}_(jp,"registerValidationChecks");var Gr,wA=(Gr=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"}))}},_(Gr,"TreemapValidator"),Gr),zp={parser:{TokenBuilder:_(()=>new SA,"TokenBuilder"),ValueConverter:_(()=>new kA,"ValueConverter")},validation:{TreemapValidator:_(()=>new wA,"TreemapValidator")}};function Bp(t=Nn){const e=Ke(wn(t),Zn),n=Ke(kn({shared:e}),uA,zp);return e.ServiceRegistry.register(n),jp(n),{shared:e,Treemap:n}}_(Bp,"createTreemapServices");var Yt={},NA={info:_(async()=>{const{createInfoServices:t}=await In(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>IA);return{createInfoServices:n}},void 0),e=t().Info.parser.LangiumParser;Yt.info=e},"info"),packet:_(async()=>{const{createPacketServices:t}=await In(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>$A);return{createPacketServices:n}},void 0),e=t().Packet.parser.LangiumParser;Yt.packet=e},"packet"),pie:_(async()=>{const{createPieServices:t}=await In(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>PA);return{createPieServices:n}},void 0),e=t().Pie.parser.LangiumParser;Yt.pie=e},"pie"),architecture:_(async()=>{const{createArchitectureServices:t}=await In(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>LA);return{createArchitectureServices:n}},void 0),e=t().Architecture.parser.LangiumParser;Yt.architecture=e},"architecture"),gitGraph:_(async()=>{const{createGitGraphServices:t}=await In(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>OA);return{createGitGraphServices:n}},void 0),e=t().GitGraph.parser.LangiumParser;Yt.gitGraph=e},"gitGraph"),radar:_(async()=>{const{createRadarServices:t}=await In(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>xA);return{createRadarServices:n}},void 0),e=t().Radar.parser.LangiumParser;Yt.radar=e},"radar"),treemap:_(async()=>{const{createTreemapServices:t}=await In(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>DA);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;Yt.treemap=e},"treemap")};async function bA(t,e){const n=NA[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 _A(i);return i.value}_(bA,"parse");var Ur,_A=(Ur=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
|
|
159
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
160
|
+
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},_(Ur,"MermaidParseError"),Ur);const IA=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:$p,createInfoServices:Pp},Symbol.toStringTag,{value:"Module"})),$A=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Lp,createPacketServices:Op},Symbol.toStringTag,{value:"Module"})),PA=Object.freeze(Object.defineProperty({__proto__:null,PieModule:xp,createPieServices:Dp},Symbol.toStringTag,{value:"Module"})),LA=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Mp,createArchitectureServices:Fp},Symbol.toStringTag,{value:"Module"})),OA=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:_p,createGitGraphServices:Ip},Symbol.toStringTag,{value:"Module"})),xA=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Gp,createRadarServices:Up},Symbol.toStringTag,{value:"Module"})),DA=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:zp,createTreemapServices:Bp},Symbol.toStringTag,{value:"Module"}));export{bA as p};
|