Files
Chen Xiao 0b64e2de94 First commit.
Signed-off-by: Chen Xiao <abigwc@gmail.com>
2026-05-08 14:43:16 +08:00

160 lines
510 KiB
JavaScript

import{A as Oe,B as kc,C as ir,D as At,G as Eh,I as Gt,L as Ge,M as Pn,O as Wo,R as Js,S as Ah,a as We,b as Lr,c as ft,d as Ke,e as Ae,g as Dr,i as Xs,j as _n,k as Tr,l as Ve,m as sn,n as D,o as Et,p as ot,q as Mr,r as dt,s as b,t as pt,w as vh,x as G,y as mt,z as Ce}from"./chunk-H3VCZNTA.mjs";import{d as te}from"./chunk-QU3B7NT4.mjs";import{M as Sc,d as xh,e as yr,z as Ze}from"./chunk-JIN56HTB.mjs";import{a as s,b as Sx,c as J,d as nn,e as ae,f as Ac,g as Cc}from"./chunk-VELTKBKT.mjs";var fu={};nn(fu,{AnnotatedTextEdit:()=>Jr,ChangeAnnotation:()=>si,ChangeAnnotationIdentifier:()=>lt,CodeAction:()=>_d,CodeActionContext:()=>bd,CodeActionKind:()=>Id,CodeActionTriggerKind:()=>Wa,CodeDescription:()=>od,CodeLens:()=>Pd,Color:()=>iu,ColorInformation:()=>td,ColorPresentation:()=>rd,Command:()=>ai,CompletionItem:()=>Td,CompletionItemKind:()=>dd,CompletionItemLabelDetails:()=>yd,CompletionItemTag:()=>md,CompletionList:()=>Rd,CreateFile:()=>ls,DeleteFile:()=>cs,Diagnostic:()=>za,DiagnosticRelatedInformation:()=>su,DiagnosticSeverity:()=>sd,DiagnosticTag:()=>ad,DocumentHighlight:()=>Ad,DocumentHighlightKind:()=>Ed,DocumentLink:()=>Ld,DocumentSymbol:()=>wd,DocumentUri:()=>Zf,EOL:()=>QE,FoldingRange:()=>id,FoldingRangeKind:()=>nd,FormattingOptions:()=>Od,Hover:()=>$d,InlayHint:()=>Bd,InlayHintKind:()=>uu,InlayHintLabelPart:()=>cu,InlineCompletionContext:()=>Xd,InlineCompletionItem:()=>Kd,InlineCompletionList:()=>Vd,InlineCompletionTriggerKind:()=>Hd,InlineValueContext:()=>jd,InlineValueEvaluatableExpression:()=>qd,InlineValueText:()=>Ud,InlineValueVariableLookup:()=>zd,InsertReplaceEdit:()=>hd,InsertTextFormat:()=>pd,InsertTextMode:()=>gd,Location:()=>Ua,LocationLink:()=>ed,MarkedString:()=>Ba,MarkupContent:()=>fs,MarkupKind:()=>lu,OptionalVersionedTextDocumentIdentifier:()=>ja,ParameterInformation:()=>xd,Position:()=>le,Range:()=>ie,RenameFile:()=>us,SelectedCompletionInfo:()=>Yd,SelectionRange:()=>Dd,SemanticTokenModifiers:()=>Fd,SemanticTokenTypes:()=>Md,SemanticTokens:()=>Gd,SignatureInformation:()=>vd,StringValue:()=>Wd,SymbolInformation:()=>kd,SymbolKind:()=>Cd,SymbolTag:()=>Sd,TextDocument:()=>Zd,TextDocumentEdit:()=>qa,TextDocumentIdentifier:()=>ud,TextDocumentItem:()=>fd,TextEdit:()=>Cr,URI:()=>nu,VersionedTextDocumentIdentifier:()=>cd,WorkspaceChange:()=>ld,WorkspaceEdit:()=>au,WorkspaceFolder:()=>Jd,WorkspaceSymbol:()=>Nd,integer:()=>Qf,uinteger:()=>Ga});var Zf,nu,Qf,Ga,le,ie,Ua,ed,iu,td,rd,nd,id,su,sd,ad,od,za,ai,Cr,si,lt,Jr,qa,ls,us,cs,au,os,ou,ld,ud,cd,ja,fd,lu,fs,dd,pd,md,hd,gd,yd,Td,Rd,Ba,$d,xd,vd,Ed,Ad,Cd,Sd,kd,Nd,wd,Id,Wa,bd,_d,Pd,Od,Ld,Dd,Md,Fd,Gd,Ud,zd,qd,jd,uu,cu,Bd,Wd,Kd,Vd,Hd,Yd,Xd,Jd,QE,Zd,Qd,g,ds=Sx(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(Zf||(Zf={}));(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(nu||(nu={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(Qf||(Qf={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(Ga||(Ga={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Ga.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ga.MAX_VALUE),{line:n,character:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.line)&&g.uinteger(i.character)}s(r,"is"),t.is=r})(le||(le={}));(function(t){function e(n,i,a,o){if(g.uinteger(n)&&g.uinteger(i)&&g.uinteger(a)&&g.uinteger(o))return{start:le.create(n,i),end:le.create(a,o)};if(le.is(n)&&le.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${o}]`)}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.start)&&le.is(i.end)}s(r,"is"),t.is=r})(ie||(ie={}));(function(t){function e(n,i){return{uri:n,range:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(g.string(i.uri)||g.undefined(i.uri))}s(r,"is"),t.is=r})(Ua||(Ua={}));(function(t){function e(n,i,a,o){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:o}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.targetRange)&&g.string(i.targetUri)&&ie.is(i.targetSelectionRange)&&(ie.is(i.originSelectionRange)||g.undefined(i.originSelectionRange))}s(r,"is"),t.is=r})(ed||(ed={}));(function(t){function e(n,i,a,o){return{red:n,green:i,blue:a,alpha:o}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.numberRange(i.red,0,1)&&g.numberRange(i.green,0,1)&&g.numberRange(i.blue,0,1)&&g.numberRange(i.alpha,0,1)}s(r,"is"),t.is=r})(iu||(iu={}));(function(t){function e(n,i){return{range:n,color:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&iu.is(i.color)}s(r,"is"),t.is=r})(td||(td={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.undefined(i.textEdit)||Cr.is(i))&&(g.undefined(i.additionalTextEdits)||g.typedArray(i.additionalTextEdits,Cr.is))}s(r,"is"),t.is=r})(rd||(rd={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(nd||(nd={}));(function(t){function e(n,i,a,o,l,u){let c={startLine:n,endLine:i};return g.defined(a)&&(c.startCharacter=a),g.defined(o)&&(c.endCharacter=o),g.defined(l)&&(c.kind=l),g.defined(u)&&(c.collapsedText=u),c}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.startLine)&&g.uinteger(i.startLine)&&(g.undefined(i.startCharacter)||g.uinteger(i.startCharacter))&&(g.undefined(i.endCharacter)||g.uinteger(i.endCharacter))&&(g.undefined(i.kind)||g.string(i.kind))}s(r,"is"),t.is=r})(id||(id={}));(function(t){function e(n,i){return{location:n,message:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&Ua.is(i.location)&&g.string(i.message)}s(r,"is"),t.is=r})(su||(su={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(sd||(sd={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(ad||(ad={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&g.string(n.href)}s(e,"is"),t.is=e})(od||(od={}));(function(t){function e(n,i,a,o,l,u){let c={range:n,message:i};return g.defined(a)&&(c.severity=a),g.defined(o)&&(c.code=o),g.defined(l)&&(c.source=l),g.defined(u)&&(c.relatedInformation=u),c}s(e,"create"),t.create=e;function r(n){var i;let a=n;return g.defined(a)&&ie.is(a.range)&&g.string(a.message)&&(g.number(a.severity)||g.undefined(a.severity))&&(g.integer(a.code)||g.string(a.code)||g.undefined(a.code))&&(g.undefined(a.codeDescription)||g.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(g.string(a.source)||g.undefined(a.source))&&(g.undefined(a.relatedInformation)||g.typedArray(a.relatedInformation,su.is))}s(r,"is"),t.is=r})(za||(za={}));(function(t){function e(n,i,...a){let o={title:n,command:i};return g.defined(a)&&a.length>0&&(o.arguments=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.title)&&g.string(i.command)}s(r,"is"),t.is=r})(ai||(ai={}));(function(t){function e(a,o){return{range:a,newText:o}}s(e,"replace"),t.replace=e;function r(a,o){return{range:{start:a,end:a},newText:o}}s(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}s(n,"del"),t.del=n;function i(a){let o=a;return g.objectLiteral(o)&&g.string(o.newText)&&ie.is(o.range)}s(i,"is"),t.is=i})(Cr||(Cr={}));(function(t){function e(n,i,a){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),a!==void 0&&(o.description=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(g.string(i.description)||i.description===void 0)}s(r,"is"),t.is=r})(si||(si={}));(function(t){function e(r){let n=r;return g.string(n)}s(e,"is"),t.is=e})(lt||(lt={}));(function(t){function e(a,o,l){return{range:a,newText:o,annotationId:l}}s(e,"replace"),t.replace=e;function r(a,o,l){return{range:{start:a,end:a},newText:o,annotationId:l}}s(r,"insert"),t.insert=r;function n(a,o){return{range:a,newText:"",annotationId:o}}s(n,"del"),t.del=n;function i(a){let o=a;return Cr.is(o)&&(si.is(o.annotationId)||lt.is(o.annotationId))}s(i,"is"),t.is=i})(Jr||(Jr={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ja.is(i.textDocument)&&Array.isArray(i.edits)}s(r,"is"),t.is=r})(qa||(qa={}));(function(t){function e(n,i,a){let o={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&g.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||lt.is(i.annotationId))}s(r,"is"),t.is=r})(ls||(ls={}));(function(t){function e(n,i,a,o){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),o!==void 0&&(l.annotationId=o),l}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&g.string(i.oldUri)&&g.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||lt.is(i.annotationId))}s(r,"is"),t.is=r})(us||(us={}));(function(t){function e(n,i,a){let o={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&g.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||g.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||g.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||lt.is(i.annotationId))}s(r,"is"),t.is=r})(cs||(cs={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>g.string(i.kind)?ls.is(i)||us.is(i)||cs.is(i):qa.is(i)))}s(e,"is"),t.is=e})(au||(au={}));os=class{static{s(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=Cr.insert(e,r):lt.is(n)?(a=n,i=Jr.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jr.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=Cr.replace(e,r):lt.is(n)?(a=n,i=Jr.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jr.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=Cr.del(e):lt.is(r)?(i=r,n=Jr.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Jr.del(e,i)),this.edits.push(n),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.")}},ou=class{static{s(this,"ChangeAnnotations")}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,r){let n;if(lt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},ld=class{static{s(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new ou(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(qa.is(r)){let n=new os(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new os(e.changes[r]);this._textEditChanges[r]=n})):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(ja.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new os(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new os(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ou,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,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;si.is(r)||lt.is(r)?i=r:n=r;let a,o;if(i===void 0?a=ls.create(e,n):(o=lt.is(i)?i:this._changeAnnotations.manage(i),a=ls.create(e,n,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;si.is(n)||lt.is(n)?a=n:i=n;let o,l;if(a===void 0?o=us.create(e,r,i):(l=lt.is(a)?a:this._changeAnnotations.manage(a),o=us.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(o),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;si.is(r)||lt.is(r)?i=r:n=r;let a,o;if(i===void 0?a=cs.create(e,n):(o=lt.is(i)?i:this._changeAnnotations.manage(i),a=cs.create(e,n,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}};(function(t){function e(n){return{uri:n}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)}s(r,"is"),t.is=r})(ud||(ud={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.integer(i.version)}s(r,"is"),t.is=r})(cd||(cd={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&(i.version===null||g.integer(i.version))}s(r,"is"),t.is=r})(ja||(ja={}));(function(t){function e(n,i,a,o){return{uri:n,languageId:i,version:a,text:o}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.string(i.languageId)&&g.integer(i.version)&&g.string(i.text)}s(r,"is"),t.is=r})(fd||(fd={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}s(e,"is"),t.is=e})(lu||(lu={}));(function(t){function e(r){let n=r;return g.objectLiteral(r)&&lu.is(n.kind)&&g.string(n.value)}s(e,"is"),t.is=e})(fs||(fs={}));(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})(dd||(dd={}));(function(t){t.PlainText=1,t.Snippet=2})(pd||(pd={}));(function(t){t.Deprecated=1})(md||(md={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.newText)&&ie.is(i.insert)&&ie.is(i.replace)}s(r,"is"),t.is=r})(hd||(hd={}));(function(t){t.asIs=1,t.adjustIndentation=2})(gd||(gd={}));(function(t){function e(r){let n=r;return n&&(g.string(n.detail)||n.detail===void 0)&&(g.string(n.description)||n.description===void 0)}s(e,"is"),t.is=e})(yd||(yd={}));(function(t){function e(r){return{label:r}}s(e,"create"),t.create=e})(Td||(Td={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}s(e,"create"),t.create=e})(Rd||(Rd={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return g.string(i)||g.objectLiteral(i)&&g.string(i.language)&&g.string(i.value)}s(r,"is"),t.is=r})(Ba||(Ba={}));(function(t){function e(r){let n=r;return!!n&&g.objectLiteral(n)&&(fs.is(n.contents)||Ba.is(n.contents)||g.typedArray(n.contents,Ba.is))&&(r.range===void 0||ie.is(r.range))}s(e,"is"),t.is=e})($d||($d={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}s(e,"create"),t.create=e})(xd||(xd={}));(function(t){function e(r,n,...i){let a={label:r};return g.defined(n)&&(a.documentation=n),g.defined(i)?a.parameters=i:a.parameters=[],a}s(e,"create"),t.create=e})(vd||(vd={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ed||(Ed={}));(function(t){function e(r,n){let i={range:r};return g.number(n)&&(i.kind=n),i}s(e,"create"),t.create=e})(Ad||(Ad={}));(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})(Cd||(Cd={}));(function(t){t.Deprecated=1})(Sd||(Sd={}));(function(t){function e(r,n,i,a,o){let l={name:r,kind:n,location:{uri:a,range:i}};return o&&(l.containerName=o),l}s(e,"create"),t.create=e})(kd||(kd={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}s(e,"create"),t.create=e})(Nd||(Nd={}));(function(t){function e(n,i,a,o,l,u){let c={name:n,detail:i,kind:a,range:o,selectionRange:l};return u!==void 0&&(c.children=u),c}s(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.name)&&g.number(i.kind)&&ie.is(i.range)&&ie.is(i.selectionRange)&&(i.detail===void 0||g.string(i.detail))&&(i.deprecated===void 0||g.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}s(r,"is"),t.is=r})(wd||(wd={}));(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"})(Id||(Id={}));(function(t){t.Invoked=1,t.Automatic=2})(Wa||(Wa={}));(function(t){function e(n,i,a){let o={diagnostics:n};return i!=null&&(o.only=i),a!=null&&(o.triggerKind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.typedArray(i.diagnostics,za.is)&&(i.only===void 0||g.typedArray(i.only,g.string))&&(i.triggerKind===void 0||i.triggerKind===Wa.Invoked||i.triggerKind===Wa.Automatic)}s(r,"is"),t.is=r})(bd||(bd={}));(function(t){function e(n,i,a){let o={title:n},l=!0;return typeof i=="string"?(l=!1,o.kind=i):ai.is(i)?o.command=i:o.edit=i,l&&a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.title)&&(i.diagnostics===void 0||g.typedArray(i.diagnostics,za.is))&&(i.kind===void 0||g.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ai.is(i.command))&&(i.isPreferred===void 0||g.boolean(i.isPreferred))&&(i.edit===void 0||au.is(i.edit))}s(r,"is"),t.is=r})(_d||(_d={}));(function(t){function e(n,i){let a={range:n};return g.defined(i)&&(a.data=i),a}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.command)||ai.is(i.command))}s(r,"is"),t.is=r})(Pd||(Pd={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.uinteger(i.tabSize)&&g.boolean(i.insertSpaces)}s(r,"is"),t.is=r})(Od||(Od={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.target)||g.string(i.target))}s(r,"is"),t.is=r})(Ld||(Ld={}));(function(t){function e(n,i){return{range:n,parent:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(i.parent===void 0||t.is(i.parent))}s(r,"is"),t.is=r})(Dd||(Dd={}));(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"})(Md||(Md={}));(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"})(Fd||(Fd={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}s(e,"is"),t.is=e})(Gd||(Gd={}));(function(t){function e(n,i){return{range:n,text:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.string(i.text)}s(r,"is"),t.is=r})(Ud||(Ud={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.boolean(i.caseSensitiveLookup)&&(g.string(i.variableName)||i.variableName===void 0)}s(r,"is"),t.is=r})(zd||(zd={}));(function(t){function e(n,i){return{range:n,expression:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&(g.string(i.expression)||i.expression===void 0)}s(r,"is"),t.is=r})(qd||(qd={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}s(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(n.stoppedLocation)}s(r,"is"),t.is=r})(jd||(jd={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}s(e,"is"),t.is=e})(uu||(uu={}));(function(t){function e(n){return{value:n}}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&(i.tooltip===void 0||g.string(i.tooltip)||fs.is(i.tooltip))&&(i.location===void 0||Ua.is(i.location))&&(i.command===void 0||ai.is(i.command))}s(r,"is"),t.is=r})(cu||(cu={}));(function(t){function e(n,i,a){let o={position:n,label:i};return a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.position)&&(g.string(i.label)||g.typedArray(i.label,cu.is))&&(i.kind===void 0||uu.is(i.kind))&&i.textEdits===void 0||g.typedArray(i.textEdits,Cr.is)&&(i.tooltip===void 0||g.string(i.tooltip)||fs.is(i.tooltip))&&(i.paddingLeft===void 0||g.boolean(i.paddingLeft))&&(i.paddingRight===void 0||g.boolean(i.paddingRight))}s(r,"is"),t.is=r})(Bd||(Bd={}));(function(t){function e(r){return{kind:"snippet",value:r}}s(e,"createSnippet"),t.createSnippet=e})(Wd||(Wd={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}s(e,"create"),t.create=e})(Kd||(Kd={}));(function(t){function e(r){return{items:r}}s(e,"create"),t.create=e})(Vd||(Vd={}));(function(t){t.Invoked=0,t.Automatic=1})(Hd||(Hd={}));(function(t){function e(r,n){return{range:r,text:n}}s(e,"create"),t.create=e})(Yd||(Yd={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}s(e,"create"),t.create=e})(Xd||(Xd={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&nu.is(n.uri)&&g.string(n.name)}s(e,"is"),t.is=e})(Jd||(Jd={}));QE=[`
`,`\r
`,"\r"];(function(t){function e(a,o,l,u){return new Qd(a,o,l,u)}s(e,"create"),t.create=e;function r(a){let o=a;return!!(g.defined(o)&&g.string(o.uri)&&(g.undefined(o.languageId)||g.string(o.languageId))&&g.uinteger(o.lineCount)&&g.func(o.getText)&&g.func(o.positionAt)&&g.func(o.offsetAt))}s(r,"is"),t.is=r;function n(a,o){let l=a.getText(),u=i(o,(d,m)=>{let h=d.range.start.line-m.range.start.line;return h===0?d.range.start.character-m.range.start.character:h}),c=l.length;for(let d=u.length-1;d>=0;d--){let m=u[d],h=a.offsetAt(m.range.start),y=a.offsetAt(m.range.end);if(y<=c)l=l.substring(0,h)+m.newText+l.substring(y,l.length);else throw new Error("Overlapping edit");c=h}return l}s(n,"applyEdits"),t.applyEdits=n;function i(a,o){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),c=a.slice(l);i(u,o),i(c,o);let d=0,m=0,h=0;for(;d<u.length&&m<c.length;)o(u[d],c[m])<=0?a[h++]=u[d++]:a[h++]=c[m++];for(;d<u.length;)a[h++]=u[d++];for(;m<c.length;)a[h++]=c[m++];return a}s(i,"mergeSort")})(Zd||(Zd={}));Qd=class{static{s(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,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 r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let a=r.charAt(i);n=a==="\r"||a===`
`,a==="\r"&&i+1<r.length&&r.charAt(i+1)===`
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return le.create(0,e);for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let a=n-1;return le.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(y){return typeof y<"u"}s(r,"defined"),t.defined=r;function n(y){return typeof y>"u"}s(n,"undefined"),t.undefined=n;function i(y){return y===!0||y===!1}s(i,"boolean"),t.boolean=i;function a(y){return e.call(y)==="[object String]"}s(a,"string"),t.string=a;function o(y){return e.call(y)==="[object Number]"}s(o,"number"),t.number=o;function l(y,k,w){return e.call(y)==="[object Number]"&&k<=y&&y<=w}s(l,"numberRange"),t.numberRange=l;function u(y){return e.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}s(u,"integer"),t.integer=u;function c(y){return e.call(y)==="[object Number]"&&0<=y&&y<=2147483647}s(c,"uinteger"),t.uinteger=c;function d(y){return e.call(y)==="[object Function]"}s(d,"func"),t.func=d;function m(y){return y!==null&&typeof y=="object"}s(m,"objectLiteral"),t.objectLiteral=m;function h(y,k){return Array.isArray(y)&&y.every(k)}s(h,"typedArray"),t.typedArray=h})(g||(g={}))});var vn=J(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});var op;function lp(){if(op===void 0)throw new Error("No runtime abstraction layer installed");return op}s(lp,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");op=r}s(e,"install"),t.install=e})(lp||(lp={}));up.default=lp});var hs=J(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.stringArray=yt.array=yt.func=yt.error=yt.number=yt.string=yt.boolean=void 0;function fA(t){return t===!0||t===!1}s(fA,"boolean");yt.boolean=fA;function hy(t){return typeof t=="string"||t instanceof String}s(hy,"string");yt.string=hy;function dA(t){return typeof t=="number"||t instanceof Number}s(dA,"number");yt.number=dA;function pA(t){return t instanceof Error}s(pA,"error");yt.error=pA;function mA(t){return typeof t=="function"}s(mA,"func");yt.func=mA;function gy(t){return Array.isArray(t)}s(gy,"array");yt.array=gy;function hA(t){return gy(t)&&t.every(e=>hy(e))}s(hA,"stringArray");yt.stringArray=hA});var fi=J(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.Emitter=gs.Event=void 0;var gA=vn(),yy;(function(t){let e={dispose(){}};t.None=function(){return e}})(yy||(gs.Event=yy={}));var cp=class{static{s(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:s(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i<a;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let a=0,o=n.length;a<o;a++)try{r.push(n[a].apply(i[a],e))}catch(l){(0,gA.default)().console.error(l)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},gu=class t{static{s(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new cp),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.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)}};gs.Emitter=gu;gu._noop=function(){}});var Za=J(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.CancellationTokenSource=ys.CancellationToken=void 0;var yA=vn(),TA=hs(),fp=fi(),yu;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:fp.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:fp.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||TA.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}s(e,"is"),t.is=e})(yu||(ys.CancellationToken=yu={}));var RA=Object.freeze(function(t,e){let r=(0,yA.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Tu=class{static{s(this,"MutableToken")}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?RA:(this._emitter||(this._emitter=new fp.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},dp=class{static{s(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new Tu),this._token}cancel(){this._token?this._token.cancel():this._token=yu.Cancelled}dispose(){this._token?this._token instanceof Tu&&this._token.dispose():this._token=yu.None}};ys.CancellationTokenSource=dp});var zp=J(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.Message=j.NotificationType9=j.NotificationType8=j.NotificationType7=j.NotificationType6=j.NotificationType5=j.NotificationType4=j.NotificationType3=j.NotificationType2=j.NotificationType1=j.NotificationType0=j.NotificationType=j.RequestType9=j.RequestType8=j.RequestType7=j.RequestType6=j.RequestType5=j.RequestType4=j.RequestType3=j.RequestType2=j.RequestType1=j.RequestType=j.RequestType0=j.AbstractMessageSignature=j.ParameterStructures=j.ResponseError=j.ErrorCodes=void 0;var gi=hs(),yp;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(yp||(j.ErrorCodes=yp={}));var Tp=class t extends Error{static{s(this,"ResponseError")}constructor(e,r,n){super(r),this.code=gi.number(e)?e:yp.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};j.ResponseError=Tp;var Lt=class t{static{s(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};j.ParameterStructures=Lt;Lt.auto=new Lt("auto");Lt.byPosition=new Lt("byPosition");Lt.byName=new Lt("byName");var ke=class{static{s(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Lt.auto}};j.AbstractMessageSignature=ke;var Rp=class extends ke{static{s(this,"RequestType0")}constructor(e){super(e,0)}};j.RequestType0=Rp;var $p=class extends ke{static{s(this,"RequestType")}constructor(e,r=Lt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};j.RequestType=$p;var xp=class extends ke{static{s(this,"RequestType1")}constructor(e,r=Lt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};j.RequestType1=xp;var vp=class extends ke{static{s(this,"RequestType2")}constructor(e){super(e,2)}};j.RequestType2=vp;var Ep=class extends ke{static{s(this,"RequestType3")}constructor(e){super(e,3)}};j.RequestType3=Ep;var Ap=class extends ke{static{s(this,"RequestType4")}constructor(e){super(e,4)}};j.RequestType4=Ap;var Cp=class extends ke{static{s(this,"RequestType5")}constructor(e){super(e,5)}};j.RequestType5=Cp;var Sp=class extends ke{static{s(this,"RequestType6")}constructor(e){super(e,6)}};j.RequestType6=Sp;var kp=class extends ke{static{s(this,"RequestType7")}constructor(e){super(e,7)}};j.RequestType7=kp;var Np=class extends ke{static{s(this,"RequestType8")}constructor(e){super(e,8)}};j.RequestType8=Np;var wp=class extends ke{static{s(this,"RequestType9")}constructor(e){super(e,9)}};j.RequestType9=wp;var Ip=class extends ke{static{s(this,"NotificationType")}constructor(e,r=Lt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};j.NotificationType=Ip;var bp=class extends ke{static{s(this,"NotificationType0")}constructor(e){super(e,0)}};j.NotificationType0=bp;var _p=class extends ke{static{s(this,"NotificationType1")}constructor(e,r=Lt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};j.NotificationType1=_p;var Pp=class extends ke{static{s(this,"NotificationType2")}constructor(e){super(e,2)}};j.NotificationType2=Pp;var Op=class extends ke{static{s(this,"NotificationType3")}constructor(e){super(e,3)}};j.NotificationType3=Op;var Lp=class extends ke{static{s(this,"NotificationType4")}constructor(e){super(e,4)}};j.NotificationType4=Lp;var Dp=class extends ke{static{s(this,"NotificationType5")}constructor(e){super(e,5)}};j.NotificationType5=Dp;var Mp=class extends ke{static{s(this,"NotificationType6")}constructor(e){super(e,6)}};j.NotificationType6=Mp;var Fp=class extends ke{static{s(this,"NotificationType7")}constructor(e){super(e,7)}};j.NotificationType7=Fp;var Gp=class extends ke{static{s(this,"NotificationType8")}constructor(e){super(e,8)}};j.NotificationType8=Gp;var Up=class extends ke{static{s(this,"NotificationType9")}constructor(e){super(e,9)}};j.NotificationType9=Up;var wy;(function(t){function e(i){let a=i;return a&&gi.string(a.method)&&(gi.string(a.id)||gi.number(a.id))}s(e,"isRequest"),t.isRequest=e;function r(i){let a=i;return a&&gi.string(a.method)&&i.id===void 0}s(r,"isNotification"),t.isNotification=r;function n(i){let a=i;return a&&(a.result!==void 0||!!a.error)&&(gi.string(a.id)||gi.number(a.id)||a.id===null)}s(n,"isResponse"),t.isResponse=n})(wy||(j.Message=wy={}))});var jp=J(En=>{"use strict";var Iy;Object.defineProperty(En,"__esModule",{value:!0});En.LRUCache=En.LinkedMap=En.Touch=void 0;var Rt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Rt||(En.Touch=Rt={}));var Cu=class{static{s(this,"LinkedMap")}constructor(){this[Iy]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Rt.None){let n=this._map.get(e);if(n)return r!==Rt.None&&this.touch(n,r),n.value}set(e,r,n=Rt.None){let i=this._map.get(e);if(i)i.value=r,n!==Rt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Rt.None:this.addItemLast(i);break;case Rt.First:this.addItemFirst(i);break;case Rt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:s(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:s(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:s(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(Iy=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Rt.First&&r!==Rt.Last)){if(r===Rt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Rt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};En.LinkedMap=Cu;var qp=class extends Cu{static{s(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Rt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Rt.None)}set(e,r){return super.set(e,r,Rt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};En.LRUCache=qp});var _y=J(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.Disposable=void 0;var by;(function(t){function e(r){return{dispose:r}}s(e,"create"),t.create=e})(by||(Su.Disposable=by={}))});var Py=J(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.SharedArrayReceiverStrategy=As.SharedArraySenderStrategy=void 0;var vA=Za(),yo;(function(t){t.Continue=0,t.Cancelled=1})(yo||(yo={}));var Bp=class{static{s(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=yo.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,yo.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};As.SharedArraySenderStrategy=Bp;var Wp=class{static{s(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===yo.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Kp=class{static{s(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new Wp(e)}cancel(){}dispose(){}},Vp=class{static{s(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new vA.CancellationTokenSource:new Kp(r)}};As.SharedArrayReceiverStrategy=Vp});var Yp=J(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});ku.Semaphore=void 0;var EA=vn(),Hp=class{static{s(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,EA.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};ku.Semaphore=Hp});var Ly=J(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.ReadableStreamMessageReader=An.AbstractMessageReader=An.MessageReader=void 0;var Jp=vn(),Cs=hs(),Xp=fi(),AA=Yp(),Oy;(function(t){function e(r){let n=r;return n&&Cs.func(n.listen)&&Cs.func(n.dispose)&&Cs.func(n.onError)&&Cs.func(n.onClose)&&Cs.func(n.onPartialMessage)}s(e,"is"),t.is=e})(Oy||(An.MessageReader=Oy={}));var Nu=class{static{s(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new Xp.Emitter,this.closeEmitter=new Xp.Emitter,this.partialMessageEmitter=new Xp.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Cs.string(e.message)?e.message:"unknown"}`)}};An.AbstractMessageReader=Nu;var Zp;(function(t){function e(r){let n,i,a,o=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,o.set(a.name,a)),r.contentDecoders!==void 0)for(let c of r.contentDecoders)o.set(c.name,c);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let c of r.contentTypeDecoders)u.set(c.name,c)}return l===void 0&&(l=(0,Jp.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:a,contentDecoders:o,contentTypeDecoder:l,contentTypeDecoders:u}}s(e,"fromOptions"),t.fromOptions=e})(Zp||(Zp={}));var Qp=class extends Nu{static{s(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=Zp.fromOptions(r),this.buffer=(0,Jp.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new AA.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(n))}`));return}let a=parseInt(i);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,Jp.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};An.ReadableStreamMessageReader=Qp});var Uy=J(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.WriteableStreamMessageWriter=Cn.AbstractMessageWriter=Cn.MessageWriter=void 0;var Dy=vn(),To=hs(),CA=Yp(),My=fi(),SA="Content-Length: ",Fy=`\r
`,Gy;(function(t){function e(r){let n=r;return n&&To.func(n.dispose)&&To.func(n.onClose)&&To.func(n.onError)&&To.func(n.write)}s(e,"is"),t.is=e})(Gy||(Cn.MessageWriter=Gy={}));var wu=class{static{s(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new My.Emitter,this.closeEmitter=new My.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${To.string(e.message)?e.message:"unknown"}`)}};Cn.AbstractMessageWriter=wu;var em;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Dy.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Dy.default)().applicationJson.encoder}}s(e,"fromOptions"),t.fromOptions=e})(em||(em={}));var tm=class extends wu{static{s(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=em.fromOptions(r),this.errorCount=0,this.writeSemaphore=new CA.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(SA,n.byteLength.toString(),Fy),i.push(Fy),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Cn.WriteableStreamMessageWriter=tm});var zy=J(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.AbstractMessageBuffer=void 0;var kA=13,NA=10,wA=`\r
`,rm=class{static{s(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,a=0;e:for(;n<this._chunks.length;){let c=this._chunks[n];for(i=0;i<c.length;){switch(c[i]){case kA:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case NA:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}a+=c.byteLength,n++}if(r!==4)return;let o=this._read(a+i),l=new Map,u=this.toString(o,"ascii").split(wA);if(u.length<2)return l;for(let c=0;c<u.length-2;c++){let d=u[c],m=d.indexOf(":");if(m===-1)throw new Error(`Message header must separate key and value using ':'
${d}`);let h=d.substr(0,m),y=d.substr(m+1).trim();l.set(e?h.toLowerCase():h,y)}return l}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],o=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,o}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let a=this._chunks[i];if(a.byteLength>e){let o=a.slice(0,e);r.set(o,n),n+=e,this._chunks[i]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,n),n+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};Iu.AbstractMessageBuffer=rm});var Ky=J(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.createMessageConnection=Z.ConnectionOptions=Z.MessageStrategy=Z.CancellationStrategy=Z.CancellationSenderStrategy=Z.CancellationReceiverStrategy=Z.RequestCancellationReceiverStrategy=Z.IdCancellationReceiverStrategy=Z.ConnectionStrategy=Z.ConnectionError=Z.ConnectionErrors=Z.LogTraceNotification=Z.SetTraceNotification=Z.TraceFormat=Z.TraceValues=Z.Trace=Z.NullLogger=Z.ProgressType=Z.ProgressToken=void 0;var qy=vn(),Me=hs(),V=zp(),jy=jp(),Ro=fi(),nm=Za(),vo;(function(t){t.type=new V.NotificationType("$/cancelRequest")})(vo||(vo={}));var im;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}s(e,"is"),t.is=e})(im||(Z.ProgressToken=im={}));var $o;(function(t){t.type=new V.NotificationType("$/progress")})($o||($o={}));var sm=class{static{s(this,"ProgressType")}constructor(){}};Z.ProgressType=sm;var am;(function(t){function e(r){return Me.func(r)}s(e,"is"),t.is=e})(am||(am={}));Z.NullLogger=Object.freeze({error:s(()=>{},"error"),warn:s(()=>{},"warn"),info:s(()=>{},"info"),log:s(()=>{},"log")});var fe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(fe||(Z.Trace=fe={}));var By;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(By||(Z.TraceValues=By={}));(function(t){function e(n){if(!Me.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}s(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}s(r,"toString"),t.toString=r})(fe||(Z.Trace=fe={}));var Wt;(function(t){t.Text="text",t.JSON="json"})(Wt||(Z.TraceFormat=Wt={}));(function(t){function e(r){return Me.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}s(e,"fromString"),t.fromString=e})(Wt||(Z.TraceFormat=Wt={}));var om;(function(t){t.type=new V.NotificationType("$/setTrace")})(om||(Z.SetTraceNotification=om={}));var bu;(function(t){t.type=new V.NotificationType("$/logTrace")})(bu||(Z.LogTraceNotification=bu={}));var xo;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(xo||(Z.ConnectionErrors=xo={}));var Ss=class t extends Error{static{s(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Z.ConnectionError=Ss;var lm;(function(t){function e(r){let n=r;return n&&Me.func(n.cancelUndispatched)}s(e,"is"),t.is=e})(lm||(Z.ConnectionStrategy=lm={}));var _u;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Me.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Me.func(n.dispose))}s(e,"is"),t.is=e})(_u||(Z.IdCancellationReceiverStrategy=_u={}));var um;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Me.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Me.func(n.dispose))}s(e,"is"),t.is=e})(um||(Z.RequestCancellationReceiverStrategy=um={}));var Pu;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new nm.CancellationTokenSource}});function e(r){return _u.is(r)||um.is(r)}s(e,"is"),t.is=e})(Pu||(Z.CancellationReceiverStrategy=Pu={}));var Ou;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(vo.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Me.func(n.sendCancellation)&&Me.func(n.cleanup)}s(e,"is"),t.is=e})(Ou||(Z.CancellationSenderStrategy=Ou={}));var Lu;(function(t){t.Message=Object.freeze({receiver:Pu.Message,sender:Ou.Message});function e(r){let n=r;return n&&Pu.is(n.receiver)&&Ou.is(n.sender)}s(e,"is"),t.is=e})(Lu||(Z.CancellationStrategy=Lu={}));var Du;(function(t){function e(r){let n=r;return n&&Me.func(n.handleMessage)}s(e,"is"),t.is=e})(Du||(Z.MessageStrategy=Du={}));var Wy;(function(t){function e(r){let n=r;return n&&(Lu.is(n.cancellationStrategy)||lm.is(n.connectionStrategy)||Du.is(n.messageStrategy))}s(e,"is"),t.is=e})(Wy||(Z.ConnectionOptions=Wy={}));var dr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(dr||(dr={}));function IA(t,e,r,n){let i=r!==void 0?r:Z.NullLogger,a=0,o=0,l=0,u="2.0",c,d=new Map,m,h=new Map,y=new Map,k,w=new jy.LinkedMap,q=new Map,M=new Set,P=new Map,E=fe.Off,H=Wt.Text,U,he=dr.New,mr=new Ro.Emitter,Xe=new Ro.Emitter,tr=new Ro.Emitter,Vt=new Ro.Emitter,C=new Ro.Emitter,T=n&&n.cancellationStrategy?n.cancellationStrategy:Lu.Message;function L(p){if(p===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+p.toString()}s(L,"createRequestQueueKey");function O(p){return p===null?"res-unknown-"+(++l).toString():"res-"+p.toString()}s(O,"createResponseQueueKey");function R(){return"not-"+(++o).toString()}s(R,"createNotificationQueueKey");function x(p,v){V.Message.isRequest(v)?p.set(L(v.id),v):V.Message.isResponse(v)?p.set(O(v.id),v):p.set(R(),v)}s(x,"addMessageToQueue");function A(p){}s(A,"cancelUndispatched");function _(){return he===dr.Listening}s(_,"isListening");function F(){return he===dr.Closed}s(F,"isClosed");function N(){return he===dr.Disposed}s(N,"isDisposed");function Y(){(he===dr.New||he===dr.Listening)&&(he=dr.Closed,Xe.fire(void 0))}s(Y,"closeHandler");function Q(p){mr.fire([p,void 0,void 0])}s(Q,"readErrorHandler");function Be(p){mr.fire(p)}s(Be,"writeErrorHandler"),t.onClose(Y),t.onError(Q),e.onClose(Y),e.onError(Be);function ce(){k||w.size===0||(k=(0,qy.default)().timer.setImmediate(()=>{k=void 0,hr()}))}s(ce,"triggerMessageQueue");function _e(p){V.Message.isRequest(p)?bt(p):V.Message.isNotification(p)?xt(p):V.Message.isResponse(p)?tn(p):rr(p)}s(_e,"handleMessage");function hr(){if(w.size===0)return;let p=w.shift();try{let v=n?.messageStrategy;Du.is(v)?v.handleMessage(p,_e):_e(p)}finally{ce()}}s(hr,"processMessageQueue");let rt=s(p=>{try{if(V.Message.isNotification(p)&&p.method===vo.type.method){let v=p.params.id,I=L(v),z=w.get(I);if(V.Message.isRequest(z)){let ge=n?.connectionStrategy,Fe=ge&&ge.cancelUndispatched?ge.cancelUndispatched(z,A):void 0;if(Fe&&(Fe.error!==void 0||Fe.result!==void 0)){w.delete(I),P.delete(v),Fe.id=z.id,rn(Fe,p.method,Date.now()),e.write(Fe).catch(()=>i.error("Sending response for canceled message failed."));return}}let Ee=P.get(v);if(Ee!==void 0){Ee.cancel(),vc(p);return}else M.add(v)}x(w,p)}finally{ce()}},"callback");function bt(p){if(N())return;function v(oe,Pe,me){let Je={jsonrpc:u,id:p.id};oe instanceof V.ResponseError?Je.error=oe.toJson():Je.result=oe===void 0?null:oe,rn(Je,Pe,me),e.write(Je).catch(()=>i.error("Sending response failed."))}s(v,"reply");function I(oe,Pe,me){let Je={jsonrpc:u,id:p.id,error:oe.toJson()};rn(Je,Pe,me),e.write(Je).catch(()=>i.error("Sending response failed."))}s(I,"replyError");function z(oe,Pe,me){oe===void 0&&(oe=null);let Je={jsonrpc:u,id:p.id,result:oe};rn(Je,Pe,me),e.write(Je).catch(()=>i.error("Sending response failed."))}s(z,"replySuccess"),Bo(p);let Ee=d.get(p.method),ge,Fe;Ee&&(ge=Ee.type,Fe=Ee.handler);let qe=Date.now();if(Fe||c){let oe=p.id??String(Date.now()),Pe=_u.is(T.receiver)?T.receiver.createCancellationTokenSource(oe):T.receiver.createCancellationTokenSource(p);p.id!==null&&M.has(p.id)&&Pe.cancel(),p.id!==null&&P.set(oe,Pe);try{let me;if(Fe)if(p.params===void 0){if(ge!==void 0&&ge.numberOfParams!==0){I(new V.ResponseError(V.ErrorCodes.InvalidParams,`Request ${p.method} defines ${ge.numberOfParams} params but received none.`),p.method,qe);return}me=Fe(Pe.token)}else if(Array.isArray(p.params)){if(ge!==void 0&&ge.parameterStructures===V.ParameterStructures.byName){I(new V.ResponseError(V.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by name but received parameters by position`),p.method,qe);return}me=Fe(...p.params,Pe.token)}else{if(ge!==void 0&&ge.parameterStructures===V.ParameterStructures.byPosition){I(new V.ResponseError(V.ErrorCodes.InvalidParams,`Request ${p.method} defines parameters by position but received parameters by name`),p.method,qe);return}me=Fe(p.params,Pe.token)}else c&&(me=c(p.method,p.params,Pe.token));let Je=me;me?Je.then?Je.then(vt=>{P.delete(oe),v(vt,p.method,qe)},vt=>{P.delete(oe),vt instanceof V.ResponseError?I(vt,p.method,qe):vt&&Me.string(vt.message)?I(new V.ResponseError(V.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${vt.message}`),p.method,qe):I(new V.ResponseError(V.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,qe)}):(P.delete(oe),v(me,p.method,qe)):(P.delete(oe),z(me,p.method,qe))}catch(me){P.delete(oe),me instanceof V.ResponseError?v(me,p.method,qe):me&&Me.string(me.message)?I(new V.ResponseError(V.ErrorCodes.InternalError,`Request ${p.method} failed with message: ${me.message}`),p.method,qe):I(new V.ResponseError(V.ErrorCodes.InternalError,`Request ${p.method} failed unexpectedly without providing any details.`),p.method,qe)}}else I(new V.ResponseError(V.ErrorCodes.MethodNotFound,`Unhandled method ${p.method}`),p.method,qe)}s(bt,"handleRequest");function tn(p){if(!N())if(p.id===null)p.error?i.error(`Received response message without id: Error is:
${JSON.stringify(p.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let v=p.id,I=q.get(v);if(vx(p,I),I!==void 0){q.delete(v);try{if(p.error){let z=p.error;I.reject(new V.ResponseError(z.code,z.message,z.data))}else if(p.result!==void 0)I.resolve(p.result);else throw new Error("Should never happen.")}catch(z){z.message?i.error(`Response handler '${I.method}' failed with message: ${z.message}`):i.error(`Response handler '${I.method}' failed unexpectedly.`)}}}}s(tn,"handleResponse");function xt(p){if(N())return;let v,I;if(p.method===vo.type.method){let z=p.params.id;M.delete(z),vc(p);return}else{let z=h.get(p.method);z&&(I=z.handler,v=z.type)}if(I||m)try{if(vc(p),I)if(p.params===void 0)v!==void 0&&v.numberOfParams!==0&&v.parameterStructures!==V.ParameterStructures.byName&&i.error(`Notification ${p.method} defines ${v.numberOfParams} params but received none.`),I();else if(Array.isArray(p.params)){let z=p.params;p.method===$o.type.method&&z.length===2&&im.is(z[0])?I({token:z[0],value:z[1]}):(v!==void 0&&(v.parameterStructures===V.ParameterStructures.byName&&i.error(`Notification ${p.method} defines parameters by name but received parameters by position`),v.numberOfParams!==p.params.length&&i.error(`Notification ${p.method} defines ${v.numberOfParams} params but received ${z.length} arguments`)),I(...z))}else v!==void 0&&v.parameterStructures===V.ParameterStructures.byPosition&&i.error(`Notification ${p.method} defines parameters by position but received parameters by name`),I(p.params);else m&&m(p.method,p.params)}catch(z){z.message?i.error(`Notification handler '${p.method}' failed with message: ${z.message}`):i.error(`Notification handler '${p.method}' failed unexpectedly.`)}else tr.fire(p)}s(xt,"handleNotification");function rr(p){if(!p){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(p,null,4)}`);let v=p;if(Me.string(v.id)||Me.number(v.id)){let I=v.id,z=q.get(I);z&&z.reject(new Error("The received response has neither a result nor an error property."))}}s(rr,"handleInvalidMessage");function at(p){if(p!=null)switch(E){case fe.Verbose:return JSON.stringify(p,null,4);case fe.Compact:return JSON.stringify(p);default:return}}s(at,"stringifyTrace");function nr(p){if(!(E===fe.Off||!U))if(H===Wt.Text){let v;(E===fe.Verbose||E===fe.Compact)&&p.params&&(v=`Params: ${at(p.params)}
`),U.log(`Sending request '${p.method} - (${p.id})'.`,v)}else Si("send-request",p)}s(nr,"traceSendingRequest");function Or(p){if(!(E===fe.Off||!U))if(H===Wt.Text){let v;(E===fe.Verbose||E===fe.Compact)&&(p.params?v=`Params: ${at(p.params)}
`:v=`No parameters provided.
`),U.log(`Sending notification '${p.method}'.`,v)}else Si("send-notification",p)}s(Or,"traceSendingNotification");function rn(p,v,I){if(!(E===fe.Off||!U))if(H===Wt.Text){let z;(E===fe.Verbose||E===fe.Compact)&&(p.error&&p.error.data?z=`Error data: ${at(p.error.data)}
`:p.result?z=`Result: ${at(p.result)}
`:p.error===void 0&&(z=`No result returned.
`)),U.log(`Sending response '${v} - (${p.id})'. Processing request took ${Date.now()-I}ms`,z)}else Si("send-response",p)}s(rn,"traceSendingResponse");function Bo(p){if(!(E===fe.Off||!U))if(H===Wt.Text){let v;(E===fe.Verbose||E===fe.Compact)&&p.params&&(v=`Params: ${at(p.params)}
`),U.log(`Received request '${p.method} - (${p.id})'.`,v)}else Si("receive-request",p)}s(Bo,"traceReceivedRequest");function vc(p){if(!(E===fe.Off||!U||p.method===bu.type.method))if(H===Wt.Text){let v;(E===fe.Verbose||E===fe.Compact)&&(p.params?v=`Params: ${at(p.params)}
`:v=`No parameters provided.
`),U.log(`Received notification '${p.method}'.`,v)}else Si("receive-notification",p)}s(vc,"traceReceivedNotification");function vx(p,v){if(!(E===fe.Off||!U))if(H===Wt.Text){let I;if((E===fe.Verbose||E===fe.Compact)&&(p.error&&p.error.data?I=`Error data: ${at(p.error.data)}
`:p.result?I=`Result: ${at(p.result)}
`:p.error===void 0&&(I=`No result returned.
`)),v){let z=p.error?` Request failed: ${p.error.message} (${p.error.code}).`:"";U.log(`Received response '${v.method} - (${p.id})' in ${Date.now()-v.timerStart}ms.${z}`,I)}else U.log(`Received response ${p.id} without active response promise.`,I)}else Si("receive-response",p)}s(vx,"traceReceivedResponse");function Si(p,v){if(!U||E===fe.Off)return;let I={isLSPMessage:!0,type:p,message:v,timestamp:Date.now()};U.log(I)}s(Si,"logLSPMessage");function Hs(){if(F())throw new Ss(xo.Closed,"Connection is closed.");if(N())throw new Ss(xo.Disposed,"Connection is disposed.")}s(Hs,"throwIfClosedOrDisposed");function Ex(){if(_())throw new Ss(xo.AlreadyListening,"Connection is already listening")}s(Ex,"throwIfListening");function Ax(){if(!_())throw new Error("Call listen() first.")}s(Ax,"throwIfNotListening");function Ys(p){return p===void 0?null:p}s(Ys,"undefinedToNull");function Th(p){if(p!==null)return p}s(Th,"nullToUndefined");function Rh(p){return p!=null&&!Array.isArray(p)&&typeof p=="object"}s(Rh,"isNamedParam");function Ec(p,v){switch(p){case V.ParameterStructures.auto:return Rh(v)?Th(v):[Ys(v)];case V.ParameterStructures.byName:if(!Rh(v))throw new Error("Received parameters by name but param is not an object literal.");return Th(v);case V.ParameterStructures.byPosition:return[Ys(v)];default:throw new Error(`Unknown parameter structure ${p.toString()}`)}}s(Ec,"computeSingleParam");function $h(p,v){let I,z=p.numberOfParams;switch(z){case 0:I=void 0;break;case 1:I=Ec(p.parameterStructures,v[0]);break;default:I=[];for(let Ee=0;Ee<v.length&&Ee<z;Ee++)I.push(Ys(v[Ee]));if(v.length<z)for(let Ee=v.length;Ee<z;Ee++)I.push(null);break}return I}s($h,"computeMessageParams");let ki={sendNotification:s((p,...v)=>{Hs();let I,z;if(Me.string(p)){I=p;let ge=v[0],Fe=0,qe=V.ParameterStructures.auto;V.ParameterStructures.is(ge)&&(Fe=1,qe=ge);let oe=v.length,Pe=oe-Fe;switch(Pe){case 0:z=void 0;break;case 1:z=Ec(qe,v[Fe]);break;default:if(qe===V.ParameterStructures.byName)throw new Error(`Received ${Pe} parameters for 'by Name' notification parameter structure.`);z=v.slice(Fe,oe).map(me=>Ys(me));break}}else{let ge=v;I=p.method,z=$h(p,ge)}let Ee={jsonrpc:u,method:I,params:z};return Or(Ee),e.write(Ee).catch(ge=>{throw i.error("Sending notification failed."),ge})},"sendNotification"),onNotification:s((p,v)=>{Hs();let I;return Me.func(p)?m=p:v&&(Me.string(p)?(I=p,h.set(p,{type:void 0,handler:v})):(I=p.method,h.set(p.method,{type:p,handler:v}))),{dispose:s(()=>{I!==void 0?h.delete(I):m=void 0},"dispose")}},"onNotification"),onProgress:s((p,v,I)=>{if(y.has(v))throw new Error(`Progress handler for token ${v} already registered`);return y.set(v,I),{dispose:s(()=>{y.delete(v)},"dispose")}},"onProgress"),sendProgress:s((p,v,I)=>ki.sendNotification($o.type,{token:v,value:I}),"sendProgress"),onUnhandledProgress:Vt.event,sendRequest:s((p,...v)=>{Hs(),Ax();let I,z,Ee;if(Me.string(p)){I=p;let oe=v[0],Pe=v[v.length-1],me=0,Je=V.ParameterStructures.auto;V.ParameterStructures.is(oe)&&(me=1,Je=oe);let vt=v.length;nm.CancellationToken.is(Pe)&&(vt=vt-1,Ee=Pe);let gr=vt-me;switch(gr){case 0:z=void 0;break;case 1:z=Ec(Je,v[me]);break;default:if(Je===V.ParameterStructures.byName)throw new Error(`Received ${gr} parameters for 'by Name' request parameter structure.`);z=v.slice(me,vt).map(Cx=>Ys(Cx));break}}else{let oe=v;I=p.method,z=$h(p,oe);let Pe=p.numberOfParams;Ee=nm.CancellationToken.is(oe[Pe])?oe[Pe]:void 0}let ge=a++,Fe;Ee&&(Fe=Ee.onCancellationRequested(()=>{let oe=T.sender.sendCancellation(ki,ge);return oe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${ge}`),Promise.resolve()):oe.catch(()=>{i.log(`Sending cancellation messages for id ${ge} failed`)})}));let qe={jsonrpc:u,id:ge,method:I,params:z};return nr(qe),typeof T.sender.enableCancellation=="function"&&T.sender.enableCancellation(qe),new Promise(async(oe,Pe)=>{let me=s(gr=>{oe(gr),T.sender.cleanup(ge),Fe?.dispose()},"resolveWithCleanup"),Je=s(gr=>{Pe(gr),T.sender.cleanup(ge),Fe?.dispose()},"rejectWithCleanup"),vt={method:I,timerStart:Date.now(),resolve:me,reject:Je};try{await e.write(qe),q.set(ge,vt)}catch(gr){throw i.error("Sending request failed."),vt.reject(new V.ResponseError(V.ErrorCodes.MessageWriteError,gr.message?gr.message:"Unknown reason")),gr}})},"sendRequest"),onRequest:s((p,v)=>{Hs();let I=null;return am.is(p)?(I=void 0,c=p):Me.string(p)?(I=null,v!==void 0&&(I=p,d.set(p,{handler:v,type:void 0}))):v!==void 0&&(I=p.method,d.set(p.method,{type:p,handler:v})),{dispose:s(()=>{I!==null&&(I!==void 0?d.delete(I):c=void 0)},"dispose")}},"onRequest"),hasPendingResponse:s(()=>q.size>0,"hasPendingResponse"),trace:s(async(p,v,I)=>{let z=!1,Ee=Wt.Text;I!==void 0&&(Me.boolean(I)?z=I:(z=I.sendNotification||!1,Ee=I.traceFormat||Wt.Text)),E=p,H=Ee,E===fe.Off?U=void 0:U=v,z&&!F()&&!N()&&await ki.sendNotification(om.type,{value:fe.toString(p)})},"trace"),onError:mr.event,onClose:Xe.event,onUnhandledNotification:tr.event,onDispose:C.event,end:s(()=>{e.end()},"end"),dispose:s(()=>{if(N())return;he=dr.Disposed,C.fire(void 0);let p=new V.ResponseError(V.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let v of q.values())v.reject(p);q=new Map,P=new Map,M=new Set,w=new jy.LinkedMap,Me.func(e.dispose)&&e.dispose(),Me.func(t.dispose)&&t.dispose()},"dispose"),listen:s(()=>{Hs(),Ex(),he=dr.Listening,t.listen(rt)},"listen"),inspect:s(()=>{(0,qy.default)().console.log("inspect")},"inspect")};return ki.onNotification(bu.type,p=>{if(E===fe.Off||!U)return;let v=E===fe.Verbose||E===fe.Compact;U.log(p.message,v?p.verbose:void 0)}),ki.onNotification($o.type,p=>{let v=y.get(p.token);v?v(p.value):Vt.fire(p)}),ki}s(IA,"createMessageConnection");Z.createMessageConnection=IA});var Mu=J($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.ProgressType=$.ProgressToken=$.createMessageConnection=$.NullLogger=$.ConnectionOptions=$.ConnectionStrategy=$.AbstractMessageBuffer=$.WriteableStreamMessageWriter=$.AbstractMessageWriter=$.MessageWriter=$.ReadableStreamMessageReader=$.AbstractMessageReader=$.MessageReader=$.SharedArrayReceiverStrategy=$.SharedArraySenderStrategy=$.CancellationToken=$.CancellationTokenSource=$.Emitter=$.Event=$.Disposable=$.LRUCache=$.Touch=$.LinkedMap=$.ParameterStructures=$.NotificationType9=$.NotificationType8=$.NotificationType7=$.NotificationType6=$.NotificationType5=$.NotificationType4=$.NotificationType3=$.NotificationType2=$.NotificationType1=$.NotificationType0=$.NotificationType=$.ErrorCodes=$.ResponseError=$.RequestType9=$.RequestType8=$.RequestType7=$.RequestType6=$.RequestType5=$.RequestType4=$.RequestType3=$.RequestType2=$.RequestType1=$.RequestType0=$.RequestType=$.Message=$.RAL=void 0;$.MessageStrategy=$.CancellationStrategy=$.CancellationSenderStrategy=$.CancellationReceiverStrategy=$.ConnectionError=$.ConnectionErrors=$.LogTraceNotification=$.SetTraceNotification=$.TraceFormat=$.TraceValues=$.Trace=void 0;var ve=zp();Object.defineProperty($,"Message",{enumerable:!0,get:s(function(){return ve.Message},"get")});Object.defineProperty($,"RequestType",{enumerable:!0,get:s(function(){return ve.RequestType},"get")});Object.defineProperty($,"RequestType0",{enumerable:!0,get:s(function(){return ve.RequestType0},"get")});Object.defineProperty($,"RequestType1",{enumerable:!0,get:s(function(){return ve.RequestType1},"get")});Object.defineProperty($,"RequestType2",{enumerable:!0,get:s(function(){return ve.RequestType2},"get")});Object.defineProperty($,"RequestType3",{enumerable:!0,get:s(function(){return ve.RequestType3},"get")});Object.defineProperty($,"RequestType4",{enumerable:!0,get:s(function(){return ve.RequestType4},"get")});Object.defineProperty($,"RequestType5",{enumerable:!0,get:s(function(){return ve.RequestType5},"get")});Object.defineProperty($,"RequestType6",{enumerable:!0,get:s(function(){return ve.RequestType6},"get")});Object.defineProperty($,"RequestType7",{enumerable:!0,get:s(function(){return ve.RequestType7},"get")});Object.defineProperty($,"RequestType8",{enumerable:!0,get:s(function(){return ve.RequestType8},"get")});Object.defineProperty($,"RequestType9",{enumerable:!0,get:s(function(){return ve.RequestType9},"get")});Object.defineProperty($,"ResponseError",{enumerable:!0,get:s(function(){return ve.ResponseError},"get")});Object.defineProperty($,"ErrorCodes",{enumerable:!0,get:s(function(){return ve.ErrorCodes},"get")});Object.defineProperty($,"NotificationType",{enumerable:!0,get:s(function(){return ve.NotificationType},"get")});Object.defineProperty($,"NotificationType0",{enumerable:!0,get:s(function(){return ve.NotificationType0},"get")});Object.defineProperty($,"NotificationType1",{enumerable:!0,get:s(function(){return ve.NotificationType1},"get")});Object.defineProperty($,"NotificationType2",{enumerable:!0,get:s(function(){return ve.NotificationType2},"get")});Object.defineProperty($,"NotificationType3",{enumerable:!0,get:s(function(){return ve.NotificationType3},"get")});Object.defineProperty($,"NotificationType4",{enumerable:!0,get:s(function(){return ve.NotificationType4},"get")});Object.defineProperty($,"NotificationType5",{enumerable:!0,get:s(function(){return ve.NotificationType5},"get")});Object.defineProperty($,"NotificationType6",{enumerable:!0,get:s(function(){return ve.NotificationType6},"get")});Object.defineProperty($,"NotificationType7",{enumerable:!0,get:s(function(){return ve.NotificationType7},"get")});Object.defineProperty($,"NotificationType8",{enumerable:!0,get:s(function(){return ve.NotificationType8},"get")});Object.defineProperty($,"NotificationType9",{enumerable:!0,get:s(function(){return ve.NotificationType9},"get")});Object.defineProperty($,"ParameterStructures",{enumerable:!0,get:s(function(){return ve.ParameterStructures},"get")});var cm=jp();Object.defineProperty($,"LinkedMap",{enumerable:!0,get:s(function(){return cm.LinkedMap},"get")});Object.defineProperty($,"LRUCache",{enumerable:!0,get:s(function(){return cm.LRUCache},"get")});Object.defineProperty($,"Touch",{enumerable:!0,get:s(function(){return cm.Touch},"get")});var bA=_y();Object.defineProperty($,"Disposable",{enumerable:!0,get:s(function(){return bA.Disposable},"get")});var Vy=fi();Object.defineProperty($,"Event",{enumerable:!0,get:s(function(){return Vy.Event},"get")});Object.defineProperty($,"Emitter",{enumerable:!0,get:s(function(){return Vy.Emitter},"get")});var Hy=Za();Object.defineProperty($,"CancellationTokenSource",{enumerable:!0,get:s(function(){return Hy.CancellationTokenSource},"get")});Object.defineProperty($,"CancellationToken",{enumerable:!0,get:s(function(){return Hy.CancellationToken},"get")});var Yy=Py();Object.defineProperty($,"SharedArraySenderStrategy",{enumerable:!0,get:s(function(){return Yy.SharedArraySenderStrategy},"get")});Object.defineProperty($,"SharedArrayReceiverStrategy",{enumerable:!0,get:s(function(){return Yy.SharedArrayReceiverStrategy},"get")});var fm=Ly();Object.defineProperty($,"MessageReader",{enumerable:!0,get:s(function(){return fm.MessageReader},"get")});Object.defineProperty($,"AbstractMessageReader",{enumerable:!0,get:s(function(){return fm.AbstractMessageReader},"get")});Object.defineProperty($,"ReadableStreamMessageReader",{enumerable:!0,get:s(function(){return fm.ReadableStreamMessageReader},"get")});var dm=Uy();Object.defineProperty($,"MessageWriter",{enumerable:!0,get:s(function(){return dm.MessageWriter},"get")});Object.defineProperty($,"AbstractMessageWriter",{enumerable:!0,get:s(function(){return dm.AbstractMessageWriter},"get")});Object.defineProperty($,"WriteableStreamMessageWriter",{enumerable:!0,get:s(function(){return dm.WriteableStreamMessageWriter},"get")});var _A=zy();Object.defineProperty($,"AbstractMessageBuffer",{enumerable:!0,get:s(function(){return _A.AbstractMessageBuffer},"get")});var ut=Ky();Object.defineProperty($,"ConnectionStrategy",{enumerable:!0,get:s(function(){return ut.ConnectionStrategy},"get")});Object.defineProperty($,"ConnectionOptions",{enumerable:!0,get:s(function(){return ut.ConnectionOptions},"get")});Object.defineProperty($,"NullLogger",{enumerable:!0,get:s(function(){return ut.NullLogger},"get")});Object.defineProperty($,"createMessageConnection",{enumerable:!0,get:s(function(){return ut.createMessageConnection},"get")});Object.defineProperty($,"ProgressToken",{enumerable:!0,get:s(function(){return ut.ProgressToken},"get")});Object.defineProperty($,"ProgressType",{enumerable:!0,get:s(function(){return ut.ProgressType},"get")});Object.defineProperty($,"Trace",{enumerable:!0,get:s(function(){return ut.Trace},"get")});Object.defineProperty($,"TraceValues",{enumerable:!0,get:s(function(){return ut.TraceValues},"get")});Object.defineProperty($,"TraceFormat",{enumerable:!0,get:s(function(){return ut.TraceFormat},"get")});Object.defineProperty($,"SetTraceNotification",{enumerable:!0,get:s(function(){return ut.SetTraceNotification},"get")});Object.defineProperty($,"LogTraceNotification",{enumerable:!0,get:s(function(){return ut.LogTraceNotification},"get")});Object.defineProperty($,"ConnectionErrors",{enumerable:!0,get:s(function(){return ut.ConnectionErrors},"get")});Object.defineProperty($,"ConnectionError",{enumerable:!0,get:s(function(){return ut.ConnectionError},"get")});Object.defineProperty($,"CancellationReceiverStrategy",{enumerable:!0,get:s(function(){return ut.CancellationReceiverStrategy},"get")});Object.defineProperty($,"CancellationSenderStrategy",{enumerable:!0,get:s(function(){return ut.CancellationSenderStrategy},"get")});Object.defineProperty($,"CancellationStrategy",{enumerable:!0,get:s(function(){return ut.CancellationStrategy},"get")});Object.defineProperty($,"MessageStrategy",{enumerable:!0,get:s(function(){return ut.MessageStrategy},"get")});var PA=vn();$.RAL=PA.default});var Jy=J(gm=>{"use strict";Object.defineProperty(gm,"__esModule",{value:!0});var wr=Mu(),Fu=class t extends wr.AbstractMessageBuffer{static{s(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Fu.emptyBuffer=new Uint8Array(0);var pm=class{static{s(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new wr.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,wr.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),wr.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),wr.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),wr.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},mm=class{static{s(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),wr.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),wr.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),wr.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},OA=new TextEncoder,Xy=Object.freeze({messageBuffer:Object.freeze({create:s(t=>new Fu(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:s((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(OA.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:s((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)))},"decode")})}),stream:Object.freeze({asReadableStream:s(t=>new pm(t),"asReadableStream"),asWritableStream:s(t=>new mm(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:s(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:s(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:s(()=>clearInterval(n),"dispose")}}})});function hm(){return Xy}s(hm,"RIL");(function(t){function e(){wr.RAL.install(Xy)}s(e,"install"),t.install=e})(hm||(hm={}));gm.default=hm});var yi=J(Kt=>{"use strict";var LA=Kt&&Kt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),DA=Kt&&Kt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&LA(e,t,r)};Object.defineProperty(Kt,"__esModule",{value:!0});Kt.createMessageConnection=Kt.BrowserMessageWriter=Kt.BrowserMessageReader=void 0;var MA=Jy();MA.default.install();var ks=Mu();DA(Mu(),Kt);var ym=class extends ks.AbstractMessageReader{static{s(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new ks.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Kt.BrowserMessageReader=ym;var Tm=class extends ks.AbstractMessageWriter{static{s(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Kt.BrowserMessageWriter=Tm;function FA(t,e,r,n){return r===void 0&&(r=ks.NullLogger),ks.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ks.createMessageConnection)(t,e,r,n)}s(FA,"createMessageConnection");Kt.createMessageConnection=FA});var Rm=J((lL,Zy)=>{"use strict";Zy.exports=yi()});var be=J(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.ProtocolNotificationType=Dt.ProtocolNotificationType0=Dt.ProtocolRequestType=Dt.ProtocolRequestType0=Dt.RegistrationType=Dt.MessageDirection=void 0;var Ns=yi(),Qy;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Qy||(Dt.MessageDirection=Qy={}));var $m=class{static{s(this,"RegistrationType")}constructor(e){this.method=e}};Dt.RegistrationType=$m;var xm=class extends Ns.RequestType0{static{s(this,"ProtocolRequestType0")}constructor(e){super(e)}};Dt.ProtocolRequestType0=xm;var vm=class extends Ns.RequestType{static{s(this,"ProtocolRequestType")}constructor(e){super(e,Ns.ParameterStructures.byName)}};Dt.ProtocolRequestType=vm;var Em=class extends Ns.NotificationType0{static{s(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Dt.ProtocolNotificationType0=Em;var Am=class extends Ns.NotificationType{static{s(this,"ProtocolNotificationType")}constructor(e){super(e,Ns.ParameterStructures.byName)}};Dt.ProtocolNotificationType=Am});var Gu=J(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.objectLiteral=Ye.typedArray=Ye.stringArray=Ye.array=Ye.func=Ye.error=Ye.number=Ye.string=Ye.boolean=void 0;function GA(t){return t===!0||t===!1}s(GA,"boolean");Ye.boolean=GA;function eT(t){return typeof t=="string"||t instanceof String}s(eT,"string");Ye.string=eT;function UA(t){return typeof t=="number"||t instanceof Number}s(UA,"number");Ye.number=UA;function zA(t){return t instanceof Error}s(zA,"error");Ye.error=zA;function qA(t){return typeof t=="function"}s(qA,"func");Ye.func=qA;function tT(t){return Array.isArray(t)}s(tT,"array");Ye.array=tT;function jA(t){return tT(t)&&t.every(e=>eT(e))}s(jA,"stringArray");Ye.stringArray=jA;function BA(t,e){return Array.isArray(t)&&t.every(e)}s(BA,"typedArray");Ye.typedArray=BA;function WA(t){return t!==null&&typeof t=="object"}s(WA,"objectLiteral");Ye.objectLiteral=WA});var iT=J(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.ImplementationRequest=void 0;var rT=be(),nT;(function(t){t.method="textDocument/implementation",t.messageDirection=rT.MessageDirection.clientToServer,t.type=new rT.ProtocolRequestType(t.method)})(nT||(Uu.ImplementationRequest=nT={}))});var oT=J(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.TypeDefinitionRequest=void 0;var sT=be(),aT;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=sT.MessageDirection.clientToServer,t.type=new sT.ProtocolRequestType(t.method)})(aT||(zu.TypeDefinitionRequest=aT={}))});var cT=J(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.DidChangeWorkspaceFoldersNotification=ws.WorkspaceFoldersRequest=void 0;var qu=be(),lT;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=qu.MessageDirection.serverToClient,t.type=new qu.ProtocolRequestType0(t.method)})(lT||(ws.WorkspaceFoldersRequest=lT={}));var uT;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=qu.MessageDirection.clientToServer,t.type=new qu.ProtocolNotificationType(t.method)})(uT||(ws.DidChangeWorkspaceFoldersNotification=uT={}))});var pT=J(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.ConfigurationRequest=void 0;var fT=be(),dT;(function(t){t.method="workspace/configuration",t.messageDirection=fT.MessageDirection.serverToClient,t.type=new fT.ProtocolRequestType(t.method)})(dT||(ju.ConfigurationRequest=dT={}))});var gT=J(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.ColorPresentationRequest=Is.DocumentColorRequest=void 0;var Bu=be(),mT;(function(t){t.method="textDocument/documentColor",t.messageDirection=Bu.MessageDirection.clientToServer,t.type=new Bu.ProtocolRequestType(t.method)})(mT||(Is.DocumentColorRequest=mT={}));var hT;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Bu.MessageDirection.clientToServer,t.type=new Bu.ProtocolRequestType(t.method)})(hT||(Is.ColorPresentationRequest=hT={}))});var RT=J(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.FoldingRangeRefreshRequest=bs.FoldingRangeRequest=void 0;var Wu=be(),yT;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Wu.MessageDirection.clientToServer,t.type=new Wu.ProtocolRequestType(t.method)})(yT||(bs.FoldingRangeRequest=yT={}));var TT;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Wu.MessageDirection.serverToClient,t.type=new Wu.ProtocolRequestType0(t.method)})(TT||(bs.FoldingRangeRefreshRequest=TT={}))});var vT=J(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.DeclarationRequest=void 0;var $T=be(),xT;(function(t){t.method="textDocument/declaration",t.messageDirection=$T.MessageDirection.clientToServer,t.type=new $T.ProtocolRequestType(t.method)})(xT||(Ku.DeclarationRequest=xT={}))});var CT=J(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.SelectionRangeRequest=void 0;var ET=be(),AT;(function(t){t.method="textDocument/selectionRange",t.messageDirection=ET.MessageDirection.clientToServer,t.type=new ET.ProtocolRequestType(t.method)})(AT||(Vu.SelectionRangeRequest=AT={}))});var wT=J(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.WorkDoneProgressCancelNotification=Sn.WorkDoneProgressCreateRequest=Sn.WorkDoneProgress=void 0;var KA=yi(),Hu=be(),ST;(function(t){t.type=new KA.ProgressType;function e(r){return r===t.type}s(e,"is"),t.is=e})(ST||(Sn.WorkDoneProgress=ST={}));var kT;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Hu.MessageDirection.serverToClient,t.type=new Hu.ProtocolRequestType(t.method)})(kT||(Sn.WorkDoneProgressCreateRequest=kT={}));var NT;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Hu.MessageDirection.clientToServer,t.type=new Hu.ProtocolNotificationType(t.method)})(NT||(Sn.WorkDoneProgressCancelNotification=NT={}))});var PT=J(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.CallHierarchyOutgoingCallsRequest=kn.CallHierarchyIncomingCallsRequest=kn.CallHierarchyPrepareRequest=void 0;var _s=be(),IT;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=_s.MessageDirection.clientToServer,t.type=new _s.ProtocolRequestType(t.method)})(IT||(kn.CallHierarchyPrepareRequest=IT={}));var bT;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=_s.MessageDirection.clientToServer,t.type=new _s.ProtocolRequestType(t.method)})(bT||(kn.CallHierarchyIncomingCallsRequest=bT={}));var _T;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=_s.MessageDirection.clientToServer,t.type=new _s.ProtocolRequestType(t.method)})(_T||(kn.CallHierarchyOutgoingCallsRequest=_T={}))});var GT=J(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.SemanticTokensRefreshRequest=Mt.SemanticTokensRangeRequest=Mt.SemanticTokensDeltaRequest=Mt.SemanticTokensRequest=Mt.SemanticTokensRegistrationType=Mt.TokenFormat=void 0;var Qr=be(),OT;(function(t){t.Relative="relative"})(OT||(Mt.TokenFormat=OT={}));var Eo;(function(t){t.method="textDocument/semanticTokens",t.type=new Qr.RegistrationType(t.method)})(Eo||(Mt.SemanticTokensRegistrationType=Eo={}));var LT;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method),t.registrationMethod=Eo.method})(LT||(Mt.SemanticTokensRequest=LT={}));var DT;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method),t.registrationMethod=Eo.method})(DT||(Mt.SemanticTokensDeltaRequest=DT={}));var MT;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Qr.MessageDirection.clientToServer,t.type=new Qr.ProtocolRequestType(t.method),t.registrationMethod=Eo.method})(MT||(Mt.SemanticTokensRangeRequest=MT={}));var FT;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Qr.MessageDirection.serverToClient,t.type=new Qr.ProtocolRequestType0(t.method)})(FT||(Mt.SemanticTokensRefreshRequest=FT={}))});var qT=J(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.ShowDocumentRequest=void 0;var UT=be(),zT;(function(t){t.method="window/showDocument",t.messageDirection=UT.MessageDirection.serverToClient,t.type=new UT.ProtocolRequestType(t.method)})(zT||(Yu.ShowDocumentRequest=zT={}))});var WT=J(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.LinkedEditingRangeRequest=void 0;var jT=be(),BT;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=jT.MessageDirection.clientToServer,t.type=new jT.ProtocolRequestType(t.method)})(BT||(Xu.LinkedEditingRangeRequest=BT={}))});var QT=J($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.WillDeleteFilesRequest=$t.DidDeleteFilesNotification=$t.DidRenameFilesNotification=$t.WillRenameFilesRequest=$t.DidCreateFilesNotification=$t.WillCreateFilesRequest=$t.FileOperationPatternKind=void 0;var Jt=be(),KT;(function(t){t.file="file",t.folder="folder"})(KT||($t.FileOperationPatternKind=KT={}));var VT;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolRequestType(t.method)})(VT||($t.WillCreateFilesRequest=VT={}));var HT;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolNotificationType(t.method)})(HT||($t.DidCreateFilesNotification=HT={}));var YT;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolRequestType(t.method)})(YT||($t.WillRenameFilesRequest=YT={}));var XT;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolNotificationType(t.method)})(XT||($t.DidRenameFilesNotification=XT={}));var JT;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolNotificationType(t.method)})(JT||($t.DidDeleteFilesNotification=JT={}));var ZT;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Jt.MessageDirection.clientToServer,t.type=new Jt.ProtocolRequestType(t.method)})(ZT||($t.WillDeleteFilesRequest=ZT={}))});var iR=J(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.MonikerRequest=Nn.MonikerKind=Nn.UniquenessLevel=void 0;var eR=be(),tR;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(tR||(Nn.UniquenessLevel=tR={}));var rR;(function(t){t.$import="import",t.$export="export",t.local="local"})(rR||(Nn.MonikerKind=rR={}));var nR;(function(t){t.method="textDocument/moniker",t.messageDirection=eR.MessageDirection.clientToServer,t.type=new eR.ProtocolRequestType(t.method)})(nR||(Nn.MonikerRequest=nR={}))});var lR=J(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.TypeHierarchySubtypesRequest=wn.TypeHierarchySupertypesRequest=wn.TypeHierarchyPrepareRequest=void 0;var Ps=be(),sR;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Ps.MessageDirection.clientToServer,t.type=new Ps.ProtocolRequestType(t.method)})(sR||(wn.TypeHierarchyPrepareRequest=sR={}));var aR;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Ps.MessageDirection.clientToServer,t.type=new Ps.ProtocolRequestType(t.method)})(aR||(wn.TypeHierarchySupertypesRequest=aR={}));var oR;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Ps.MessageDirection.clientToServer,t.type=new Ps.ProtocolRequestType(t.method)})(oR||(wn.TypeHierarchySubtypesRequest=oR={}))});var fR=J(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.InlineValueRefreshRequest=Os.InlineValueRequest=void 0;var Ju=be(),uR;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Ju.MessageDirection.clientToServer,t.type=new Ju.ProtocolRequestType(t.method)})(uR||(Os.InlineValueRequest=uR={}));var cR;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Ju.MessageDirection.serverToClient,t.type=new Ju.ProtocolRequestType0(t.method)})(cR||(Os.InlineValueRefreshRequest=cR={}))});var hR=J(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.InlayHintRefreshRequest=In.InlayHintResolveRequest=In.InlayHintRequest=void 0;var Ls=be(),dR;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Ls.MessageDirection.clientToServer,t.type=new Ls.ProtocolRequestType(t.method)})(dR||(In.InlayHintRequest=dR={}));var pR;(function(t){t.method="inlayHint/resolve",t.messageDirection=Ls.MessageDirection.clientToServer,t.type=new Ls.ProtocolRequestType(t.method)})(pR||(In.InlayHintResolveRequest=pR={}));var mR;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Ls.MessageDirection.serverToClient,t.type=new Ls.ProtocolRequestType0(t.method)})(mR||(In.InlayHintRefreshRequest=mR={}))});var vR=J(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.DiagnosticRefreshRequest=Zt.WorkspaceDiagnosticRequest=Zt.DocumentDiagnosticRequest=Zt.DocumentDiagnosticReportKind=Zt.DiagnosticServerCancellationData=void 0;var xR=yi(),VA=Gu(),Ds=be(),gR;(function(t){function e(r){let n=r;return n&&VA.boolean(n.retriggerRequest)}s(e,"is"),t.is=e})(gR||(Zt.DiagnosticServerCancellationData=gR={}));var yR;(function(t){t.Full="full",t.Unchanged="unchanged"})(yR||(Zt.DocumentDiagnosticReportKind=yR={}));var TR;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Ds.MessageDirection.clientToServer,t.type=new Ds.ProtocolRequestType(t.method),t.partialResult=new xR.ProgressType})(TR||(Zt.DocumentDiagnosticRequest=TR={}));var RR;(function(t){t.method="workspace/diagnostic",t.messageDirection=Ds.MessageDirection.clientToServer,t.type=new Ds.ProtocolRequestType(t.method),t.partialResult=new xR.ProgressType})(RR||(Zt.WorkspaceDiagnosticRequest=RR={}));var $R;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Ds.MessageDirection.serverToClient,t.type=new Ds.ProtocolRequestType0(t.method)})($R||(Zt.DiagnosticRefreshRequest=$R={}))});var wR=J(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.DidCloseNotebookDocumentNotification=ze.DidSaveNotebookDocumentNotification=ze.DidChangeNotebookDocumentNotification=ze.NotebookCellArrayChange=ze.DidOpenNotebookDocumentNotification=ze.NotebookDocumentSyncRegistrationType=ze.NotebookDocument=ze.NotebookCell=ze.ExecutionSummary=ze.NotebookCellKind=void 0;var Ao=(ds(),Cc(fu)),pr=Gu(),Ir=be(),Cm;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}s(e,"is"),t.is=e})(Cm||(ze.NotebookCellKind=Cm={}));var Sm;(function(t){function e(i,a){let o={executionOrder:i};return(a===!0||a===!1)&&(o.success=a),o}s(e,"create"),t.create=e;function r(i){let a=i;return pr.objectLiteral(a)&&Ao.uinteger.is(a.executionOrder)&&(a.success===void 0||pr.boolean(a.success))}s(r,"is"),t.is=r;function n(i,a){return i===a?!0:i==null||a===null||a===void 0?!1:i.executionOrder===a.executionOrder&&i.success===a.success}s(n,"equals"),t.equals=n})(Sm||(ze.ExecutionSummary=Sm={}));var Zu;(function(t){function e(a,o){return{kind:a,document:o}}s(e,"create"),t.create=e;function r(a){let o=a;return pr.objectLiteral(o)&&Cm.is(o.kind)&&Ao.DocumentUri.is(o.document)&&(o.metadata===void 0||pr.objectLiteral(o.metadata))}s(r,"is"),t.is=r;function n(a,o){let l=new Set;return a.document!==o.document&&l.add("document"),a.kind!==o.kind&&l.add("kind"),a.executionSummary!==o.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||o.metadata!==void 0)&&!i(a.metadata,o.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||o.executionSummary!==void 0)&&!Sm.equals(a.executionSummary,o.executionSummary)&&l.add("executionSummary"),l}s(n,"diff"),t.diff=n;function i(a,o){if(a===o)return!0;if(a==null||o===null||o===void 0||typeof a!=typeof o||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(o);if(l!==u)return!1;if(l&&u){if(a.length!==o.length)return!1;for(let c=0;c<a.length;c++)if(!i(a[c],o[c]))return!1}if(pr.objectLiteral(a)&&pr.objectLiteral(o)){let c=Object.keys(a),d=Object.keys(o);if(c.length!==d.length||(c.sort(),d.sort(),!i(c,d)))return!1;for(let m=0;m<c.length;m++){let h=c[m];if(!i(a[h],o[h]))return!1}}return!0}s(i,"equalsMetadata")})(Zu||(ze.NotebookCell=Zu={}));var ER;(function(t){function e(n,i,a,o){return{uri:n,notebookType:i,version:a,cells:o}}s(e,"create"),t.create=e;function r(n){let i=n;return pr.objectLiteral(i)&&pr.string(i.uri)&&Ao.integer.is(i.version)&&pr.typedArray(i.cells,Zu.is)}s(r,"is"),t.is=r})(ER||(ze.NotebookDocument=ER={}));var Ms;(function(t){t.method="notebookDocument/sync",t.messageDirection=Ir.MessageDirection.clientToServer,t.type=new Ir.RegistrationType(t.method)})(Ms||(ze.NotebookDocumentSyncRegistrationType=Ms={}));var AR;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Ir.MessageDirection.clientToServer,t.type=new Ir.ProtocolNotificationType(t.method),t.registrationMethod=Ms.method})(AR||(ze.DidOpenNotebookDocumentNotification=AR={}));var CR;(function(t){function e(n){let i=n;return pr.objectLiteral(i)&&Ao.uinteger.is(i.start)&&Ao.uinteger.is(i.deleteCount)&&(i.cells===void 0||pr.typedArray(i.cells,Zu.is))}s(e,"is"),t.is=e;function r(n,i,a){let o={start:n,deleteCount:i};return a!==void 0&&(o.cells=a),o}s(r,"create"),t.create=r})(CR||(ze.NotebookCellArrayChange=CR={}));var SR;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Ir.MessageDirection.clientToServer,t.type=new Ir.ProtocolNotificationType(t.method),t.registrationMethod=Ms.method})(SR||(ze.DidChangeNotebookDocumentNotification=SR={}));var kR;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Ir.MessageDirection.clientToServer,t.type=new Ir.ProtocolNotificationType(t.method),t.registrationMethod=Ms.method})(kR||(ze.DidSaveNotebookDocumentNotification=kR={}));var NR;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Ir.MessageDirection.clientToServer,t.type=new Ir.ProtocolNotificationType(t.method),t.registrationMethod=Ms.method})(NR||(ze.DidCloseNotebookDocumentNotification=NR={}))});var _R=J(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.InlineCompletionRequest=void 0;var IR=be(),bR;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=IR.MessageDirection.clientToServer,t.type=new IR.ProtocolRequestType(t.method)})(bR||(Qu.InlineCompletionRequest=bR={}))});var W$=J(f=>{"use strict";Object.defineProperty(f,"__esModule",{value:!0});f.WorkspaceSymbolRequest=f.CodeActionResolveRequest=f.CodeActionRequest=f.DocumentSymbolRequest=f.DocumentHighlightRequest=f.ReferencesRequest=f.DefinitionRequest=f.SignatureHelpRequest=f.SignatureHelpTriggerKind=f.HoverRequest=f.CompletionResolveRequest=f.CompletionRequest=f.CompletionTriggerKind=f.PublishDiagnosticsNotification=f.WatchKind=f.RelativePattern=f.FileChangeType=f.DidChangeWatchedFilesNotification=f.WillSaveTextDocumentWaitUntilRequest=f.WillSaveTextDocumentNotification=f.TextDocumentSaveReason=f.DidSaveTextDocumentNotification=f.DidCloseTextDocumentNotification=f.DidChangeTextDocumentNotification=f.TextDocumentContentChangeEvent=f.DidOpenTextDocumentNotification=f.TextDocumentSyncKind=f.TelemetryEventNotification=f.LogMessageNotification=f.ShowMessageRequest=f.ShowMessageNotification=f.MessageType=f.DidChangeConfigurationNotification=f.ExitNotification=f.ShutdownRequest=f.InitializedNotification=f.InitializeErrorCodes=f.InitializeRequest=f.WorkDoneProgressOptions=f.TextDocumentRegistrationOptions=f.StaticRegistrationOptions=f.PositionEncodingKind=f.FailureHandlingKind=f.ResourceOperationKind=f.UnregistrationRequest=f.RegistrationRequest=f.DocumentSelector=f.NotebookCellTextDocumentFilter=f.NotebookDocumentFilter=f.TextDocumentFilter=void 0;f.MonikerRequest=f.MonikerKind=f.UniquenessLevel=f.WillDeleteFilesRequest=f.DidDeleteFilesNotification=f.WillRenameFilesRequest=f.DidRenameFilesNotification=f.WillCreateFilesRequest=f.DidCreateFilesNotification=f.FileOperationPatternKind=f.LinkedEditingRangeRequest=f.ShowDocumentRequest=f.SemanticTokensRegistrationType=f.SemanticTokensRefreshRequest=f.SemanticTokensRangeRequest=f.SemanticTokensDeltaRequest=f.SemanticTokensRequest=f.TokenFormat=f.CallHierarchyPrepareRequest=f.CallHierarchyOutgoingCallsRequest=f.CallHierarchyIncomingCallsRequest=f.WorkDoneProgressCancelNotification=f.WorkDoneProgressCreateRequest=f.WorkDoneProgress=f.SelectionRangeRequest=f.DeclarationRequest=f.FoldingRangeRefreshRequest=f.FoldingRangeRequest=f.ColorPresentationRequest=f.DocumentColorRequest=f.ConfigurationRequest=f.DidChangeWorkspaceFoldersNotification=f.WorkspaceFoldersRequest=f.TypeDefinitionRequest=f.ImplementationRequest=f.ApplyWorkspaceEditRequest=f.ExecuteCommandRequest=f.PrepareRenameRequest=f.RenameRequest=f.PrepareSupportDefaultBehavior=f.DocumentOnTypeFormattingRequest=f.DocumentRangesFormattingRequest=f.DocumentRangeFormattingRequest=f.DocumentFormattingRequest=f.DocumentLinkResolveRequest=f.DocumentLinkRequest=f.CodeLensRefreshRequest=f.CodeLensResolveRequest=f.CodeLensRequest=f.WorkspaceSymbolResolveRequest=void 0;f.InlineCompletionRequest=f.DidCloseNotebookDocumentNotification=f.DidSaveNotebookDocumentNotification=f.DidChangeNotebookDocumentNotification=f.NotebookCellArrayChange=f.DidOpenNotebookDocumentNotification=f.NotebookDocumentSyncRegistrationType=f.NotebookDocument=f.NotebookCell=f.ExecutionSummary=f.NotebookCellKind=f.DiagnosticRefreshRequest=f.WorkspaceDiagnosticRequest=f.DocumentDiagnosticRequest=f.DocumentDiagnosticReportKind=f.DiagnosticServerCancellationData=f.InlayHintRefreshRequest=f.InlayHintResolveRequest=f.InlayHintRequest=f.InlineValueRefreshRequest=f.InlineValueRequest=f.TypeHierarchySupertypesRequest=f.TypeHierarchySubtypesRequest=f.TypeHierarchyPrepareRequest=void 0;var S=be(),PR=(ds(),Cc(fu)),st=Gu(),HA=iT();Object.defineProperty(f,"ImplementationRequest",{enumerable:!0,get:s(function(){return HA.ImplementationRequest},"get")});var YA=oT();Object.defineProperty(f,"TypeDefinitionRequest",{enumerable:!0,get:s(function(){return YA.TypeDefinitionRequest},"get")});var z$=cT();Object.defineProperty(f,"WorkspaceFoldersRequest",{enumerable:!0,get:s(function(){return z$.WorkspaceFoldersRequest},"get")});Object.defineProperty(f,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:s(function(){return z$.DidChangeWorkspaceFoldersNotification},"get")});var XA=pT();Object.defineProperty(f,"ConfigurationRequest",{enumerable:!0,get:s(function(){return XA.ConfigurationRequest},"get")});var q$=gT();Object.defineProperty(f,"DocumentColorRequest",{enumerable:!0,get:s(function(){return q$.DocumentColorRequest},"get")});Object.defineProperty(f,"ColorPresentationRequest",{enumerable:!0,get:s(function(){return q$.ColorPresentationRequest},"get")});var j$=RT();Object.defineProperty(f,"FoldingRangeRequest",{enumerable:!0,get:s(function(){return j$.FoldingRangeRequest},"get")});Object.defineProperty(f,"FoldingRangeRefreshRequest",{enumerable:!0,get:s(function(){return j$.FoldingRangeRefreshRequest},"get")});var JA=vT();Object.defineProperty(f,"DeclarationRequest",{enumerable:!0,get:s(function(){return JA.DeclarationRequest},"get")});var ZA=CT();Object.defineProperty(f,"SelectionRangeRequest",{enumerable:!0,get:s(function(){return ZA.SelectionRangeRequest},"get")});var bm=wT();Object.defineProperty(f,"WorkDoneProgress",{enumerable:!0,get:s(function(){return bm.WorkDoneProgress},"get")});Object.defineProperty(f,"WorkDoneProgressCreateRequest",{enumerable:!0,get:s(function(){return bm.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(f,"WorkDoneProgressCancelNotification",{enumerable:!0,get:s(function(){return bm.WorkDoneProgressCancelNotification},"get")});var _m=PT();Object.defineProperty(f,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:s(function(){return _m.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(f,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:s(function(){return _m.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(f,"CallHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return _m.CallHierarchyPrepareRequest},"get")});var Fs=GT();Object.defineProperty(f,"TokenFormat",{enumerable:!0,get:s(function(){return Fs.TokenFormat},"get")});Object.defineProperty(f,"SemanticTokensRequest",{enumerable:!0,get:s(function(){return Fs.SemanticTokensRequest},"get")});Object.defineProperty(f,"SemanticTokensDeltaRequest",{enumerable:!0,get:s(function(){return Fs.SemanticTokensDeltaRequest},"get")});Object.defineProperty(f,"SemanticTokensRangeRequest",{enumerable:!0,get:s(function(){return Fs.SemanticTokensRangeRequest},"get")});Object.defineProperty(f,"SemanticTokensRefreshRequest",{enumerable:!0,get:s(function(){return Fs.SemanticTokensRefreshRequest},"get")});Object.defineProperty(f,"SemanticTokensRegistrationType",{enumerable:!0,get:s(function(){return Fs.SemanticTokensRegistrationType},"get")});var QA=qT();Object.defineProperty(f,"ShowDocumentRequest",{enumerable:!0,get:s(function(){return QA.ShowDocumentRequest},"get")});var eC=WT();Object.defineProperty(f,"LinkedEditingRangeRequest",{enumerable:!0,get:s(function(){return eC.LinkedEditingRangeRequest},"get")});var Ti=QT();Object.defineProperty(f,"FileOperationPatternKind",{enumerable:!0,get:s(function(){return Ti.FileOperationPatternKind},"get")});Object.defineProperty(f,"DidCreateFilesNotification",{enumerable:!0,get:s(function(){return Ti.DidCreateFilesNotification},"get")});Object.defineProperty(f,"WillCreateFilesRequest",{enumerable:!0,get:s(function(){return Ti.WillCreateFilesRequest},"get")});Object.defineProperty(f,"DidRenameFilesNotification",{enumerable:!0,get:s(function(){return Ti.DidRenameFilesNotification},"get")});Object.defineProperty(f,"WillRenameFilesRequest",{enumerable:!0,get:s(function(){return Ti.WillRenameFilesRequest},"get")});Object.defineProperty(f,"DidDeleteFilesNotification",{enumerable:!0,get:s(function(){return Ti.DidDeleteFilesNotification},"get")});Object.defineProperty(f,"WillDeleteFilesRequest",{enumerable:!0,get:s(function(){return Ti.WillDeleteFilesRequest},"get")});var Pm=iR();Object.defineProperty(f,"UniquenessLevel",{enumerable:!0,get:s(function(){return Pm.UniquenessLevel},"get")});Object.defineProperty(f,"MonikerKind",{enumerable:!0,get:s(function(){return Pm.MonikerKind},"get")});Object.defineProperty(f,"MonikerRequest",{enumerable:!0,get:s(function(){return Pm.MonikerRequest},"get")});var Om=lR();Object.defineProperty(f,"TypeHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return Om.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(f,"TypeHierarchySubtypesRequest",{enumerable:!0,get:s(function(){return Om.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(f,"TypeHierarchySupertypesRequest",{enumerable:!0,get:s(function(){return Om.TypeHierarchySupertypesRequest},"get")});var B$=fR();Object.defineProperty(f,"InlineValueRequest",{enumerable:!0,get:s(function(){return B$.InlineValueRequest},"get")});Object.defineProperty(f,"InlineValueRefreshRequest",{enumerable:!0,get:s(function(){return B$.InlineValueRefreshRequest},"get")});var Lm=hR();Object.defineProperty(f,"InlayHintRequest",{enumerable:!0,get:s(function(){return Lm.InlayHintRequest},"get")});Object.defineProperty(f,"InlayHintResolveRequest",{enumerable:!0,get:s(function(){return Lm.InlayHintResolveRequest},"get")});Object.defineProperty(f,"InlayHintRefreshRequest",{enumerable:!0,get:s(function(){return Lm.InlayHintRefreshRequest},"get")});var Co=vR();Object.defineProperty(f,"DiagnosticServerCancellationData",{enumerable:!0,get:s(function(){return Co.DiagnosticServerCancellationData},"get")});Object.defineProperty(f,"DocumentDiagnosticReportKind",{enumerable:!0,get:s(function(){return Co.DocumentDiagnosticReportKind},"get")});Object.defineProperty(f,"DocumentDiagnosticRequest",{enumerable:!0,get:s(function(){return Co.DocumentDiagnosticRequest},"get")});Object.defineProperty(f,"WorkspaceDiagnosticRequest",{enumerable:!0,get:s(function(){return Co.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(f,"DiagnosticRefreshRequest",{enumerable:!0,get:s(function(){return Co.DiagnosticRefreshRequest},"get")});var br=wR();Object.defineProperty(f,"NotebookCellKind",{enumerable:!0,get:s(function(){return br.NotebookCellKind},"get")});Object.defineProperty(f,"ExecutionSummary",{enumerable:!0,get:s(function(){return br.ExecutionSummary},"get")});Object.defineProperty(f,"NotebookCell",{enumerable:!0,get:s(function(){return br.NotebookCell},"get")});Object.defineProperty(f,"NotebookDocument",{enumerable:!0,get:s(function(){return br.NotebookDocument},"get")});Object.defineProperty(f,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:s(function(){return br.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(f,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:s(function(){return br.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(f,"NotebookCellArrayChange",{enumerable:!0,get:s(function(){return br.NotebookCellArrayChange},"get")});Object.defineProperty(f,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:s(function(){return br.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(f,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:s(function(){return br.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(f,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:s(function(){return br.DidCloseNotebookDocumentNotification},"get")});var tC=_R();Object.defineProperty(f,"InlineCompletionRequest",{enumerable:!0,get:s(function(){return tC.InlineCompletionRequest},"get")});var km;(function(t){function e(r){let n=r;return st.string(n)||st.string(n.language)||st.string(n.scheme)||st.string(n.pattern)}s(e,"is"),t.is=e})(km||(f.TextDocumentFilter=km={}));var Nm;(function(t){function e(r){let n=r;return st.objectLiteral(n)&&(st.string(n.notebookType)||st.string(n.scheme)||st.string(n.pattern))}s(e,"is"),t.is=e})(Nm||(f.NotebookDocumentFilter=Nm={}));var wm;(function(t){function e(r){let n=r;return st.objectLiteral(n)&&(st.string(n.notebook)||Nm.is(n.notebook))&&(n.language===void 0||st.string(n.language))}s(e,"is"),t.is=e})(wm||(f.NotebookCellTextDocumentFilter=wm={}));var Im;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!st.string(n)&&!km.is(n)&&!wm.is(n))return!1;return!0}s(e,"is"),t.is=e})(Im||(f.DocumentSelector=Im={}));var OR;(function(t){t.method="client/registerCapability",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolRequestType(t.method)})(OR||(f.RegistrationRequest=OR={}));var LR;(function(t){t.method="client/unregisterCapability",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolRequestType(t.method)})(LR||(f.UnregistrationRequest=LR={}));var DR;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(DR||(f.ResourceOperationKind=DR={}));var MR;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(MR||(f.FailureHandlingKind=MR={}));var FR;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(FR||(f.PositionEncodingKind=FR={}));var GR;(function(t){function e(r){let n=r;return n&&st.string(n.id)&&n.id.length>0}s(e,"hasId"),t.hasId=e})(GR||(f.StaticRegistrationOptions=GR={}));var UR;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||Im.is(n.documentSelector))}s(e,"is"),t.is=e})(UR||(f.TextDocumentRegistrationOptions=UR={}));var zR;(function(t){function e(n){let i=n;return st.objectLiteral(i)&&(i.workDoneProgress===void 0||st.boolean(i.workDoneProgress))}s(e,"is"),t.is=e;function r(n){let i=n;return i&&st.boolean(i.workDoneProgress)}s(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(zR||(f.WorkDoneProgressOptions=zR={}));var qR;(function(t){t.method="initialize",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(qR||(f.InitializeRequest=qR={}));var jR;(function(t){t.unknownProtocolVersion=1})(jR||(f.InitializeErrorCodes=jR={}));var BR;(function(t){t.method="initialized",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(BR||(f.InitializedNotification=BR={}));var WR;(function(t){t.method="shutdown",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType0(t.method)})(WR||(f.ShutdownRequest=WR={}));var KR;(function(t){t.method="exit",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType0(t.method)})(KR||(f.ExitNotification=KR={}));var VR;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(VR||(f.DidChangeConfigurationNotification=VR={}));var HR;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(HR||(f.MessageType=HR={}));var YR;(function(t){t.method="window/showMessage",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolNotificationType(t.method)})(YR||(f.ShowMessageNotification=YR={}));var XR;(function(t){t.method="window/showMessageRequest",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolRequestType(t.method)})(XR||(f.ShowMessageRequest=XR={}));var JR;(function(t){t.method="window/logMessage",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolNotificationType(t.method)})(JR||(f.LogMessageNotification=JR={}));var ZR;(function(t){t.method="telemetry/event",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolNotificationType(t.method)})(ZR||(f.TelemetryEventNotification=ZR={}));var QR;(function(t){t.None=0,t.Full=1,t.Incremental=2})(QR||(f.TextDocumentSyncKind=QR={}));var e$;(function(t){t.method="textDocument/didOpen",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(e$||(f.DidOpenTextDocumentNotification=e$={}));var t$;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}s(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}s(r,"isFull"),t.isFull=r})(t$||(f.TextDocumentContentChangeEvent=t$={}));var r$;(function(t){t.method="textDocument/didChange",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(r$||(f.DidChangeTextDocumentNotification=r$={}));var n$;(function(t){t.method="textDocument/didClose",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(n$||(f.DidCloseTextDocumentNotification=n$={}));var i$;(function(t){t.method="textDocument/didSave",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(i$||(f.DidSaveTextDocumentNotification=i$={}));var s$;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(s$||(f.TextDocumentSaveReason=s$={}));var a$;(function(t){t.method="textDocument/willSave",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(a$||(f.WillSaveTextDocumentNotification=a$={}));var o$;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(o$||(f.WillSaveTextDocumentWaitUntilRequest=o$={}));var l$;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolNotificationType(t.method)})(l$||(f.DidChangeWatchedFilesNotification=l$={}));var u$;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(u$||(f.FileChangeType=u$={}));var c$;(function(t){function e(r){let n=r;return st.objectLiteral(n)&&(PR.URI.is(n.baseUri)||PR.WorkspaceFolder.is(n.baseUri))&&st.string(n.pattern)}s(e,"is"),t.is=e})(c$||(f.RelativePattern=c$={}));var f$;(function(t){t.Create=1,t.Change=2,t.Delete=4})(f$||(f.WatchKind=f$={}));var d$;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolNotificationType(t.method)})(d$||(f.PublishDiagnosticsNotification=d$={}));var p$;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(p$||(f.CompletionTriggerKind=p$={}));var m$;(function(t){t.method="textDocument/completion",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(m$||(f.CompletionRequest=m$={}));var h$;(function(t){t.method="completionItem/resolve",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(h$||(f.CompletionResolveRequest=h$={}));var g$;(function(t){t.method="textDocument/hover",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(g$||(f.HoverRequest=g$={}));var y$;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(y$||(f.SignatureHelpTriggerKind=y$={}));var T$;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(T$||(f.SignatureHelpRequest=T$={}));var R$;(function(t){t.method="textDocument/definition",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(R$||(f.DefinitionRequest=R$={}));var $$;(function(t){t.method="textDocument/references",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})($$||(f.ReferencesRequest=$$={}));var x$;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(x$||(f.DocumentHighlightRequest=x$={}));var v$;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(v$||(f.DocumentSymbolRequest=v$={}));var E$;(function(t){t.method="textDocument/codeAction",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(E$||(f.CodeActionRequest=E$={}));var A$;(function(t){t.method="codeAction/resolve",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(A$||(f.CodeActionResolveRequest=A$={}));var C$;(function(t){t.method="workspace/symbol",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(C$||(f.WorkspaceSymbolRequest=C$={}));var S$;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(S$||(f.WorkspaceSymbolResolveRequest=S$={}));var k$;(function(t){t.method="textDocument/codeLens",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(k$||(f.CodeLensRequest=k$={}));var N$;(function(t){t.method="codeLens/resolve",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(N$||(f.CodeLensResolveRequest=N$={}));var w$;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolRequestType0(t.method)})(w$||(f.CodeLensRefreshRequest=w$={}));var I$;(function(t){t.method="textDocument/documentLink",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(I$||(f.DocumentLinkRequest=I$={}));var b$;(function(t){t.method="documentLink/resolve",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(b$||(f.DocumentLinkResolveRequest=b$={}));var _$;(function(t){t.method="textDocument/formatting",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(_$||(f.DocumentFormattingRequest=_$={}));var P$;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(P$||(f.DocumentRangeFormattingRequest=P$={}));var O$;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(O$||(f.DocumentRangesFormattingRequest=O$={}));var L$;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(L$||(f.DocumentOnTypeFormattingRequest=L$={}));var D$;(function(t){t.Identifier=1})(D$||(f.PrepareSupportDefaultBehavior=D$={}));var M$;(function(t){t.method="textDocument/rename",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(M$||(f.RenameRequest=M$={}));var F$;(function(t){t.method="textDocument/prepareRename",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(F$||(f.PrepareRenameRequest=F$={}));var G$;(function(t){t.method="workspace/executeCommand",t.messageDirection=S.MessageDirection.clientToServer,t.type=new S.ProtocolRequestType(t.method)})(G$||(f.ExecuteCommandRequest=G$={}));var U$;(function(t){t.method="workspace/applyEdit",t.messageDirection=S.MessageDirection.serverToClient,t.type=new S.ProtocolRequestType("workspace/applyEdit")})(U$||(f.ApplyWorkspaceEditRequest=U$={}))});var V$=J(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.createProtocolConnection=void 0;var K$=yi();function rC(t,e,r,n){return K$.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,K$.createMessageConnection)(t,e,r,n)}s(rC,"createProtocolConnection");ec.createProtocolConnection=rC});var Y$=J(Ft=>{"use strict";var nC=Ft&&Ft.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tc=Ft&&Ft.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&nC(e,t,r)};Object.defineProperty(Ft,"__esModule",{value:!0});Ft.LSPErrorCodes=Ft.createProtocolConnection=void 0;tc(yi(),Ft);tc((ds(),Cc(fu)),Ft);tc(be(),Ft);tc(W$(),Ft);var iC=V$();Object.defineProperty(Ft,"createProtocolConnection",{enumerable:!0,get:s(function(){return iC.createProtocolConnection},"get")});var H$;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(H$||(Ft.LSPErrorCodes=H$={}))});var J$=J(_r=>{"use strict";var sC=_r&&_r.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),X$=_r&&_r.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&sC(e,t,r)};Object.defineProperty(_r,"__esModule",{value:!0});_r.createProtocolConnection=void 0;var aC=Rm();X$(Rm(),_r);X$(Y$(),_r);function oC(t,e,r,n){return(0,aC.createMessageConnection)(t,e,r,n)}s(oC,"createProtocolConnection");_r.createProtocolConnection=oC});var Ue={};nn(Ue,{AbstractAstReflection:()=>On,AbstractCstNode:()=>Va,AbstractLangiumParser:()=>Ha,AbstractParserErrorMessageProvider:()=>pu,AbstractThreadedAsyncParser:()=>jm,AstUtils:()=>Ho,BiMap:()=>pi,Cancellation:()=>W,CompositeCstNodeImpl:()=>li,ContextCache:()=>mi,CstNodeBuilder:()=>Ka,CstUtils:()=>ml,DEFAULT_TOKENIZE_OPTIONS:()=>rc,DONE_RESULT:()=>ht,DatatypeSymbol:()=>du,DefaultAstNodeDescriptionProvider:()=>po,DefaultAstNodeLocator:()=>ho,DefaultAsyncParser:()=>Oo,DefaultCommentProvider:()=>Po,DefaultConfigurationProvider:()=>go,DefaultDocumentBuilder:()=>So,DefaultDocumentValidator:()=>fo,DefaultHydrator:()=>Do,DefaultIndexManager:()=>ko,DefaultJsonSerializer:()=>lo,DefaultLangiumDocumentFactory:()=>Qa,DefaultLangiumDocuments:()=>eo,DefaultLangiumProfiler:()=>Jm,DefaultLexer:()=>Ri,DefaultLexerErrorMessageProvider:()=>wo,DefaultLinker:()=>to,DefaultNameProvider:()=>ro,DefaultReferenceDescriptionProvider:()=>mo,DefaultReferences:()=>no,DefaultScopeComputation:()=>io,DefaultScopeProvider:()=>oo,DefaultServiceRegistry:()=>uo,DefaultTokenBuilder:()=>Zr,DefaultValueConverter:()=>ci,DefaultWorkspaceLock:()=>Lo,DefaultWorkspaceManager:()=>No,Deferred:()=>It,Disposable:()=>bn,DisposableCache:()=>vs,DocumentCache:()=>vu,DocumentState:()=>ee,DocumentValidator:()=>Xt,EMPTY_SCOPE:()=>xA,EMPTY_STREAM:()=>on,EmptyFileSystem:()=>Xm,EmptyFileSystemProvider:()=>lc,ErrorWithLocation:()=>Yn,GrammarAST:()=>ca,GrammarUtils:()=>$l,IndentationAwareLexer:()=>Ym,IndentationAwareTokenBuilder:()=>oc,JSDocDocumentationProvider:()=>_o,LangiumCompletionParser:()=>Xa,LangiumParser:()=>Ya,LangiumParserErrorMessageProvider:()=>ms,LeafCstNodeImpl:()=>oi,LexingMode:()=>$i,MapScope:()=>hp,Module:()=>Vm,MultiMap:()=>Tt,MultiMapScope:()=>so,OperationCancelled:()=>Yt,ParserWorker:()=>Bm,ProfilingTask:()=>uc,Reduction:()=>Ni,RefResolving:()=>di,RegExpUtils:()=>yl,RootCstNodeImpl:()=>ps,SimpleCache:()=>ao,StreamImpl:()=>zt,StreamScope:()=>xs,TextDocument:()=>Ts,TreeStreamImpl:()=>Rr,URI:()=>tt,UriTrie:()=>$s,UriUtils:()=>je,VALIDATE_EACH_NODE:()=>Sy,ValidationCategory:()=>Eu,ValidationRegistry:()=>co,ValueConverter:()=>kr,WorkspaceCache:()=>Es,assertCondition:()=>bh,assertUnreachable:()=>vr,createCompletionParser:()=>sp,createDefaultCoreModule:()=>Wm,createDefaultSharedCoreModule:()=>Km,createGrammarConfig:()=>Rf,createLangiumParser:()=>ap,createParser:()=>Ja,delayNextTick:()=>pp,diagnosticData:()=>hi,eagerLoad:()=>ox,getDiagnosticRange:()=>ky,indentationBuilderDefaultOptions:()=>Hm,inject:()=>ac,interruptAndCheck:()=>De,isAstNode:()=>Le,isAstNodeDescription:()=>Nc,isAstNodeWithComment:()=>gp,isCompositeCstNode:()=>sr,isIMultiModeLexerDefinition:()=>Mm,isJSDoc:()=>zm,isLeafCstNode:()=>an,isLinkingError:()=>Ln,isMultiReference:()=>Ut,isNamed:()=>Ay,isOperationCancelled:()=>Nr,isReference:()=>Qe,isRootCstNode:()=>Zs,isTokenTypeArray:()=>nc,isTokenTypeDictionary:()=>Dm,loadGrammarFromJson:()=>Qt,parseJSDoc:()=>Um,prepareLangiumParser:()=>my,setInterruptionPeriod:()=>Ry,startCancelableOperation:()=>$u,stream:()=>re,toDiagnosticData:()=>Ny,toDiagnosticSeverity:()=>Au});var ml={};nn(ml,{DefaultNameRegexp:()=>pl,RangeComparison:()=>xr,compareRange:()=>kh,findCommentNode:()=>Qc,findDeclarationNodeAtOffset:()=>Yx,findLeafNodeAtOffset:()=>ef,findLeafNodeBeforeOffset:()=>Nh,flattenCst:()=>Hx,getDatatypeNode:()=>Vx,getInteriorNodes:()=>Zx,getNextNode:()=>Xx,getPreviousNode:()=>Ih,getStartlineNode:()=>Jx,inRange:()=>_c,isChildNode:()=>Zc,isCommentNode:()=>Jc,streamCst:()=>Vn,toDocumentSegment:()=>Hn,tokenToRange:()=>Gi});function Le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}s(Le,"isAstNode");function Qe(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}s(Qe,"isReference");function Ut(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}s(Ut,"isMultiReference");function Nc(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}s(Nc,"isAstNodeDescription");function Ln(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}s(Ln,"isLinkingError");var On=class{static{s(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Le(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.types[e],o=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};function sr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}s(sr,"isCompositeCstNode");function an(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}s(an,"isLeafCstNode");function Zs(t){return sr(t)&&typeof t.fullText=="string"}s(Zs,"isRootCstNode");var zt=class t{static{s(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return ht})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=Nx(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?ht:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return ht})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(Ko(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return ht})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(Ko(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return ht})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?ht:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return ht})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};function Nx(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}s(Nx,"toString");function Ko(t){return!!t&&typeof t[Symbol.iterator]=="function"}s(Ko,"isIterable");var on=new zt(()=>{},()=>ht),ht=Object.freeze({done:!0,value:void 0});function re(...t){if(t.length===1){let e=t[0];if(e instanceof zt)return e;if(Ko(e))return new zt(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new zt(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:ht)}return t.length>1?new zt(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;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){let r=t[e.collIndex++];Ko(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return ht}):on}s(re,"stream");var Rr=class extends zt{static{s(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(r(o.value)[Symbol.iterator]()),o}return ht})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},Ni;(function(t){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),t.sum=e;function r(a){return a.reduce((o,l)=>o*l,0)}s(r,"product"),t.product=r;function n(a){return a.reduce((o,l)=>Math.min(o,l))}s(n,"min"),t.min=n;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),t.max=i})(Ni||(Ni={}));var Ho={};nn(Ho,{assignMandatoryProperties:()=>bc,copyAstNode:()=>Ic,findRootNode:()=>Ii,getContainerOfType:()=>Fr,getDocument:()=>gt,getReferenceNodes:()=>Vo,hasContainerOfType:()=>wx,linkContentToContainer:()=>wi,streamAllContents:()=>ar,streamAst:()=>Ct,streamContents:()=>Qs,streamReferences:()=>ln});function wi(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Le(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&wi(i,e))}):Le(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&wi(n,e)))}s(wi,"linkContentToContainer");function Fr(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}s(Fr,"getContainerOfType");function wx(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}s(wx,"hasContainerOfType");function gt(t){let r=Ii(t).$document;if(!r)throw new Error("AST node has no document.");return r}s(gt,"getDocument");function Ii(t){for(;t.$container;)t=t.$container;return t}s(Ii,"findRootNode");function Vo(t){return Qe(t)?t.ref?[t.ref]:[]:Ut(t)?t.items.map(e=>e.ref):[]}s(Vo,"getReferenceNodes");function Qs(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new zt(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let a=t[i];if(Le(a)){if(n.keyIndex++,wc(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){let o=n.arrayIndex++,l=a[o];if(Le(l)&&wc(l,r))return{done:!1,value:l}}n.arrayIndex=0}}n.keyIndex++}return ht})}s(Qs,"streamContents");function ar(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Rr(t,r=>Qs(r,e))}s(ar,"streamAllContents");function Ct(t,e){if(t){if(e?.range&&!wc(t,e.range))return new Rr(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Rr(t,r=>Qs(r,e),{includeRoot:!0})}s(Ct,"streamAst");function wc(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?_c(r,e):!1}s(wc,"isAstNodeInRange");function ln(t){return new zt(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(Qe(n)||Ut(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,a=n[i];if(Qe(a)||Ut(n))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ht})}s(ln,"streamReferences");function bc(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Ch(i.defaultValue))}s(bc,"assignMandatoryProperties");function Ch(t){return Array.isArray(t)?[...t.map(Ch)]:t}s(Ch,"copyDefaultValue");function Ic(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,a]of Object.entries(t))if(!i.startsWith("$"))if(Le(a))n[i]=Ic(a,e,r);else if(Qe(a))n[i]=e(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let o=[];for(let l of a)Le(l)?o.push(Ic(l,e,r)):Qe(l)?o.push(e(n,i,l.$refNode,l.$refText,l)):o.push(l);n[i]=o}else n[i]=a;return wi(n,{deep:!0}),n}s(Ic,"copyAstNode");var ca={};nn(ca,{AbstractElement:()=>_t,AbstractParserRule:()=>ea,AbstractRule:()=>bi,AbstractType:()=>qt,Action:()=>un,Alternatives:()=>ta,ArrayLiteral:()=>Yo,ArrayType:()=>Xo,Assignment:()=>cn,BooleanLiteral:()=>Jo,CharacterRange:()=>fn,Condition:()=>dn,Conjunction:()=>ra,CrossReference:()=>pn,Disjunction:()=>na,EndOfFile:()=>Zo,Grammar:()=>Gr,GrammarImport:()=>Qo,Group:()=>Dn,InferredType:()=>el,InfixRule:()=>$r,InfixRuleOperatorList:()=>ia,InfixRuleOperators:()=>tl,Interface:()=>_i,Keyword:()=>Pi,LangiumGrammarAstReflection:()=>Fi,LangiumGrammarTerminals:()=>Ix,NamedArgument:()=>Oi,NegatedToken:()=>Mn,Negation:()=>rl,NumberLiteral:()=>nl,Parameter:()=>Li,ParameterReference:()=>il,ParserRule:()=>or,ReferenceType:()=>sa,RegexToken:()=>Fn,ReturnType:()=>sl,RuleCall:()=>Gn,SimpleType:()=>Di,StringLiteral:()=>al,TerminalAlternatives:()=>Un,TerminalElement:()=>Pt,TerminalGroup:()=>zn,TerminalRule:()=>Ur,TerminalRuleCall:()=>qn,Type:()=>aa,TypeAttribute:()=>jn,TypeDefinition:()=>Bn,UnionType:()=>ol,UnorderedGroup:()=>oa,UntilToken:()=>Wn,ValueLiteral:()=>Kn,Wildcard:()=>Mi,isAbstractElement:()=>la,isAbstractParserRule:()=>zr,isAbstractRule:()=>bx,isAbstractType:()=>_x,isAction:()=>qr,isAlternatives:()=>ll,isArrayLiteral:()=>Px,isArrayType:()=>Pc,isAssignment:()=>lr,isBooleanLiteral:()=>Oc,isCharacterRange:()=>Lc,isCondition:()=>Ox,isConjunction:()=>Dc,isCrossReference:()=>ur,isDisjunction:()=>Mc,isEndOfFile:()=>Fc,isGrammar:()=>Lx,isGrammarImport:()=>Dx,isGroup:()=>mn,isInferredType:()=>ua,isInfixRule:()=>hn,isInfixRuleOperatorList:()=>Mx,isInfixRuleOperators:()=>Fx,isInterface:()=>Gc,isKeyword:()=>Ht,isNamedArgument:()=>Gx,isNegatedToken:()=>Uc,isNegation:()=>zc,isNumberLiteral:()=>Ux,isParameter:()=>zx,isParameterReference:()=>qc,isParserRule:()=>nt,isReferenceType:()=>jc,isRegexToken:()=>Bc,isReturnType:()=>Wc,isRuleCall:()=>cr,isSimpleType:()=>ul,isStringLiteral:()=>qx,isTerminalAlternatives:()=>Kc,isTerminalElement:()=>jx,isTerminalGroup:()=>Vc,isTerminalRule:()=>St,isTerminalRuleCall:()=>cl,isType:()=>fl,isTypeAttribute:()=>Bx,isTypeDefinition:()=>Wx,isUnionType:()=>Hc,isUnorderedGroup:()=>dl,isUntilToken:()=>Yc,isValueLiteral:()=>Kx,isWildcard:()=>Xc,reflection:()=>B});var Ix={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},_t={$type:"AbstractElement",cardinality:"cardinality"};function la(t){return B.isInstance(t,_t.$type)}s(la,"isAbstractElement");var ea={$type:"AbstractParserRule"};function zr(t){return B.isInstance(t,ea.$type)}s(zr,"isAbstractParserRule");var bi={$type:"AbstractRule"};function bx(t){return B.isInstance(t,bi.$type)}s(bx,"isAbstractRule");var qt={$type:"AbstractType"};function _x(t){return B.isInstance(t,qt.$type)}s(_x,"isAbstractType");var un={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function qr(t){return B.isInstance(t,un.$type)}s(qr,"isAction");var ta={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function ll(t){return B.isInstance(t,ta.$type)}s(ll,"isAlternatives");var Yo={$type:"ArrayLiteral",elements:"elements"};function Px(t){return B.isInstance(t,Yo.$type)}s(Px,"isArrayLiteral");var Xo={$type:"ArrayType",elementType:"elementType"};function Pc(t){return B.isInstance(t,Xo.$type)}s(Pc,"isArrayType");var cn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function lr(t){return B.isInstance(t,cn.$type)}s(lr,"isAssignment");var Jo={$type:"BooleanLiteral",true:"true"};function Oc(t){return B.isInstance(t,Jo.$type)}s(Oc,"isBooleanLiteral");var fn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Lc(t){return B.isInstance(t,fn.$type)}s(Lc,"isCharacterRange");var dn={$type:"Condition"};function Ox(t){return B.isInstance(t,dn.$type)}s(Ox,"isCondition");var ra={$type:"Conjunction",left:"left",right:"right"};function Dc(t){return B.isInstance(t,ra.$type)}s(Dc,"isConjunction");var pn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function ur(t){return B.isInstance(t,pn.$type)}s(ur,"isCrossReference");var na={$type:"Disjunction",left:"left",right:"right"};function Mc(t){return B.isInstance(t,na.$type)}s(Mc,"isDisjunction");var Zo={$type:"EndOfFile",cardinality:"cardinality"};function Fc(t){return B.isInstance(t,Zo.$type)}s(Fc,"isEndOfFile");var Gr={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function Lx(t){return B.isInstance(t,Gr.$type)}s(Lx,"isGrammar");var Qo={$type:"GrammarImport",path:"path"};function Dx(t){return B.isInstance(t,Qo.$type)}s(Dx,"isGrammarImport");var Dn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function mn(t){return B.isInstance(t,Dn.$type)}s(mn,"isGroup");var el={$type:"InferredType",name:"name"};function ua(t){return B.isInstance(t,el.$type)}s(ua,"isInferredType");var $r={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function hn(t){return B.isInstance(t,$r.$type)}s(hn,"isInfixRule");var ia={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function Mx(t){return B.isInstance(t,ia.$type)}s(Mx,"isInfixRuleOperatorList");var tl={$type:"InfixRuleOperators",precedences:"precedences"};function Fx(t){return B.isInstance(t,tl.$type)}s(Fx,"isInfixRuleOperators");var _i={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Gc(t){return B.isInstance(t,_i.$type)}s(Gc,"isInterface");var Pi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Ht(t){return B.isInstance(t,Pi.$type)}s(Ht,"isKeyword");var Oi={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Gx(t){return B.isInstance(t,Oi.$type)}s(Gx,"isNamedArgument");var Mn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Uc(t){return B.isInstance(t,Mn.$type)}s(Uc,"isNegatedToken");var rl={$type:"Negation",value:"value"};function zc(t){return B.isInstance(t,rl.$type)}s(zc,"isNegation");var nl={$type:"NumberLiteral",value:"value"};function Ux(t){return B.isInstance(t,nl.$type)}s(Ux,"isNumberLiteral");var Li={$type:"Parameter",name:"name"};function zx(t){return B.isInstance(t,Li.$type)}s(zx,"isParameter");var il={$type:"ParameterReference",parameter:"parameter"};function qc(t){return B.isInstance(t,il.$type)}s(qc,"isParameterReference");var or={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function nt(t){return B.isInstance(t,or.$type)}s(nt,"isParserRule");var sa={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function jc(t){return B.isInstance(t,sa.$type)}s(jc,"isReferenceType");var Fn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Bc(t){return B.isInstance(t,Fn.$type)}s(Bc,"isRegexToken");var sl={$type:"ReturnType",name:"name"};function Wc(t){return B.isInstance(t,sl.$type)}s(Wc,"isReturnType");var Gn={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function cr(t){return B.isInstance(t,Gn.$type)}s(cr,"isRuleCall");var Di={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function ul(t){return B.isInstance(t,Di.$type)}s(ul,"isSimpleType");var al={$type:"StringLiteral",value:"value"};function qx(t){return B.isInstance(t,al.$type)}s(qx,"isStringLiteral");var Un={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Kc(t){return B.isInstance(t,Un.$type)}s(Kc,"isTerminalAlternatives");var Pt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function jx(t){return B.isInstance(t,Pt.$type)}s(jx,"isTerminalElement");var zn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Vc(t){return B.isInstance(t,zn.$type)}s(Vc,"isTerminalGroup");var Ur={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function St(t){return B.isInstance(t,Ur.$type)}s(St,"isTerminalRule");var qn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function cl(t){return B.isInstance(t,qn.$type)}s(cl,"isTerminalRuleCall");var aa={$type:"Type",name:"name",type:"type"};function fl(t){return B.isInstance(t,aa.$type)}s(fl,"isType");var jn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Bx(t){return B.isInstance(t,jn.$type)}s(Bx,"isTypeAttribute");var Bn={$type:"TypeDefinition"};function Wx(t){return B.isInstance(t,Bn.$type)}s(Wx,"isTypeDefinition");var ol={$type:"UnionType",types:"types"};function Hc(t){return B.isInstance(t,ol.$type)}s(Hc,"isUnionType");var oa={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function dl(t){return B.isInstance(t,oa.$type)}s(dl,"isUnorderedGroup");var Wn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Yc(t){return B.isInstance(t,Wn.$type)}s(Yc,"isUntilToken");var Kn={$type:"ValueLiteral"};function Kx(t){return B.isInstance(t,Kn.$type)}s(Kx,"isValueLiteral");var Mi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Xc(t){return B.isInstance(t,Mi.$type)}s(Xc,"isWildcard");var Fi=class extends On{static{s(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:_t.$type,properties:{cardinality:{name:_t.cardinality}},superTypes:[]},AbstractParserRule:{name:ea.$type,properties:{},superTypes:[bi.$type,qt.$type]},AbstractRule:{name:bi.$type,properties:{},superTypes:[]},AbstractType:{name:qt.$type,properties:{},superTypes:[]},Action:{name:un.$type,properties:{cardinality:{name:un.cardinality},feature:{name:un.feature},inferredType:{name:un.inferredType},operator:{name:un.operator},type:{name:un.type,referenceType:qt.$type}},superTypes:[_t.$type]},Alternatives:{name:ta.$type,properties:{cardinality:{name:ta.cardinality},elements:{name:ta.elements,defaultValue:[]}},superTypes:[_t.$type]},ArrayLiteral:{name:Yo.$type,properties:{elements:{name:Yo.elements,defaultValue:[]}},superTypes:[Kn.$type]},ArrayType:{name:Xo.$type,properties:{elementType:{name:Xo.elementType}},superTypes:[Bn.$type]},Assignment:{name:cn.$type,properties:{cardinality:{name:cn.cardinality},feature:{name:cn.feature},operator:{name:cn.operator},predicate:{name:cn.predicate},terminal:{name:cn.terminal}},superTypes:[_t.$type]},BooleanLiteral:{name:Jo.$type,properties:{true:{name:Jo.true,defaultValue:!1}},superTypes:[dn.$type,Kn.$type]},CharacterRange:{name:fn.$type,properties:{cardinality:{name:fn.cardinality},left:{name:fn.left},lookahead:{name:fn.lookahead},parenthesized:{name:fn.parenthesized,defaultValue:!1},right:{name:fn.right}},superTypes:[Pt.$type]},Condition:{name:dn.$type,properties:{},superTypes:[]},Conjunction:{name:ra.$type,properties:{left:{name:ra.left},right:{name:ra.right}},superTypes:[dn.$type]},CrossReference:{name:pn.$type,properties:{cardinality:{name:pn.cardinality},deprecatedSyntax:{name:pn.deprecatedSyntax,defaultValue:!1},isMulti:{name:pn.isMulti,defaultValue:!1},terminal:{name:pn.terminal},type:{name:pn.type,referenceType:qt.$type}},superTypes:[_t.$type]},Disjunction:{name:na.$type,properties:{left:{name:na.left},right:{name:na.right}},superTypes:[dn.$type]},EndOfFile:{name:Zo.$type,properties:{cardinality:{name:Zo.cardinality}},superTypes:[_t.$type]},Grammar:{name:Gr.$type,properties:{imports:{name:Gr.imports,defaultValue:[]},interfaces:{name:Gr.interfaces,defaultValue:[]},isDeclared:{name:Gr.isDeclared,defaultValue:!1},name:{name:Gr.name},rules:{name:Gr.rules,defaultValue:[]},types:{name:Gr.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Qo.$type,properties:{path:{name:Qo.path}},superTypes:[]},Group:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},elements:{name:Dn.elements,defaultValue:[]},guardCondition:{name:Dn.guardCondition},predicate:{name:Dn.predicate}},superTypes:[_t.$type]},InferredType:{name:el.$type,properties:{name:{name:el.name}},superTypes:[qt.$type]},InfixRule:{name:$r.$type,properties:{call:{name:$r.call},dataType:{name:$r.dataType},inferredType:{name:$r.inferredType},name:{name:$r.name},operators:{name:$r.operators},parameters:{name:$r.parameters,defaultValue:[]},returnType:{name:$r.returnType,referenceType:qt.$type}},superTypes:[ea.$type]},InfixRuleOperatorList:{name:ia.$type,properties:{associativity:{name:ia.associativity},operators:{name:ia.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:tl.$type,properties:{precedences:{name:tl.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:_i.$type,properties:{attributes:{name:_i.attributes,defaultValue:[]},name:{name:_i.name},superTypes:{name:_i.superTypes,defaultValue:[],referenceType:qt.$type}},superTypes:[qt.$type]},Keyword:{name:Pi.$type,properties:{cardinality:{name:Pi.cardinality},predicate:{name:Pi.predicate},value:{name:Pi.value}},superTypes:[_t.$type]},NamedArgument:{name:Oi.$type,properties:{calledByName:{name:Oi.calledByName,defaultValue:!1},parameter:{name:Oi.parameter,referenceType:Li.$type},value:{name:Oi.value}},superTypes:[]},NegatedToken:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},terminal:{name:Mn.terminal}},superTypes:[Pt.$type]},Negation:{name:rl.$type,properties:{value:{name:rl.value}},superTypes:[dn.$type]},NumberLiteral:{name:nl.$type,properties:{value:{name:nl.value}},superTypes:[Kn.$type]},Parameter:{name:Li.$type,properties:{name:{name:Li.name}},superTypes:[]},ParameterReference:{name:il.$type,properties:{parameter:{name:il.parameter,referenceType:Li.$type}},superTypes:[dn.$type]},ParserRule:{name:or.$type,properties:{dataType:{name:or.dataType},definition:{name:or.definition},entry:{name:or.entry,defaultValue:!1},fragment:{name:or.fragment,defaultValue:!1},inferredType:{name:or.inferredType},name:{name:or.name},parameters:{name:or.parameters,defaultValue:[]},returnType:{name:or.returnType,referenceType:qt.$type}},superTypes:[ea.$type]},ReferenceType:{name:sa.$type,properties:{isMulti:{name:sa.isMulti,defaultValue:!1},referenceType:{name:sa.referenceType}},superTypes:[Bn.$type]},RegexToken:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},lookahead:{name:Fn.lookahead},parenthesized:{name:Fn.parenthesized,defaultValue:!1},regex:{name:Fn.regex}},superTypes:[Pt.$type]},ReturnType:{name:sl.$type,properties:{name:{name:sl.name}},superTypes:[]},RuleCall:{name:Gn.$type,properties:{arguments:{name:Gn.arguments,defaultValue:[]},cardinality:{name:Gn.cardinality},predicate:{name:Gn.predicate},rule:{name:Gn.rule,referenceType:bi.$type}},superTypes:[_t.$type]},SimpleType:{name:Di.$type,properties:{primitiveType:{name:Di.primitiveType},stringType:{name:Di.stringType},typeRef:{name:Di.typeRef,referenceType:qt.$type}},superTypes:[Bn.$type]},StringLiteral:{name:al.$type,properties:{value:{name:al.value}},superTypes:[Kn.$type]},TerminalAlternatives:{name:Un.$type,properties:{cardinality:{name:Un.cardinality},elements:{name:Un.elements,defaultValue:[]},lookahead:{name:Un.lookahead},parenthesized:{name:Un.parenthesized,defaultValue:!1}},superTypes:[Pt.$type]},TerminalElement:{name:Pt.$type,properties:{cardinality:{name:Pt.cardinality},lookahead:{name:Pt.lookahead},parenthesized:{name:Pt.parenthesized,defaultValue:!1}},superTypes:[_t.$type]},TerminalGroup:{name:zn.$type,properties:{cardinality:{name:zn.cardinality},elements:{name:zn.elements,defaultValue:[]},lookahead:{name:zn.lookahead},parenthesized:{name:zn.parenthesized,defaultValue:!1}},superTypes:[Pt.$type]},TerminalRule:{name:Ur.$type,properties:{definition:{name:Ur.definition},fragment:{name:Ur.fragment,defaultValue:!1},hidden:{name:Ur.hidden,defaultValue:!1},name:{name:Ur.name},type:{name:Ur.type}},superTypes:[bi.$type]},TerminalRuleCall:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},lookahead:{name:qn.lookahead},parenthesized:{name:qn.parenthesized,defaultValue:!1},rule:{name:qn.rule,referenceType:Ur.$type}},superTypes:[Pt.$type]},Type:{name:aa.$type,properties:{name:{name:aa.name},type:{name:aa.type}},superTypes:[qt.$type]},TypeAttribute:{name:jn.$type,properties:{defaultValue:{name:jn.defaultValue},isOptional:{name:jn.isOptional,defaultValue:!1},name:{name:jn.name},type:{name:jn.type}},superTypes:[]},TypeDefinition:{name:Bn.$type,properties:{},superTypes:[]},UnionType:{name:ol.$type,properties:{types:{name:ol.types,defaultValue:[]}},superTypes:[Bn.$type]},UnorderedGroup:{name:oa.$type,properties:{cardinality:{name:oa.cardinality},elements:{name:oa.elements,defaultValue:[]}},superTypes:[_t.$type]},UntilToken:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1},terminal:{name:Wn.terminal}},superTypes:[Pt.$type]},ValueLiteral:{name:Kn.$type,properties:{},superTypes:[]},Wildcard:{name:Mi.$type,properties:{cardinality:{name:Mi.cardinality},lookahead:{name:Mi.lookahead},parenthesized:{name:Mi.parenthesized,defaultValue:!1}},superTypes:[Pt.$type]}}}},B=new Fi;function Vx(t){let e=t,r=!1;for(;e;){let n=Fr(e.grammarSource,nt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}s(Vx,"getDatatypeNode");function Vn(t){return new Rr(t,e=>sr(e)?e.content:[],{includeRoot:!0})}s(Vn,"streamCst");function Hx(t){return Vn(t).filter(an)}s(Hx,"flattenCst");function Zc(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}s(Zc,"isChildNode");function Gi(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}s(Gi,"tokenToRange");function Hn(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}s(Hn,"toDocumentSegment");var xr;(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"})(xr||(xr={}));function kh(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return xr.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return xr.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?xr.Inside:r?xr.OverlapBack:n?xr.OverlapFront:xr.Outside}s(kh,"compareRange");function _c(t,e){return kh(t,e)>xr.After}s(_c,"inRange");var pl=/^[\w\p{L}]$/u;function Yx(t,e,r=pl){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return ef(t,e)}}s(Yx,"findDeclarationNodeAtOffset");function Qc(t,e){if(t){let r=Ih(t,!0);if(r&&Jc(r,e))return r;if(Zs(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(Jc(a,e))return a}}}}s(Qc,"findCommentNode");function Jc(t,e){return an(t)&&e.includes(t.tokenType.name)}s(Jc,"isCommentNode");function ef(t,e){if(an(t))return t;if(sr(t)){let r=wh(t,e,!1);if(r)return ef(r,e)}}s(ef,"findLeafNodeAtOffset");function Nh(t,e){if(an(t))return t;if(sr(t)){let r=wh(t,e,!0);if(r)return Nh(r,e)}}s(Nh,"findLeafNodeBeforeOffset");function wh(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let o=Math.floor((n+i)/2),l=t.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=o+1):i=o-1}return a}s(wh,"binarySearch");function Ih(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}s(Ih,"getPreviousNode");function Xx(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let a=r.content[n];if(e||!a.hidden)return a}t=r}}s(Xx,"getNextNode");function Jx(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,a=n??i.content.indexOf(t);if(a===0?(t=i,n=void 0):(n=a-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}s(Jx,"getStartlineNode");function Zx(t,e){let r=Qx(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}s(Zx,"getInteriorNodes");function Qx(t,e){let r=Sh(t),n=Sh(e),i;for(let a=0;a<r.length&&a<n.length;a++){let o=r[a],l=n[a];if(o.parent===l.parent)i={parent:o.parent,a:o.index,b:l.index};else break}return i}s(Qx,"getCommonParent");function Sh(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}s(Sh,"getParentChain");var $l={};nn($l,{findAssignment:()=>gf,findNameAssignment:()=>Tl,findNodeForKeyword:()=>mf,findNodeForProperty:()=>ga,findNodesForKeyword:()=>iv,findNodesForKeywordInternal:()=>hf,findNodesForProperty:()=>df,getActionAtElement:()=>Gh,getActionType:()=>zh,getAllReachableRules:()=>ha,getAllRulesUsedForCrossReferences:()=>nv,getCrossReferenceTerminal:()=>cf,getEntryRule:()=>Lh,getExplicitRuleType:()=>Rl,getHiddenRules:()=>Dh,getRuleType:()=>yf,getRuleTypeName:()=>uv,getTypeName:()=>yn,isArrayCardinality:()=>av,isArrayOperator:()=>ov,isCommentTerminal:()=>ff,isDataType:()=>lv,isDataTypeRule:()=>ya,isOptionalCardinality:()=>sv,terminalRegex:()=>zi});var Yn=class extends Error{static{s(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function vr(t,e="Error: Got unexpected value."){throw new Error(e)}s(vr,"assertUnreachable");function bh(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}s(bh,"assertCondition");var yl={};nn(yl,{NEWLINE_REGEXP:()=>sf,escapeRegExp:()=>gn,getTerminalParts:()=>rv,isMultilineComment:()=>af,isWhitespace:()=>ma,partialMatches:()=>of,partialRegExp:()=>Oh,whitespaceCharacters:()=>Ph});function K(t){return t.charCodeAt(0)}s(K,"cc");function hl(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}s(hl,"insertToSet");function Ui(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}s(Ui,"addFlag");function Xn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}s(Xn,"ASSERT_EXISTS");function fa(){throw Error("Internal Error - Should never get here!")}s(fa,"ASSERT_NEVER_REACH_HERE");function tf(t){return t.type==="Character"}s(tf,"isCharacter");var da=[];for(let t=K("0");t<=K("9");t++)da.push(t);var pa=[K("_")].concat(da);for(let t=K("a");t<=K("z");t++)pa.push(t);for(let t=K("A");t<=K("Z");t++)pa.push(t);var rf=[K(" "),K("\f"),K(`
`),K("\r"),K(" "),K("\v"),K(" "),K("\xA0"),K("\u1680"),K("\u2000"),K("\u2001"),K("\u2002"),K("\u2003"),K("\u2004"),K("\u2005"),K("\u2006"),K("\u2007"),K("\u2008"),K("\u2009"),K("\u200A"),K("\u2028"),K("\u2029"),K("\u202F"),K("\u205F"),K("\u3000"),K("\uFEFF")];var ev=/[0-9a-fA-F]/,gl=/[0-9]/,tv=/[1-9]/,Jn=class{static{s(this,"RegExpParser")}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("/");let r=this.disjunction();this.consumeChar("/");let n={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":Ui(n,"global");break;case"i":Ui(n,"ignoreCase");break;case"m":Ui(n,"multiLine");break;case"u":Ui(n,"unicode");break;case"y":Ui(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let 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 r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Xn(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return fa()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Xn(r);break}if(!(e===!0&&r===void 0)&&Xn(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=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}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Xn(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):fa()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[K(`
`),K("\r"),K("\u2028"),K("\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,r=!1;switch(this.popChar()){case"d":e=da;break;case"D":e=da,r=!0;break;case"s":e=rf;break;case"S":e=rf,r=!0;break;case"w":e=pa;break;case"W":e=pa,r=!0;break}return Xn(e)?{type:"Set",value:e,complement:r}:fa()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=K("\f");break;case"n":e=K(`
`);break;case"r":e=K("\r");break;case"t":e=K(" ");break;case"v":e=K("\v");break}return Xn(e)?{type:"Character",value:e}:fa()}controlLetterEscapeAtom(){this.consumeChar("c");let 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:K("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:K(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:K(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(tf(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),o=a.type==="Character";if(tf(a)){if(a.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:a.value})}else hl(n.value,e),e.push(K("-")),hl(a.value,e)}else hl(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:K("\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}let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(tv.test(e)===!1)throw Error("Expecting a positive integer");for(;gl.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(gl.test(e)===!1)throw Error("Expecting an integer");for(;gl.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:K(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 gl.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let a=this.popChar();if(ev.test(a)===!1)throw Error("Expecting a HexDecimal digits");r+=a}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let 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}}};var Er=class{static{s(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.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){}};var sf=/\r?\n/gm,_h=new Jn,nf=class extends Er{static{s(this,"TerminalRegExpVisitor")}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){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=gn(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Zn=new nf;function rv(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=_h.pattern(t),r=[];for(let n of e.value.value)Zn.reset(t),Zn.visit(n),r.push({start:Zn.startRegexp,end:Zn.endRegex});return r}catch{return[]}}s(rv,"getTerminalParts");function af(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Zn.reset(t),Zn.visit(_h.pattern(t)),Zn.multiline}catch{return!1}}s(af,"isMultilineComment");var Ph=`\f
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function ma(t){let e=typeof t=="string"?new RegExp(t):t;return Ph.some(r=>e.test(r))}s(ma,"isWhitespace");function gn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}s(gn,"escapeRegExp");function of(t,e){let r=Oh(t),n=e.match(r);return!!n&&n[0].length>0}s(of,"partialMatches");function Oh(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",o;function l(c){a+=r.substr(n,c),n+=c}s(l,"appendRaw");function u(c){a+="(?:"+r.substr(n,c)+"|$)",n+=c}for(s(u,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":u(3);break;case"x":u(4);break;case"u":e.unicode?r[n+2]==="{"?u(r.indexOf("}",n)-n+1):u(6):u(2);break;case"p":case"P":e.unicode?u(r.indexOf("}",n)-n+1):u(2);break;case"k":u(r.indexOf(">",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),a+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return s(i,"process"),new RegExp(i(),t.flags)}s(Oh,"partialRegExp");function Lh(t){return t.rules.find(e=>nt(e)&&e.entry)}s(Lh,"getEntryRule");function Dh(t){return t.rules.filter(e=>St(e)&&e.hidden)}s(Dh,"getHiddenRules");function ha(t,e){let r=new Set,n=Lh(t);if(!n)return new Set(t.rules);let i=[n].concat(Dh(t));for(let o of i)Mh(o,r,e);let a=new Set;for(let o of t.rules)(r.has(o.name)||St(o)&&o.hidden)&&a.add(o);return a}s(ha,"getAllReachableRules");function Mh(t,e,r){e.add(t.name),ar(t).forEach(n=>{if(cr(n)||r&&cl(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Mh(i,e,r)}})}s(Mh,"ruleDfs");function nv(t){let e=new Set;return ar(t).forEach(r=>{ur(r)&&(nt(r.type.ref)&&e.add(r.type.ref),ua(r.type.ref)&&nt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}s(nv,"getAllRulesUsedForCrossReferences");function cf(t){if(t.terminal)return t.terminal;if(t.type.ref)return Tl(t.type.ref)?.terminal}s(cf,"getCrossReferenceTerminal");function ff(t){return t.hidden&&!ma(zi(t))}s(ff,"isCommentTerminal");function df(t,e){return!t||!e?[]:pf(t,e,t.astNode,!0)}s(df,"findNodesForProperty");function ga(t,e,r){if(!t||!e)return;let n=pf(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}s(ga,"findNodeForProperty");function pf(t,e,r,n){if(!n){let i=Fr(t.grammarSource,lr);if(i&&i.feature===e)return[t]}return sr(t)&&t.astNode===r?t.content.flatMap(i=>pf(i,e,r,!1)):[]}s(pf,"findNodesForPropertyInternal");function iv(t,e){return t?hf(t,e,t?.astNode):[]}s(iv,"findNodesForKeyword");function mf(t,e,r){if(!t)return;let n=hf(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}s(mf,"findNodeForKeyword");function hf(t,e,r){if(t.astNode!==r)return[];if(Ht(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Vn(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?Ht(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}s(hf,"findNodesForKeywordInternal");function gf(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Fr(t.grammarSource,lr);if(r)return r;t=t.container}}s(gf,"findAssignment");function Tl(t){let e=t;return ua(e)&&(qr(e.$container)?e=e.$container.$container:zr(e.$container)?e=e.$container:vr(e.$container)),Fh(t,e,new Map)}s(Tl,"findNameAssignment");function Fh(t,e,r){function n(i,a){let o;return Fr(i,lr)||(o=Fh(a,a,r)),r.set(t,o),o}if(s(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of ar(e)){if(lr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(cr(i)&&nt(i.rule.ref))return n(i,i.rule.ref);if(ul(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}s(Fh,"findNameAssignmentInternal");function Gh(t){let e=t.$container;if(mn(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(qr(a))return a;{let o=ar(r[i]).find(qr);if(o)return o}}}if(la(e))return Gh(e)}s(Gh,"getActionAtElement");function sv(t,e){return t==="?"||t==="*"||mn(e)&&!!e.guardCondition}s(sv,"isOptionalCardinality");function av(t){return t==="*"||t==="+"}s(av,"isArrayCardinality");function ov(t){return t==="+="}s(ov,"isArrayOperator");function ya(t){return Uh(t,new Set)}s(ya,"isDataTypeRule");function Uh(t,e){if(e.has(t))return!0;e.add(t);for(let r of ar(t))if(cr(r)){if(!r.rule.ref||nt(r.rule.ref)&&!Uh(r.rule.ref,e)||hn(r.rule.ref))return!1}else{if(lr(r))return!1;if(qr(r))return!1}return!!t.definition}s(Uh,"isDataTypeRuleInternal");function lv(t){return uf(t.type,new Set)}s(lv,"isDataType");function uf(t,e){if(e.has(t))return!0;if(e.add(t),Pc(t))return!1;if(jc(t))return!1;if(Hc(t))return t.types.every(r=>uf(r,e));if(ul(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return fl(r)?uf(r.type,e):!1}else return!1}else return!1}s(uf,"isDataTypeInternal");function Rl(t){if(!St(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}s(Rl,"getExplicitRuleType");function yn(t){if(zr(t))return nt(t)&&ya(t)?t.name:Rl(t)??t.name;if(Gc(t)||fl(t)||Wc(t))return t.name;if(qr(t)){let e=zh(t);if(e)return e}else if(ua(t))return t.name;throw new Error("Cannot get name of Unknown Type")}s(yn,"getTypeName");function zh(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return yn(t.type.ref)}s(zh,"getActionType");function uv(t){return St(t)?t.type?.name??"string":nt(t)&&ya(t)?t.name:Rl(t)??t.name}s(uv,"getRuleTypeName");function yf(t){return St(t)?t.type?.name??"string":Rl(t)??t.name}s(yf,"getRuleType");function zi(t){let e={s:!1,i:!1,u:!1},r=qi(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}s(zi,"terminalRegex");var Tf=/[\s\S]/.source;function qi(t,e){if(Kc(t))return cv(t);if(Vc(t))return fv(t);if(Lc(t))return mv(t);if(cl(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return jr(qi(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Uc(t))return pv(t);if(Yc(t))return dv(t);if(Bc(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),jr(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Xc(t))return jr(Tf,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}s(qi,"abstractElementToRegex");function cv(t){return jr(t.elements.map(e=>qi(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(cv,"terminalAlternativesToRegex");function fv(t){return jr(t.elements.map(e=>qi(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(fv,"terminalGroupToRegex");function dv(t){return jr(`${Tf}*?${qi(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}s(dv,"untilTokenToRegex");function pv(t){return jr(`(?!${qi(t.terminal)})${Tf}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}s(pv,"negateTokenToRegex");function mv(t){return t.right?jr(`[${lf(t.left)}-${lf(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):jr(lf(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}s(mv,"characterRangeToRegex");function lf(t){return gn(t.value)}s(lf,"keywordToRegex");function jr(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}s(jr,"withCardinality");function Rf(t){let e=[],r=t.Grammar;for(let n of r.rules)St(n)&&ff(n)&&af(zi(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:pl}}s(Rf,"createGrammarConfig");function ji(t){console&&console.error&&console.error(`Error: ${t}`)}s(ji,"PRINT_ERROR");function Ta(t){console&&console.warn&&console.warn(`Warning: ${t}`)}s(Ta,"PRINT_WARNING");function Ra(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}s(Ra,"timer");function $a(t){function e(){}s(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return s(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}s($a,"toFastProperties");function hv(t){return gv(t)?t.LABEL:t.name}s(hv,"tokenLabel");function gv(t){return mt(t.LABEL)&&t.LABEL!==""}s(gv,"hasTokenLabel");var jt=class{static{s(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),D(this.definition,r=>{r.accept(e)})}},de=class extends jt{static{s(this,"NonTerminal")}constructor(e){super([]),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},kt=class extends jt{static{s(this,"Rule")}constructor(e){super(e.definition),this.orgText="",ft(this,Gt(e,r=>r!==void 0))}},Re=class extends jt{static{s(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ft(this,Gt(e,r=>r!==void 0))}},pe=class extends jt{static{s(this,"Option")}constructor(e){super(e.definition),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}},$e=class extends jt{static{s(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}},xe=class extends jt{static{s(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}},se=class extends jt{static{s(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}},ye=class extends jt{static{s(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,ft(this,Gt(e,r=>r!==void 0))}},Te=class extends jt{static{s(this,"Alternation")}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,ft(this,Gt(e,r=>r!==void 0))}},ne=class{static{s(this,"Terminal")}constructor(e){this.idx=1,ft(this,Gt(e,r=>r!==void 0))}accept(e){e.visit(this)}};function xl(t){return b(t,Bi)}s(xl,"serializeGrammar");function Bi(t){function e(r){return b(r,Bi)}if(s(e,"convertDefinition"),t instanceof de){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return mt(t.label)&&(r.label=t.label),r}else{if(t instanceof Re)return{type:"Alternative",definition:e(t.definition)};if(t instanceof pe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof $e)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Bi(new ne({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ye)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Bi(new ne({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof se)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Te)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ne){let r={type:"Terminal",name:t.terminalType.name,label:hv(t.terminalType),idx:t.idx};mt(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=ir(n)?n.source:n),r}else{if(t instanceof kt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}s(Bi,"serializeProduction");var Nt=class{static{s(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case de:return this.visitNonTerminal(r);case Re:return this.visitAlternative(r);case pe:return this.visitOption(r);case $e:return this.visitRepetitionMandatory(r);case xe:return this.visitRepetitionMandatoryWithSeparator(r);case ye:return this.visitRepetitionWithSeparator(r);case se:return this.visitRepetition(r);case Te:return this.visitAlternation(r);case ne:return this.visitTerminal(r);case kt:return this.visitRule(r);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 $f(t){return t instanceof Re||t instanceof pe||t instanceof se||t instanceof $e||t instanceof xe||t instanceof ye||t instanceof ne||t instanceof kt}s($f,"isSequenceProd");function Qn(t,e=[]){return t instanceof pe||t instanceof se||t instanceof ye?!0:t instanceof Te?Wo(t.definition,n=>Qn(n,e)):t instanceof de&&Oe(e,t)?!1:t instanceof jt?(t instanceof de&&e.push(t),Et(t.definition,n=>Qn(n,e))):!1}s(Qn,"isOptionalProd");function xf(t){return t instanceof Te}s(xf,"isBranchingProd");function Ot(t){if(t instanceof de)return"SUBRULE";if(t instanceof pe)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof $e)return"AT_LEAST_ONE";if(t instanceof xe)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof se)return"MANY";if(t instanceof ne)return"CONSUME";throw Error("non exhaustive match")}s(Ot,"getProductionDslName");var Br=class{static{s(this,"RestWalker")}walk(e,r=[]){D(e.definition,(n,i)=>{let a=Ve(e.definition,i+1);if(n instanceof de)this.walkProdRef(n,a,r);else if(n instanceof ne)this.walkTerminal(n,a,r);else if(n instanceof Re)this.walkFlat(n,a,r);else if(n instanceof pe)this.walkOption(n,a,r);else if(n instanceof $e)this.walkAtLeastOne(n,a,r);else if(n instanceof xe)this.walkAtLeastOneSep(n,a,r);else if(n instanceof ye)this.walkManySep(n,a,r);else if(n instanceof se)this.walkMany(n,a,r);else if(n instanceof Te)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new pe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=qh(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new pe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=qh(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);D(e.definition,a=>{let o=new Re({definition:[a]});this.walk(o,i)})}};function qh(t,e,r){return[new pe({definition:[new ne({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}s(qh,"restForRepetitionWithSeparator");function ei(t){if(t instanceof de)return ei(t.referencedRule);if(t instanceof ne)return Rv(t);if($f(t))return yv(t);if(xf(t))return Tv(t);throw Error("non exhaustive match")}s(ei,"first");function yv(t){let e=[],r=t.definition,n=0,i=r.length>n,a,o=!0;for(;i&&o;)a=r[n],o=Qn(a),e=e.concat(ei(a)),n=n+1,i=r.length>n;return Js(e)}s(yv,"firstForSequence");function Tv(t){let e=b(t.definition,r=>ei(r));return Js(Ke(e))}s(Tv,"firstForBranching");function Rv(t){return[t.terminalType]}s(Rv,"firstForTerminal");var vl="_~IN~_";var vf=class extends Br{static{s(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=$v(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),o=new Re({definition:a}),l=ei(o);this.follows[i]=l}};function jh(t){let e={};return D(t,r=>{let n=new vf(r).startWalking();ft(e,n)}),e}s(jh,"computeAllProdsFollows");function $v(t,e){return t.name+e+vl}s($v,"buildBetweenProdsFollowPrefix");var El={},xv=new Jn;function Wi(t){let e=t.toString();if(El.hasOwnProperty(e))return El[e];{let r=xv.pattern(e);return El[e]=r,r}}s(Wi,"getRegExpAst");function Bh(){El={}}s(Bh,"clearRegExpParserCache");var Kh="Complement Sets are not supported for first char optimization",xa=`Unable to use "first char" lexer optimizations:
`;function Vh(t,e=!1){try{let r=Wi(t);return Ef(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Kh)e&&Ta(`${xa} Unable to optimize: < ${t.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ji(`${xa}
Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}s(Vh,"getOptimizedStartCodesIndices");function Ef(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)Ef(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let a=n[i];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=a;switch(o.type){case"Character":Al(o.value,e,r);break;case"Set":if(o.complement===!0)throw Error(Kh);D(o.value,u=>{if(typeof u=="number")Al(u,e,r);else{let c=u;if(r===!0)for(let d=c.from;d<=c.to;d++)Al(d,e,r);else{for(let d=c.from;d<=c.to&&d<Ki;d++)Al(d,e,r);if(c.to>=Ki){let d=c.from>=Ki?c.from:Ki,m=c.to,h=Ar(d),y=Ar(m);for(let k=h;k<=y;k++)e[k]=k}}}});break;case"Group":Ef(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Af(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Ce(e)}s(Ef,"firstCharOptimizedIndices");function Al(t,e,r){let n=Ar(t);e[n]=n,r===!0&&vv(t,e)}s(Al,"addOptimizedIdxToResult");function vv(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Ar(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Ar(i.charCodeAt(0));e[a]=a}}}s(vv,"handleIgnoreCase");function Wh(t,e){return Mr(t.value,r=>{if(typeof r=="number")return Oe(e,r);{let n=r;return Mr(e,i=>n.from<=i&&i<=n.to)!==void 0}})}s(Wh,"findCode");function Af(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Ze(t.value)?Et(t.value,Af):Af(t.value):!1}s(Af,"isWholeOptional");var Cf=class extends Er{static{s(this,"CharCodeFinder")}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){Oe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Wh(e,this.targetCharCodes)===void 0&&(this.found=!0):Wh(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Cl(t,e){if(e instanceof RegExp){let r=Wi(e),n=new Cf(t);return n.visit(r),n.found}else return Mr(e,r=>Oe(t,r.charCodeAt(0)))!==void 0}s(Cl,"canMatchCharCode");var ti="PATTERN",Vi="defaultMode",Sl="modes",kf=typeof new RegExp("(?:)").sticky=="boolean";function Xh(t,e){e=Xs(e,{useSticky:kf,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:s((P,E)=>E(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{zv()});let n;r("Reject Lexer.NA",()=>{n=Pn(t,P=>P[ti]===we.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=b(n,P=>{let E=P[ti];if(ir(E)){let H=E.source;return H.length===1&&H!=="^"&&H!=="$"&&H!=="."&&!E.ignoreCase?H:H.length===2&&H[0]==="\\"&&!Oe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],H[1])?H[1]:e.useSticky?Yh(E):Hh(E)}else{if(yr(E))return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let H=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),U=new RegExp(H);return e.useSticky?Yh(U):Hh(U)}}else throw Error("non exhaustive match")}})});let o,l,u,c,d;r("misc mapping",()=>{o=b(n,P=>P.tokenTypeIdx),l=b(n,P=>{let E=P.GROUP;if(E!==we.SKIPPED){if(mt(E))return E;if(At(E))return!1;throw Error("non exhaustive match")}}),u=b(n,P=>{let E=P.LONGER_ALT;if(E)return Ze(E)?b(E,U=>kc(n,U)):[kc(n,E)]}),c=b(n,P=>P.PUSH_MODE),d=b(n,P=>G(P,"POP_MODE"))});let m;r("Line Terminator Handling",()=>{let P=ig(e.lineTerminatorCharacters);m=b(n,E=>!1),e.positionTracking!=="onlyOffset"&&(m=b(n,E=>G(E,"LINE_BREAKS")?!!E.LINE_BREAKS:ng(E,P)===!1&&Cl(P,E.PATTERN)))});let h,y,k,w;r("Misc Mapping #2",()=>{h=b(n,tg),y=b(a,Gv),k=Ge(n,(P,E)=>{let H=E.GROUP;return mt(H)&&H!==we.SKIPPED&&(P[H]=[]),P},{}),w=b(a,(P,E)=>({pattern:a[E],longerAlt:u[E],canLineTerminator:m[E],isCustom:h[E],short:y[E],group:l[E],push:c[E],pop:d[E],tokenTypeIdx:o[E],tokenType:n[E]}))});let q=!0,M=[];return e.safeMode||r("First Char Optimization",()=>{M=Ge(n,(P,E,H)=>{if(typeof E.PATTERN=="string"){let U=E.PATTERN.charCodeAt(0),he=Ar(U);Sf(P,he,w[H])}else if(Ze(E.START_CHARS_HINT)){let U;D(E.START_CHARS_HINT,he=>{let mr=typeof he=="string"?he.charCodeAt(0):he,Xe=Ar(mr);U!==Xe&&(U=Xe,Sf(P,Xe,w[H]))})}else if(ir(E.PATTERN))if(E.PATTERN.unicode)q=!1,e.ensureOptimizations&&ji(`${xa} Unable to analyze < ${E.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let U=Vh(E.PATTERN,e.ensureOptimizations);te(U)&&(q=!1),D(U,he=>{Sf(P,he,w[H])})}else e.ensureOptimizations&&ji(`${xa} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),q=!1;return P},[])}),{emptyGroups:k,patternIdxToConfig:w,charCodeToPatternIdxToConfig:M,hasCustom:i,canBeOptimized:q}}s(Xh,"analyzeTokenTypes");function Jh(t,e){let r=[],n=Av(t);r=r.concat(n.errors);let i=Cv(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(Ev(a)),r=r.concat(Pv(a)),r=r.concat(Ov(a,e)),r=r.concat(Lv(a)),r}s(Jh,"validatePatterns");function Ev(t){let e=[],r=ot(t,n=>ir(n[ti]));return e=e.concat(kv(r)),e=e.concat(Iv(r)),e=e.concat(bv(r)),e=e.concat(_v(r)),e=e.concat(Nv(r)),e}s(Ev,"validateRegExpPattern");function Av(t){let e=ot(t,i=>!G(i,ti)),r=b(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Ne.MISSING_PATTERN,tokenTypes:[i]})),n=_n(t,e);return{errors:r,valid:n}}s(Av,"findMissingPatterns");function Cv(t){let e=ot(t,i=>{let a=i[ti];return!ir(a)&&!yr(a)&&!G(a,"exec")&&!mt(a)}),r=b(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:Ne.INVALID_PATTERN,tokenTypes:[i]})),n=_n(t,e);return{errors:r,valid:n}}s(Cv,"findInvalidPatterns");var Sv=/[^\\][$]/;function kv(t){class e extends Er{static{s(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=ot(t,i=>{let a=i.PATTERN;try{let o=Wi(a),l=new e;return l.visit(o),l.found}catch{return Sv.test(a.source)}});return b(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ne.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(kv,"findEndOfInputAnchor");function Nv(t){let e=ot(t,n=>n.PATTERN.test(""));return b(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Ne.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}s(Nv,"findEmptyMatchRegExps");var wv=/[^\\[][\^]|^\^/;function Iv(t){class e extends Er{static{s(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=ot(t,i=>{let a=i.PATTERN;try{let o=Wi(a),l=new e;return l.visit(o),l.found}catch{return wv.test(a.source)}});return b(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ne.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Iv,"findStartOfInputAnchor");function bv(t){let e=ot(t,n=>{let i=n[ti];return i instanceof RegExp&&(i.multiline||i.global)});return b(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ne.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}s(bv,"findUnsupportedFlags");function _v(t){let e=[],r=b(t,a=>Ge(t,(o,l)=>(a.PATTERN.source===l.PATTERN.source&&!Oe(e,l)&&l.PATTERN!==we.NA&&(e.push(l),o.push(l)),o),[]));r=Dr(r);let n=ot(r,a=>a.length>1);return b(n,a=>{let o=b(a,u=>u.name);return{message:`The same RegExp pattern ->${dt(a).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:Ne.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}s(_v,"findDuplicatePatterns");function Pv(t){let e=ot(t,n=>{if(!G(n,"GROUP"))return!1;let i=n.GROUP;return i!==we.SKIPPED&&i!==we.NA&&!mt(i)});return b(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ne.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}s(Pv,"findInvalidGroupType");function Ov(t,e){let r=ot(t,i=>i.PUSH_MODE!==void 0&&!Oe(e,i.PUSH_MODE));return b(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Ne.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}s(Ov,"findModesThatDoNotExist");function Lv(t){let e=[],r=Ge(t,(n,i,a)=>{let o=i.PATTERN;return o===we.NA||(mt(o)?n.push({str:o,idx:a,tokenType:i}):ir(o)&&Mv(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return D(t,(n,i)=>{D(r,({str:a,idx:o,tokenType:l})=>{if(i<o&&Dv(a,n.PATTERN)){let u=`Token: ->${l.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:Ne.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}s(Lv,"findUnreachablePatterns");function Dv(t,e){if(ir(e)){if(Fv(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(yr(e))return e(t,0,[],{});if(G(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}s(Dv,"tryToMatchStrToPattern");function Mv(t){return Mr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}s(Mv,"noMetaChar");function Fv(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}s(Fv,"usesLookAheadOrBehind");function Hh(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}s(Hh,"addStartOfInput");function Yh(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}s(Yh,"addStickyFlag");function Zh(t,e,r){let n=[];return G(t,Vi)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Vi+`> property in its definition
`,type:Ne.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),G(t,Sl)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sl+`> property in its definition
`,type:Ne.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),G(t,Sl)&&G(t,Vi)&&!G(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Vi}: <${t.defaultMode}>which does not exist
`,type:Ne.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),G(t,Sl)&&D(t.modes,(i,a)=>{D(i,(o,l)=>{if(At(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}>
`,type:Ne.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(G(o,"LONGER_ALT")){let u=Ze(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];D(u,c=>{!At(c)&&!Oe(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${a}>
`,type:Ne.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}s(Zh,"performRuntimeChecks");function Qh(t,e,r){let n=[],i=!1,a=Dr(Ke(Ce(t.modes))),o=Pn(a,u=>u[ti]===we.NA),l=ig(r);return e&&D(o,u=>{let c=ng(u,l);if(c!==!1){let m={message:Uv(u,c),type:c.issue,tokenType:u};n.push(m)}else G(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):Cl(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:Ne.NO_LINE_BREAKS_FLAGS}),n}s(Qh,"performWarningRuntimeChecks");function eg(t){let e={},r=Lr(t);return D(r,n=>{let i=t[n];if(Ze(i))e[n]=[];else throw Error("non exhaustive match")}),e}s(eg,"cloneEmptyGroups");function tg(t){let e=t.PATTERN;if(ir(e))return!1;if(yr(e))return!0;if(G(e,"exec"))return!0;if(mt(e))return!1;throw Error("non exhaustive match")}s(tg,"isCustomPattern");function Gv(t){return mt(t)&&t.length===1?t.charCodeAt(0):!1}s(Gv,"isShortPattern");var rg={test:s(function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function ng(t,e){if(G(t,"LINE_BREAKS"))return!1;if(ir(t.PATTERN)){try{Cl(e,t.PATTERN)}catch(r){return{issue:Ne.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(mt(t.PATTERN))return!1;if(tg(t))return{issue:Ne.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}s(ng,"checkLineBreaksIssues");function Uv(t,e){if(e.issue===Ne.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${t.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Ne.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${t.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}s(Uv,"buildLineBreakIssueMessage");function ig(t){return b(t,r=>mt(r)?r.charCodeAt(0):r)}s(ig,"getCharCodes");function Sf(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}s(Sf,"addToMapOfArrays");var Ki=256,kl=[];function Ar(t){return t<Ki?t:kl[t]}s(Ar,"charCodeToOptimizedIndex");function zv(){if(te(kl)){kl=new Array(65536);for(let t=0;t<65536;t++)kl[t]=t>255?255+~~(t/255):t}}s(zv,"initCharCodeToOptimizedIndexMap");function Wr(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}s(Wr,"tokenStructuredMatcher");function Hi(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}s(Hi,"tokenStructuredMatcherNoCategories");var sg=1,og={};function Kr(t){let e=qv(t);jv(e),Wv(e),Bv(e),D(e,r=>{r.isParent=r.categoryMatches.length>0})}s(Kr,"augmentTokenTypes");function qv(t){let e=Ae(t),r=t,n=!0;for(;n;){r=Dr(Ke(b(r,a=>a.CATEGORIES)));let i=_n(r,e);e=e.concat(i),te(i)?n=!1:r=i}return e}s(qv,"expandCategories");function jv(t){D(t,e=>{Nf(e)||(og[sg]=e,e.tokenTypeIdx=sg++),ag(e)&&!Ze(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ag(e)||(e.CATEGORIES=[]),Kv(e)||(e.categoryMatches=[]),Vv(e)||(e.categoryMatchesMap={})})}s(jv,"assignTokenDefaultProps");function Bv(t){D(t,e=>{e.categoryMatches=[],D(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(og[n].tokenTypeIdx)})})}s(Bv,"assignCategoriesTokensProp");function Wv(t){D(t,e=>{lg([],e)})}s(Wv,"assignCategoriesMapProp");function lg(t,e){D(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),D(e.CATEGORIES,r=>{let n=t.concat(e);Oe(n,r)||lg(n,r)})}s(lg,"singleAssignCategoriesToksMap");function Nf(t){return G(t,"tokenTypeIdx")}s(Nf,"hasShortKeyProperty");function ag(t){return G(t,"CATEGORIES")}s(ag,"hasCategoriesProperty");function Kv(t){return G(t,"categoryMatches")}s(Kv,"hasExtendingTokensTypesProperty");function Vv(t){return G(t,"categoryMatchesMap")}s(Vv,"hasExtendingTokensTypesMapProperty");function ug(t){return G(t,"tokenTypeIdx")}s(ug,"isTokenType");var Yi={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Ne;(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"})(Ne||(Ne={}));var va={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Yi,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(va);var we=class{static{s(this,"Lexer")}constructor(e,r=va){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,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);let{time:l,value:u}=Ra(a),c=l>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${o}<-- <${i}> time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=ft({},va,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===va.lineTerminatorsPattern)this.config.lineTerminatorsPattern=rg;else if(this.config.lineTerminatorCharacters===va.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.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:Ae(e)},defaultMode:Vi}:(a=!1,i=Ae(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Zh(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Qh(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},D(i.modes,(l,u)=>{i.modes[u]=Pn(l,c=>At(c))});let o=Lr(i.modes);if(D(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Jh(l,o))}),te(this.lexerDefinitionErrors)){Kr(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Xh(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=c.charCodeToPatternIdxToConfig,this.emptyGroups=ft({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!te(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=b(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+u)}D(this.lexerDefinitionWarning,l=>{Ta(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(kf?(this.chopInput=Sc,this.match=this.matchWithTest):(this.updateLastIndex=We,this.match=this.matchWithExec),a&&(this.handleModes=We),this.trackStartLines===!1&&(this.computeNewColumn=Sc),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=We),/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",()=>{let l=Ge(this.canModeBeOptimized,(u,c,d)=>(c===!1&&u.push(d),u),[]);if(r.ensureOptimizations&&!te(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Bh()}),this.TRACE_INIT("toFastProperties",()=>{$a(this)})})}tokenize(e,r=this.defaultMode){if(!te(this.lexerDefinitionErrors)){let i=b(this.lexerDefinitionErrors,a=>a.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,o,l,u,c,d,m,h,y,k,w,q,M,P,E=e,H=E.length,U=0,he=0,mr=this.hasCustom?0:Math.floor(e.length/10),Xe=new Array(mr),tr=[],Vt=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0,T=eg(this.emptyGroups),L=this.trackStartLines,O=this.config.lineTerminatorsPattern,R=0,x=[],A=[],_=[],F=[];Object.freeze(F);let N;function Y(){return x}s(Y,"getPossiblePatternsSlow");function Q(rt){let bt=Ar(rt),tn=A[bt];return tn===void 0?F:tn}s(Q,"getPossiblePatternsOptimized");let Be=s(rt=>{if(_.length===1&&rt.tokenType.PUSH_MODE===void 0){let bt=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(rt);tr.push({offset:rt.startOffset,line:rt.startLine,column:rt.startColumn,length:rt.image.length,message:bt})}else{_.pop();let bt=Tr(_);x=this.patternIdxToConfig[bt],A=this.charCodeToPatternIdxToConfig[bt],R=x.length;let tn=this.canModeBeOptimized[bt]&&this.config.safeMode===!1;A&&tn?N=Q:N=Y}},"pop_mode");function ce(rt){_.push(rt),A=this.charCodeToPatternIdxToConfig[rt],x=this.patternIdxToConfig[rt],R=x.length,R=x.length;let bt=this.canModeBeOptimized[rt]&&this.config.safeMode===!1;A&&bt?N=Q:N=Y}s(ce,"push_mode"),ce.call(this,r);let _e,hr=this.config.recoveryEnabled;for(;U<H;){u=null;let rt=E.charCodeAt(U),bt=N(rt),tn=bt.length;for(n=0;n<tn;n++){_e=bt[n];let xt=_e.pattern;c=null;let rr=_e.short;if(rr!==!1?rt===rr&&(u=xt):_e.isCustom===!0?(P=xt.exec(E,U,Xe,T),P!==null?(u=P[0],P.payload!==void 0&&(c=P.payload)):u=null):(this.updateLastIndex(xt,U),u=this.match(xt,e,U)),u!==null){if(l=_e.longerAlt,l!==void 0){let at=l.length;for(a=0;a<at;a++){let nr=x[l[a]],Or=nr.pattern;if(d=null,nr.isCustom===!0?(P=Or.exec(E,U,Xe,T),P!==null?(o=P[0],P.payload!==void 0&&(d=P.payload)):o=null):(this.updateLastIndex(Or,U),o=this.match(Or,e,U)),o&&o.length>u.length){u=o,c=d,_e=nr;break}}}break}}if(u!==null){if(m=u.length,h=_e.group,h!==void 0&&(y=_e.tokenTypeIdx,k=this.createTokenInstance(u,U,y,_e.tokenType,Vt,C,m),this.handlePayload(k,c),h===!1?he=this.addToken(Xe,he,k):T[h].push(k)),e=this.chopInput(e,m),U=U+m,C=this.computeNewColumn(C,m),L===!0&&_e.canLineTerminator===!0){let xt=0,rr,at;O.lastIndex=0;do rr=O.test(u),rr===!0&&(at=O.lastIndex-1,xt++);while(rr===!0);xt!==0&&(Vt=Vt+xt,C=m-at,this.updateTokenEndLineColumnLocation(k,h,at,xt,Vt,C,m))}this.handleModes(_e,Be,ce,k)}else{let xt=U,rr=Vt,at=C,nr=hr===!1;for(;nr===!1&&U<H;)for(e=this.chopInput(e,1),U++,i=0;i<R;i++){let Or=x[i],rn=Or.pattern,Bo=Or.short;if(Bo!==!1?E.charCodeAt(U)===Bo&&(nr=!0):Or.isCustom===!0?nr=rn.exec(E,U,Xe,T)!==null:(this.updateLastIndex(rn,U),nr=rn.exec(e)!==null),nr===!0)break}if(w=U-xt,C=this.computeNewColumn(C,w),M=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(E,xt,w,rr,at,Tr(_)),tr.push({offset:xt,line:rr,column:at,length:w,message:M}),hr===!1)break}}return this.hasCustom||(Xe.length=he),{tokens:Xe,groups:T,errors:tr}}handleModes(e,r,n,i){if(e.pop===!0){let a=e.push;r(i),a!==void 0&&n.call(this,a)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,r){return e.substring(r)}updateLastIndex(e,r){e.lastIndex=r}updateTokenEndLineColumnLocation(e,r,n,i,a,o,l){let u,c;r!==void 0&&(u=n===l-1,c=u?-1:0,i===1&&u===!0||(e.endLine=a+c,e.endColumn=o-1+-c))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,a,o){return{image:e,startOffset:r,startLine:a,startColumn:o,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,a,o,l){return{image:e,startOffset:r,endOffset:r+l-1,startLine:a,endLine:a,startColumn:o,endColumn:o+l-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}matchWithTest(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchWithExec(e,r){let n=e.exec(r);return n!==null?n[0]:null}};we.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.";we.NA=/NOT_APPLICABLE/;function Vr(t){return wf(t)?t.LABEL:t.name}s(Vr,"tokenLabel");function wf(t){return mt(t.LABEL)&&t.LABEL!==""}s(wf,"hasTokenLabel");var Hv="parent",cg="categories",fg="label",dg="group",pg="push_mode",mg="pop_mode",hg="longer_alt",gg="line_breaks",yg="start_chars_hint";function Tn(t){return Yv(t)}s(Tn,"createToken");function Yv(t){let e=t.pattern,r={};if(r.name=t.name,At(e)||(r.PATTERN=e),G(t,Hv))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return G(t,cg)&&(r.CATEGORIES=t[cg]),Kr([r]),G(t,fg)&&(r.LABEL=t[fg]),G(t,dg)&&(r.GROUP=t[dg]),G(t,mg)&&(r.POP_MODE=t[mg]),G(t,pg)&&(r.PUSH_MODE=t[pg]),G(t,hg)&&(r.LONGER_ALT=t[hg]),G(t,gg)&&(r.LINE_BREAKS=t[gg]),G(t,yg)&&(r.START_CHARS_HINT=t[yg]),r}s(Yv,"createTokenInternal");var Bt=Tn({name:"EOF",pattern:we.NA});Kr([Bt]);function Hr(t,e,r,n,i,a,o,l){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:o,endColumn:l,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}s(Hr,"createTokenInstance");function Ea(t,e){return Wr(t,e)}s(Ea,"tokenMatcher");var Yr={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${wf(t)?`--> ${Vr(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:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=`
but found: '`+dt(e).image+"'";if(n)return a+n+l;{let u=Ge(t,(h,y)=>h.concat(y),[]),c=b(u,h=>`[${b(h,y=>Vr(y)).join(", ")}]`),m=`one of these possible Token sequences:
${b(c,(h,y)=>` ${y+1}. ${h}`).join(`
`)}`;return a+m+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=`
but found: '`+dt(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences::
<${b(t,c=>`[${b(c,d=>Vr(d)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(Yr);var Tg={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+t.name+"<-"}},fr={buildDuplicateFoundError(t,e){function r(d){return d instanceof ne?d.terminalType.name:d instanceof de?d.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=t.name,i=dt(e),a=i.idx,o=Ot(i),l=r(i),u=a>0,c=`->${o}${u?a:""}<- ${l?`with argument: ->${l}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
`),c},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=b(t.prefixPath,i=>Vr(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`},buildAlternationAmbiguityError(t){let e=b(t.prefixPath,i=>Vr(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},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.
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=b(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${e}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${n}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof kt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function Rg(t,e){let r=new If(t,e);return r.resolveRefs(),r.errors}s(Rg,"resolveGrammar");var If=class extends Nt{static{s(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){D(Ce(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:et.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var bf=class extends Br{static{s(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,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=Ae(this.path.ruleStack).reverse(),this.occurrenceStack=Ae(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){te(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Nl=class extends bf{static{s(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Re({definition:i});this.possibleTokTypes=ei(a),this.found=!0}}},Xi=class extends Br{static{s(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},wl=class extends Xi{static{s(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=dt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ne&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Aa=class extends Xi{static{s(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=dt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ne&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Il=class extends Xi{static{s(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=dt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ne&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Ca=class extends Xi{static{s(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=dt(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ne&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function bl(t,e,r=[]){r=Ae(r);let n=[],i=0;function a(l){return l.concat(Ve(t,i+1))}s(a,"remainingPathWith");function o(l){let u=bl(a(l),e,r);return n.concat(u)}for(s(o,"getAlternativesForProd");r.length<e&&i<t.length;){let l=t[i];if(l instanceof Re)return o(l.definition);if(l instanceof de)return o(l.definition);if(l instanceof pe)n=o(l.definition);else if(l instanceof $e){let u=l.definition.concat([new se({definition:l.definition})]);return o(u)}else if(l instanceof xe){let u=[new Re({definition:l.definition}),new se({definition:[new ne({terminalType:l.separator})].concat(l.definition)})];return o(u)}else if(l instanceof ye){let u=l.definition.concat([new se({definition:[new ne({terminalType:l.separator})].concat(l.definition)})]);n=o(u)}else if(l instanceof se){let u=l.definition.concat([new se({definition:l.definition})]);n=o(u)}else{if(l instanceof Te)return D(l.definition,u=>{te(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof ne)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Ve(t,i)}),n}s(bl,"possiblePathsFrom");function _l(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,c=u-n-1,d=[],m=[];for(m.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!te(m);){let h=m.pop();if(h===o){l&&Tr(m).idx<=c&&m.pop();continue}let y=h.def,k=h.idx,w=h.ruleStack,q=h.occurrenceStack;if(te(y))continue;let M=y[0];if(M===i){let P={idx:k,def:Ve(y),ruleStack:sn(w),occurrenceStack:sn(q)};m.push(P)}else if(M instanceof ne)if(k<u-1){let P=k+1,E=e[P];if(r(E,M.terminalType)){let H={idx:P,def:Ve(y),ruleStack:w,occurrenceStack:q};m.push(H)}}else if(k===u-1)d.push({nextTokenType:M.terminalType,nextTokenOccurrence:M.idx,ruleStack:w,occurrenceStack:q}),l=!0;else throw Error("non exhaustive match");else if(M instanceof de){let P=Ae(w);P.push(M.nonTerminalName);let E=Ae(q);E.push(M.idx);let H={idx:k,def:M.definition.concat(a,Ve(y)),ruleStack:P,occurrenceStack:E};m.push(H)}else if(M instanceof pe){let P={idx:k,def:Ve(y),ruleStack:w,occurrenceStack:q};m.push(P),m.push(o);let E={idx:k,def:M.definition.concat(Ve(y)),ruleStack:w,occurrenceStack:q};m.push(E)}else if(M instanceof $e){let P=new se({definition:M.definition,idx:M.idx}),E=M.definition.concat([P],Ve(y)),H={idx:k,def:E,ruleStack:w,occurrenceStack:q};m.push(H)}else if(M instanceof xe){let P=new ne({terminalType:M.separator}),E=new se({definition:[P].concat(M.definition),idx:M.idx}),H=M.definition.concat([E],Ve(y)),U={idx:k,def:H,ruleStack:w,occurrenceStack:q};m.push(U)}else if(M instanceof ye){let P={idx:k,def:Ve(y),ruleStack:w,occurrenceStack:q};m.push(P),m.push(o);let E=new ne({terminalType:M.separator}),H=new se({definition:[E].concat(M.definition),idx:M.idx}),U=M.definition.concat([H],Ve(y)),he={idx:k,def:U,ruleStack:w,occurrenceStack:q};m.push(he)}else if(M instanceof se){let P={idx:k,def:Ve(y),ruleStack:w,occurrenceStack:q};m.push(P),m.push(o);let E=new se({definition:M.definition,idx:M.idx}),H=M.definition.concat([E],Ve(y)),U={idx:k,def:H,ruleStack:w,occurrenceStack:q};m.push(U)}else if(M instanceof Te)for(let P=M.definition.length-1;P>=0;P--){let E=M.definition[P],H={idx:k,def:E.definition.concat(Ve(y)),ruleStack:w,occurrenceStack:q};m.push(H),m.push(o)}else if(M instanceof Re)m.push({idx:k,def:M.definition.concat(Ve(y)),ruleStack:w,occurrenceStack:q});else if(M instanceof kt)m.push(Xv(M,k,w,q));else throw Error("non exhaustive match")}return d}s(_l,"nextPossibleTokensAfter");function Xv(t,e,r,n){let i=Ae(r);i.push(t.name);let a=Ae(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}s(Xv,"expandTopLevelRule");var Ie;(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"})(Ie||(Ie={}));function Sa(t){if(t instanceof pe||t==="Option")return Ie.OPTION;if(t instanceof se||t==="Repetition")return Ie.REPETITION;if(t instanceof $e||t==="RepetitionMandatory")return Ie.REPETITION_MANDATORY;if(t instanceof xe||t==="RepetitionMandatoryWithSeparator")return Ie.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ye||t==="RepetitionWithSeparator")return Ie.REPETITION_WITH_SEPARATOR;if(t instanceof Te||t==="Alternation")return Ie.ALTERNATION;throw Error("non exhaustive match")}s(Sa,"getProdType");function Ol(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=Sa(n);return a===Ie.ALTERNATION?Ji(e,r,i):Zi(e,r,a,i)}s(Ol,"getLookaheadPaths");function xg(t,e,r,n,i,a){let o=Ji(t,e,r),l=kg(o)?Hi:Wr;return a(o,n,l,i)}s(xg,"buildLookaheadFuncForOr");function vg(t,e,r,n,i,a){let o=Zi(t,e,i,r),l=kg(o)?Hi:Wr;return a(o[0],l,n)}s(vg,"buildLookaheadFuncForOptionalProd");function Eg(t,e,r,n){let i=t.length,a=Et(t,o=>Et(o,l=>l.length===1));if(e)return function(o){let l=b(o,u=>u.GATE);for(let u=0;u<i;u++){let c=t[u],d=c.length,m=l[u];if(!(m!==void 0&&m.call(this)===!1))e:for(let h=0;h<d;h++){let y=c[h],k=y.length;for(let w=0;w<k;w++){let q=this.LA(w+1);if(r(q,y[w])===!1)continue e}return u}}};if(a&&!n){let o=b(t,u=>Ke(u)),l=Ge(o,(u,c,d)=>(D(c,m=>{G(u,m.tokenTypeIdx)||(u[m.tokenTypeIdx]=d),D(m.categoryMatches,h=>{G(u,h)||(u[h]=d)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;o<i;o++){let l=t[o],u=l.length;e:for(let c=0;c<u;c++){let d=l[c],m=d.length;for(let h=0;h<m;h++){let y=this.LA(h+1);if(r(y,d[h])===!1)continue e}return o}}}}s(Eg,"buildAlternativesLookAheadFunc");function Ag(t,e,r){let n=Et(t,a=>a.length===1),i=t.length;if(n&&!r){let a=Ke(t);if(a.length===1&&te(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=Ge(a,(l,u,c)=>(l[u.tokenTypeIdx]=!0,D(u.categoryMatches,d=>{l[d]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;a<i;a++){let o=t[a],l=o.length;for(let u=0;u<l;u++){let c=this.LA(u+1);if(e(c,o[u])===!1)continue e}return!0}return!1}}s(Ag,"buildSingleAlternativeLookaheadFunction");var Pf=class extends Br{static{s(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Ie.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Ie.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Ie.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Ie.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Pl=class extends Nt{static{s(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Ie.OPTION)}visitRepetition(e){this.checkIsTarget(e,Ie.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Ie.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Ie.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Ie.ALTERNATION)}};function $g(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}s($g,"initializeArrayOfArrays");function _f(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let a=0;a<e.length;a++){let o=e[a];i.push(o+"_"+n.tokenTypeIdx);for(let l=0;l<n.categoryMatches.length;l++){let u="_"+n.categoryMatches[l];i.push(o+u)}}e=i}return e}s(_f,"pathToHashKeys");function Jv(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let a=0;a<e.length;a++){let o=e[a];if(i[o]===!0)return!1}}return!0}s(Jv,"isUniquePrefixHash");function Cg(t,e){let r=b(t,o=>bl([o],1)),n=$g(r.length),i=b(r,o=>{let l={};return D(o,u=>{let c=_f(u.partialPath);D(c,d=>{l[d]=!0})}),l}),a=r;for(let o=1;o<=e;o++){let l=a;a=$g(l.length);for(let u=0;u<l.length;u++){let c=l[u];for(let d=0;d<c.length;d++){let m=c[d].partialPath,h=c[d].suffixDef,y=_f(m);if(Jv(i,y,u)||te(h)||m.length===e){let w=n[u];if(Ll(w,m)===!1){w.push(m);for(let q=0;q<y.length;q++){let M=y[q];i[u][M]=!0}}}else{let w=bl(h,o+1,m);a[u]=a[u].concat(w),D(w,q=>{let M=_f(q.partialPath);D(M,P=>{i[u][P]=!0})})}}}}return n}s(Cg,"lookAheadSequenceFromAlternatives");function Ji(t,e,r,n){let i=new Pl(t,Ie.ALTERNATION,n);return e.accept(i),Cg(i.result,r)}s(Ji,"getLookaheadPathsForOr");function Zi(t,e,r,n){let i=new Pl(t,r);e.accept(i);let a=i.result,l=new Pf(e,t,r).startWalking(),u=new Re({definition:a}),c=new Re({definition:l});return Cg([u,c],n)}s(Zi,"getLookaheadPathsForOptionalProd");function Ll(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let a=e[i],o=n[i];if((a===o||o.categoryMatchesMap[a.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}s(Ll,"containsPath");function Sg(t,e){return t.length<e.length&&Et(t,(r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}s(Sg,"isStrictPrefixOfPath");function kg(t){return Et(t,e=>Et(e,r=>Et(r,n=>te(n.categoryMatches))))}s(kg,"areTokenCategoriesNotUsed");function Ng(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return b(e,r=>Object.assign({type:et.CUSTOM_LOOKAHEAD_VALIDATION},r))}s(Ng,"validateLookahead");function wg(t,e,r,n){let i=pt(t,u=>Zv(u,r)),a=iE(t,e,r),o=pt(t,u=>tE(u,r)),l=pt(t,u=>eE(u,t,n,r));return i.concat(a,o,l)}s(wg,"validateGrammar");function Zv(t,e){let r=new Of;t.accept(r);let n=r.allProductions,i=vh(n,Qv),a=Gt(i,l=>l.length>1);return b(Ce(a),l=>{let u=dt(l),c=e.buildDuplicateFoundError(t,l),d=Ot(u),m={message:c,type:et.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:d,occurrence:u.idx},h=Ig(u);return h&&(m.parameter=h),m})}s(Zv,"validateDuplicateProductions");function Qv(t){return`${Ot(t)}_#_${t.idx}_#_${Ig(t)}`}s(Qv,"identifyProductionForDuplicates");function Ig(t){return t instanceof ne?t.terminalType.name:t instanceof de?t.nonTerminalName:""}s(Ig,"getExtraProductionArgument");var Of=class extends Nt{static{s(this,"OccurrenceValidationCollector")}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 eE(t,e,r,n){let i=[];if(Ge(e,(o,l)=>l.name===t.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:o,type:et.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}s(eE,"validateRuleDoesNotAlreadyExist");function bg(t,e,r){let n=[],i;return Oe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:et.INVALID_RULE_OVERRIDE,ruleName:t})),n}s(bg,"validateRuleIsOverridden");function Df(t,e,r,n=[]){let i=[],a=Dl(e.definition);if(te(a))return[];{let o=t.name;Oe(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:et.LEFT_RECURSION,ruleName:o});let u=_n(a,n.concat([t])),c=pt(u,d=>{let m=Ae(n);return m.push(d),Df(t,d,r,m)});return i.concat(c)}}s(Df,"validateNoLeftRecursion");function Dl(t){let e=[];if(te(t))return e;let r=dt(t);if(r instanceof de)e.push(r.referencedRule);else if(r instanceof Re||r instanceof pe||r instanceof $e||r instanceof xe||r instanceof ye||r instanceof se)e=e.concat(Dl(r.definition));else if(r instanceof Te)e=Ke(b(r.definition,a=>Dl(a.definition)));else if(!(r instanceof ne))throw Error("non exhaustive match");let n=Qn(r),i=t.length>1;if(n&&i){let a=Ve(t);return e.concat(Dl(a))}else return e}s(Dl,"getFirstNoneTerminal");var ka=class extends Nt{static{s(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function _g(t,e){let r=new ka;t.accept(r);let n=r.alternations;return pt(n,a=>{let o=sn(a.definition);return pt(o,(l,u)=>{let c=_l([l],[],Wr,1);return te(c)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:et.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}s(_g,"validateEmptyOrAlternative");function Pg(t,e,r){let n=new ka;t.accept(n);let i=n.alternations;return i=Pn(i,o=>o.ignoreAmbiguities===!0),pt(i,o=>{let l=o.idx,u=o.maxLookahead||e,c=Ji(l,t,u,o),d=rE(c,o,t,r),m=nE(c,o,t,r);return d.concat(m)})}s(Pg,"validateAmbiguousAlternationAlternatives");var Lf=class extends Nt{static{s(this,"RepetitionCollector")}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 tE(t,e){let r=new ka;t.accept(r);let n=r.alternations;return pt(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:et.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}s(tE,"validateTooManyAlts");function Og(t,e,r){let n=[];return D(t,i=>{let a=new Lf;i.accept(a);let o=a.allProductions;D(o,l=>{let u=Sa(l),c=l.maxLookahead||e,d=l.idx,h=Zi(d,i,u,c)[0];if(te(Ke(h))){let y=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:y,type:et.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}s(Og,"validateSomeNonEmptyLookaheadPath");function rE(t,e,r,n){let i=[],a=Ge(t,(l,u,c)=>(e.definition[c].ignoreAmbiguities===!0||D(u,d=>{let m=[c];D(t,(h,y)=>{c!==y&&Ll(h,d)&&e.definition[y].ignoreAmbiguities!==!0&&m.push(y)}),m.length>1&&!Ll(i,d)&&(i.push(d),l.push({alts:m,path:d}))}),l),[]);return b(a,l=>{let u=b(l.alts,d=>d+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:et.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}s(rE,"checkAlternativesAmbiguities");function nE(t,e,r,n){let i=Ge(t,(o,l,u)=>{let c=b(l,d=>({idx:u,path:d}));return o.concat(c)},[]);return Dr(pt(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,c=o.path,d=ot(i,h=>e.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<u&&Sg(h.path,c));return b(d,h=>{let y=[h.idx+1,u+1],k=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:y,prefixPath:h.path}),type:et.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:k,alternatives:y}})}))}s(nE,"checkPrefixAlternativesAmbiguities");function iE(t,e,r){let n=[],i=b(e,a=>a.name);return D(t,a=>{let o=a.name;if(Oe(i,o)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:et.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}s(iE,"checkTerminalAndNoneTerminalsNameSpace");function Lg(t){let e=Xs(t,{errMsgProvider:Tg}),r={};return D(t.rules,n=>{r[n.name]=n}),Rg(r,e.errMsgProvider)}s(Lg,"resolveGrammar");function Dg(t){return t=Xs(t,{errMsgProvider:fr}),wg(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}s(Dg,"validateGrammar");var Mg="MismatchedTokenException",Fg="NoViableAltException",Gg="EarlyExitException",Ug="NotAllInputParsedException",zg=[Mg,Fg,Gg,Ug];Object.freeze(zg);function Rn(t){return Oe(zg,t.name)}s(Rn,"isRecognitionException");var Qi=class extends Error{static{s(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ri=class extends Qi{static{s(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Mg}},Na=class extends Qi{static{s(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Fg}},wa=class extends Qi{static{s(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=Ug}},Ia=class extends Qi{static{s(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Gg}};var Mf={},Gf="InRuleRecoveryException",Ff=class extends Error{static{s(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=Gf}},Ml=class{static{s(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=G(e,"recoveryEnabled")?e.recoveryEnabled:wt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sE)}getTokenToInsert(e){let r=Hr(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,c=this.LA(1),d=this.LA(1),m=s(()=>{let h=this.LA(0),y=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:h,ruleName:this.getCurrRuleFullName()}),k=new ri(y,c,this.LA(0));k.resyncedTokens=sn(l),this.SAVE_ERROR(k)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(d,i)){m();return}else if(n.call(this)){m(),e.apply(this,r);return}else this.tokenMatcher(d,a)?u=!0:(d=this.SKIP_TOKEN(),this.addToResyncTokens(d,l));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Ff("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||te(r))return!1;let n=this.LA(1);return Mr(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Oe(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Mr(e,a=>Ea(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Mf;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return b(e,(n,i)=>i===0?Mf:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=b(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Ke(e)}getFollowSetFromFollowKey(e){if(e===Mf)return[Bt];let r=e.ruleName+e.idxInCallingRule+vl+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Bt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return sn(r)}attemptInRepetitionRecovery(e,r,n,i,a,o,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Ae(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return b(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function sE(t,e,r,n,i,a,o){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let h=this.getCurrRuleFullName(),y=this.getGAstProductions()[h];u=new a(y,i).startWalking(),this.firstAfterRepMap[l]=u}let c=u.token,d=u.occurrence,m=u.isEndOfRule;this.RULE_STACK.length===1&&m&&c===void 0&&(c=Bt,d=1),!(c===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,d,o)&&this.tryInRepetitionRecovery(t,e,r,c)}s(sE,"attemptInRepetitionRecovery");function Fl(t,e,r){return r|e|t}s(Fl,"getKeyForAutomaticLookahead");var Xr=class{static{s(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:wt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(te(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return pt(e,r=>Df(r,r,fr))}validateEmptyOrAlternatives(e){return pt(e,r=>_g(r,fr))}validateAmbiguousAlternationAlternatives(e,r){return pt(e,n=>Pg(n,r,fr))}validateSomeNonEmptyLookaheadPath(e,r){return Og(e,r,fr)}buildLookaheadForAlternation(e){return xg(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Eg)}buildLookaheadForOptional(e){return vg(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Sa(e.prodType),Ag)}};var Ul=class{static{s(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=G(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wt.dynamicTokensEnabled,this.maxLookahead=G(e,"maxLookahead")?e.maxLookahead:wt.maxLookahead,this.lookaheadStrategy=G(e,"lookaheadStrategy")?e.lookaheadStrategy:new Xr({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){D(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=aE(r);D(n,c=>{let d=c.idx===0?"":c.idx;this.TRACE_INIT(`${Ot(c)}${d}`,()=>{let m=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:r,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=Fl(this.fullRuleNameToShort[r.name],256,c.idx);this.setLaFuncCache(h,m)})}),D(i,c=>{this.computeLookaheadFunc(r,c.idx,768,"Repetition",c.maxLookahead,Ot(c))}),D(a,c=>{this.computeLookaheadFunc(r,c.idx,512,"Option",c.maxLookahead,Ot(c))}),D(o,c=>{this.computeLookaheadFunc(r,c.idx,1024,"RepetitionMandatory",c.maxLookahead,Ot(c))}),D(l,c=>{this.computeLookaheadFunc(r,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,Ot(c))}),D(u,c=>{this.computeLookaheadFunc(r,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,Ot(c))})})})}computeLookaheadFunc(e,r,n,i,a,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=Fl(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return Fl(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Uf=class extends Nt{static{s(this,"DslMethodsCollectorVisitor")}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)}},Gl=new Uf;function aE(t){Gl.reset(),t.accept(Gl);let e=Gl.dslMethods;return Gl.reset(),e}s(aE,"collectMethods");function jf(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}s(jf,"setNodeLocationOnlyOffset");function Bf(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)}s(Bf,"setNodeLocationFull");function qg(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}s(qg,"addTerminalToCst");function jg(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}s(jg,"addNoneTerminalToCst");var oE="name";function Wf(t,e){Object.defineProperty(t,oE,{enumerable:!1,configurable:!0,writable:!1,value:e})}s(Wf,"defineNameProp");function lE(t,e){let r=Lr(t),n=r.length;for(let i=0;i<n;i++){let a=r[i],o=t[a],l=o.length;for(let u=0;u<l;u++){let c=o[u];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}s(lE,"defaultVisit");function Bg(t,e){let r=s(function(){},"derivedConstructor");Wf(r,t+"BaseSemantics");let n={visit:s(function(i,a){if(Ze(i)&&(i=i[0]),!At(i))return this[i.name](i.children,a)},"visit"),validateVisitor:s(function(){let i=uE(this,e);if(!te(i)){let a=b(i,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
${a.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}s(Bg,"createBaseSemanticVisitorConstructor");function Wg(t,e,r){let n=s(function(){},"derivedConstructor");Wf(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return D(e,a=>{i[a]=lE}),n.prototype=i,n.prototype.constructor=n,n}s(Wg,"createBaseVisitorConstructorWithDefaults");var Kf;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Kf||(Kf={}));function uE(t,e){return cE(t,e)}s(uE,"validateVisitor");function cE(t,e){let r=ot(e,i=>yr(t[i])===!1),n=b(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Kf.MISSING_METHOD,methodName:i}));return Dr(n)}s(cE,"validateMissingCstMethods");var Bl=class{static{s(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=G(e,"nodeLocationTracking")?e.nodeLocationTracking:wt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=We,this.cstFinallyStateUpdate=We,this.cstPostTerminal=We,this.cstPostNonTerminal=We,this.cstPostRule=We;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Bf,this.setNodeLocationFromNode=Bf,this.cstPostRule=We,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=We,this.setNodeLocationFromNode=We,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=jf,this.setNodeLocationFromNode=jf,this.cstPostRule=We,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=We,this.setNodeLocationFromNode=We,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=We,this.setNodeLocationFromNode=We,this.cstPostRule=We,this.setInitialNodeLocation=We;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){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];qg(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];jg(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(At(this.baseCstVisitorConstructor)){let e=Bg(this.className,Lr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(At(this.baseCstVisitorWithDefaultsConstructor)){let e=Wg(this.className,Lr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}};var Wl=class{static{s(this,"LexerAdapter")}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)):es}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?es:this.tokVector[r]}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()}};var Kl=class{static{s(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}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,r,n=ts){if(Oe(this.definedRulesNames,e)){let o={message:fr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:et.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=ts){let i=bg(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Rn(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return xl(Ce(this.gastProductionsCache))}};var Vl=class{static{s(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Hi,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},G(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(Ze(e)){if(te(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(Ze(e))this.tokensMap=Ge(e,(a,o)=>(a[o.name]=o,a),{});else if(G(e,"modes")&&Et(Ke(Ce(e.modes)),ug)){let a=Ke(Ce(e.modes)),o=Js(a);this.tokensMap=Ge(o,(l,u)=>(l[u.name]=u,l),{})}else if(xh(e))this.tokensMap=Ae(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=Bt;let n=G(e,"modes")?Ke(Ce(e.modes)):Ce(e),i=Et(n,a=>te(a.categoryMatches));this.tokenMatcher=i?Hi:Wr,Kr(Ce(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=G(n,"resyncEnabled")?n.resyncEnabled:ts.resyncEnabled,a=G(n,"recoveryValueFunc")?n.recoveryValueFunc:ts.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=s(function(...d){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,d);let m=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(m),m}catch(m){return this.invokeRuleCatch(m,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=s(function(...d){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,d)}catch(m){return this.invokeRuleCatch(m,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Rn(e)){let o=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Ie.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Il)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,Ca],l,1536,e,Ca)}else throw this.raiseEarlyExitException(e,Ie.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=s(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,wl,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,Aa],l,1280,e,Aa)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Ze(e)?e:e.DEF,o=this.getLaFuncFromCache(n).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wa(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Rn(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ri(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Gf?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Ae(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Bt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var Hl=class{static{s(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=G(e,"errorMessageProvider")?e.errorMessageProvider:wt.errorMessageProvider}SAVE_ERROR(e){if(Rn(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ae(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ae(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=Zi(e,a,r,this.maxLookahead)[0],u=[];for(let d=1;d<=this.maxLookahead;d++)u.push(this.LA(d));let c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Ia(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Ji(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Na(u,this.LA(1),l))}};var Yl=class{static{s(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(At(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return _l([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=dt(e.ruleStack),i=this.getGAstProductions()[r];return new Nl(i,e).startWalking()}};var Zl={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Zl);var Kg=!0,Vg=Math.pow(2,8)-1,Yg=Tn({name:"RECORDING_PHASE_TOKEN",pattern:we.NA});Kr([Yg]);var Xg=Hr(Yg,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Xg);var dE={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Xl=class{static{s(this,"GastRecorder")}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++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},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",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}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,r){return()=>!0}LA_RECORD(e){return es}topLevelRuleRecord(e,r){try{let n=new kt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return _a.call(this,pe,e,r)}atLeastOneInternalRecord(e,r){_a.call(this,$e,r,e)}atLeastOneSepFirstInternalRecord(e,r){_a.call(this,xe,r,e,Kg)}manyInternalRecord(e,r){_a.call(this,se,r,e)}manySepFirstInternalRecord(e,r){_a.call(this,ye,r,e,Kg)}orInternalRecord(e,r){return pE.call(this,e,r)}subruleInternalRecord(e,r,n){if(Jl(r),!e||G(e,"ruleName")===!1){let l=new Error(`<SUBRULE${Hg(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=Tr(this.recordingProdStack),a=e.ruleName,o=new de({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?dE:Zl}consumeInternalRecord(e,r,n){if(Jl(r),!Nf(e)){let o=new Error(`<CONSUME${Hg(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=Tr(this.recordingProdStack),a=new ne({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),Xg}};function _a(t,e,r,n=!1){Jl(r);let i=Tr(this.recordingProdStack),a=yr(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),G(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),Zl}s(_a,"recordProd");function pE(t,e){Jl(e);let r=Tr(this.recordingProdStack),n=Ze(t)===!1,i=n===!1?t:t.DEF,a=new Te({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});G(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let o=Wo(i,l=>yr(l.GATE));return a.hasPredicates=o,r.definition.push(a),D(i,l=>{let u=new Re({definition:[]});a.definition.push(u),G(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:G(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),Zl}s(pE,"recordOrProd");function Hg(t){return t===0?"":`${t}`}s(Hg,"getIdxSuffix");function Jl(t){if(t<0||t>Vg){let e=new Error(`Invalid DSL Method idx value: <${t}>
Idx value must be a none negative value smaller than ${Vg+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}s(Jl,"assertMethodIdxIsValid");var Ql=class{static{s(this,"PerformanceTracer")}initPerformanceTracer(e){if(G(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=wt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:a}=Ra(r),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,a}else return r()}};function Jg(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}s(Jg,"applyMixins");var es=Hr(Bt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(es);var wt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Yr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ts=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),et;(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"})(et||(et={}));function eu(t=void 0){return function(){return t}}s(eu,"EMPTY_ALT");var Pa=class t{static{s(this,"Parser")}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;let r=this.className;this.TRACE_INIT("toFastProps",()=>{$a(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),D(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Lg({rules:Ce(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(te(n)&&this.skipValidations===!1){let i=Dg({rules:Ce(this.gastProductionsCache),tokenTypes:Ce(this.tokensMap),errMsgProvider:fr,grammarName:r}),a=Ng({lookaheadStrategy:this.lookaheadStrategy,rules:Ce(this.gastProductionsCache),tokenTypes:Ce(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),te(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=jh(Ce(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Ce(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Ce(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!te(this.definitionErrors))throw e=b(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
${e.join(`
-------------------------------
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),G(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=G(r,"skipValidations")?r.skipValidations:wt.skipValidations}};Pa.DEFER_DEFINITION_ERRORS_HANDLING=!1;Jg(Pa,[Ml,Ul,Bl,Wl,Vl,Kl,Hl,Yl,Xl,Ql]);var Oa=class extends Pa{static{s(this,"EmbeddedActionsParser")}constructor(e,r=wt){let n=Ae(r);n.outputCst=!1,super(e,n)}};function ni(t,e,r){return`${t.name}_${e}_${r}`}s(ni,"buildATNKey");var $n=1,hE=2,Zg=4,Qg=5;var is=7,gE=8,yE=9,TE=10,RE=11,ey=12,La=class{static{s(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},rs=class extends La{static{s(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},Da=class extends La{static{s(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},ns=class extends La{static{s(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function ty(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};$E(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],a=ii(e,i,i);a!==void 0&&bE(e,i,a)}return e}s(ty,"createATN");function $E(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],a=it(t,i,void 0,{type:hE}),o=it(t,i,void 0,{type:is});a.stop=o,t.ruleToStartState.set(i,a),t.ruleToStopState.set(i,o)}}s($E,"createRuleStartAndStopATNStates");function ry(t,e,r){return r instanceof ne?Hf(t,e,r.terminalType,r):r instanceof de?IE(t,e,r):r instanceof Te?CE(t,e,r):r instanceof pe?SE(t,e,r):r instanceof se?xE(t,e,r):r instanceof ye?vE(t,e,r):r instanceof $e?EE(t,e,r):r instanceof xe?AE(t,e,r):ii(t,e,r)}s(ry,"atom");function xE(t,e,r){let n=it(t,e,r,{type:Qg});xn(t,n);let i=ss(t,e,n,r,ii(t,e,r));return iy(t,e,r,i)}s(xE,"repetition");function vE(t,e,r){let n=it(t,e,r,{type:Qg});xn(t,n);let i=ss(t,e,n,r,ii(t,e,r)),a=Hf(t,e,r.separator,r);return iy(t,e,r,i,a)}s(vE,"repetitionSep");function EE(t,e,r){let n=it(t,e,r,{type:Zg});xn(t,n);let i=ss(t,e,n,r,ii(t,e,r));return ny(t,e,r,i)}s(EE,"repetitionMandatory");function AE(t,e,r){let n=it(t,e,r,{type:Zg});xn(t,n);let i=ss(t,e,n,r,ii(t,e,r)),a=Hf(t,e,r.separator,r);return ny(t,e,r,i,a)}s(AE,"repetitionMandatorySep");function CE(t,e,r){let n=it(t,e,r,{type:$n});xn(t,n);let i=b(r.definition,o=>ry(t,e,o));return ss(t,e,n,r,...i)}s(CE,"alternation");function SE(t,e,r){let n=it(t,e,r,{type:$n});xn(t,n);let i=ss(t,e,n,r,ii(t,e,r));return kE(t,e,r,i)}s(SE,"option");function ii(t,e,r){let n=ot(b(r.definition,i=>ry(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:wE(t,n)}s(ii,"block");function ny(t,e,r,n,i){let a=n.left,o=n.right,l=it(t,e,r,{type:RE});xn(t,l);let u=it(t,e,r,{type:ey});return a.loopback=l,u.loopback=l,t.decisionMap[ni(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,He(o,l),i===void 0?(He(l,a),He(l,u)):(He(l,u),He(l,i.left),He(i.right,a)),{left:a,right:u}}s(ny,"plus");function iy(t,e,r,n,i){let a=n.left,o=n.right,l=it(t,e,r,{type:TE});xn(t,l);let u=it(t,e,r,{type:ey}),c=it(t,e,r,{type:yE});return l.loopback=c,u.loopback=c,He(l,a),He(l,u),He(o,c),i!==void 0?(He(c,u),He(c,i.left),He(i.right,a)):He(c,l),t.decisionMap[ni(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}s(iy,"star");function kE(t,e,r,n){let i=n.left,a=n.right;return He(i,a),t.decisionMap[ni(e,"Option",r.idx)]=i,n}s(kE,"optional");function xn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}s(xn,"defineDecisionState");function ss(t,e,r,n,...i){let a=it(t,e,n,{type:gE,start:r});r.end=a;for(let l of i)l!==void 0?(He(r,l.left),He(l.right,a)):He(r,a);let o={left:r,right:a};return t.decisionMap[ni(e,NE(n),n.idx)]=r,o}s(ss,"makeAlts");function NE(t){if(t instanceof Te)return"Alternation";if(t instanceof pe)return"Option";if(t instanceof se)return"Repetition";if(t instanceof ye)return"RepetitionWithSeparator";if(t instanceof $e)return"RepetitionMandatory";if(t instanceof xe)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}s(NE,"getProdType");function wE(t,e){let r=e.length;for(let a=0;a<r-1;a++){let o=e[a],l;o.left.transitions.length===1&&(l=o.left.transitions[0]);let u=l instanceof ns,c=l,d=e[a+1].left;o.left.type===$n&&o.right.type===$n&&l!==void 0&&(u&&c.followState===o.right||l.target===o.right)?(u?c.followState=d:l.target=d,_E(t,o.right)):He(o.right,d)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}s(wE,"makeBlock");function Hf(t,e,r,n){let i=it(t,e,n,{type:$n}),a=it(t,e,n,{type:$n});return Yf(i,new rs(a,r)),{left:i,right:a}}s(Hf,"tokenRef");function IE(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),a=it(t,e,r,{type:$n}),o=it(t,e,r,{type:$n}),l=new ns(i,n,o);return Yf(a,l),{left:a,right:o}}s(IE,"ruleRef");function bE(t,e,r){let n=t.ruleToStartState.get(e);He(n,r.left);let i=t.ruleToStopState.get(e);return He(r.right,i),{left:n,right:i}}s(bE,"buildRuleHandle");function He(t,e){let r=new Da(e);Yf(t,r)}s(He,"epsilon");function it(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}s(it,"newState");function Yf(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}s(Yf,"addTransition");function _E(t,e){t.states.splice(t.states.indexOf(e),1)}s(_E,"removeState");var Ma={},as=class{static{s(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Xf(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return b(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Xf(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}s(Xf,"getATNConfigKey");function PE(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}s(PE,"createDFACache");var tu=class{static{s(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},sy=new tu,Fa=class extends Xr{static{s(this,"LLStarLookaheadStrategy")}constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=ty(e.rules),this.dfas=OE(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=ni(n,"Alternation",r),d=this.atn.decisionMap[u].decision,m=b(Ol({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),h=>b(h,y=>y[0]));if(ay(m,!1)&&!a){let h=Ge(m,(y,k,w)=>(D(k,q=>{q&&(y[q.tokenTypeIdx]=w,D(q.categoryMatches,M=>{y[M]=w}))}),y),{});return i?function(y){var k;let w=this.LA(1),q=h[w.tokenTypeIdx];if(y!==void 0&&q!==void 0){let M=(k=y[q])===null||k===void 0?void 0:k.GATE;if(M!==void 0&&M.call(this)===!1)return}return q}:function(){let y=this.LA(1);return h[y.tokenTypeIdx]}}else return i?function(h){let y=new tu,k=h===void 0?0:h.length;for(let q=0;q<k;q++){let M=h?.[q].GATE;y.set(q,M===void 0||M.call(this))}let w=Jf.call(this,o,d,y,l);return typeof w=="number"?w:void 0}:function(){let h=Jf.call(this,o,d,sy,l);return typeof h=="number"?h:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=ni(n,i,r),d=this.atn.decisionMap[u].decision,m=b(Ol({maxLookahead:1,occurrence:r,prodType:i,rule:n}),h=>b(h,y=>y[0]));if(ay(m)&&m[0][0]&&!a){let h=m[0],y=Ke(h);if(y.length===1&&te(y[0].categoryMatches)){let w=y[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===w}}else{let k=Ge(y,(w,q)=>(q!==void 0&&(w[q.tokenTypeIdx]=!0,D(q.categoryMatches,M=>{w[M]=!0})),w),{});return function(){let w=this.LA(1);return k[w.tokenTypeIdx]===!0}}}return function(){let h=Jf.call(this,o,d,sy,l);return typeof h=="object"?!1:h===0}}};function ay(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of o)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}s(ay,"isLL1Sequence");function OE(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=PE(t.decisionStates[n],n);return r}s(OE,"initATNSimulator");function Jf(t,e,r,n){let i=t[e](r),a=i.start;if(a===void 0){let l=WE(i.atnStartState);a=uy(i,ly(l)),i.start=a}return LE.apply(this,[i,a,r,n])}s(Jf,"adaptivePredict");function LE(t,e,r,n){let i=e,a=1,o=[],l=this.LA(a++);for(;;){let u=zE(i,l);if(u===void 0&&(u=DE.apply(this,[t,i,l,a,r,n])),u===Ma)return UE(o,i,l);if(u.isAcceptState===!0)return u.prediction;i=u,o.push(l),l=this.LA(a++)}}s(LE,"performLookahead");function DE(t,e,r,n,i,a){let o=qE(e.configs,r,i);if(o.size===0)return oy(t,e,r,Ma),Ma;let l=ly(o),u=BE(o,i);if(u!==void 0)l.isAcceptState=!0,l.prediction=u,l.configs.uniqueAlt=u;else if(YE(o)){let c=Eh(o.alts);l.isAcceptState=!0,l.prediction=c,l.configs.uniqueAlt=c,ME.apply(this,[t,n,o.alts,a])}return l=oy(t,e,r,l),l}s(DE,"computeLookaheadTarget");function ME(t,e,r,n){let i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);let a=t.atnStartState,o=a.rule,l=a.production,u=FE({topLevelRule:o,ambiguityIndices:r,production:l,prefixPath:i});n(u)}s(ME,"reportLookaheadAmbiguity");function FE(t){let e=b(t.prefixPath,i=>Vr(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${GE(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n}s(FE,"buildAmbiguityError");function GE(t){if(t instanceof de)return"SUBRULE";if(t instanceof pe)return"OPTION";if(t instanceof Te)return"OR";if(t instanceof $e)return"AT_LEAST_ONE";if(t instanceof xe)return"AT_LEAST_ONE_SEP";if(t instanceof ye)return"MANY_SEP";if(t instanceof se)return"MANY";if(t instanceof ne)return"CONSUME";throw Error("non exhaustive match")}s(GE,"getProductionDslName");function UE(t,e,r){let n=pt(e.configs.elements,a=>a.state.transitions),i=Ah(n.filter(a=>a instanceof rs).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}s(UE,"buildAdaptivePredictError");function zE(t,e){return t.edges[e.tokenTypeIdx]}s(zE,"getExistingTargetState");function qE(t,e,r){let n=new as,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===is){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u<l;u++){let c=o.state.transitions[u],d=jE(c,e);d!==void 0&&n.add({state:d,alt:o.alt,stack:o.stack})}}let a;if(i.length===0&&n.size===1&&(a=n),a===void 0){a=new as;for(let o of n.elements)ru(o,a)}if(i.length>0&&!VE(a))for(let o of i)a.add(o);return a}s(qE,"computeReachSet");function jE(t,e){if(t instanceof rs&&Ea(e,t.tokenType))return t.target}s(jE,"getReachableTarget");function BE(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}s(BE,"getUniqueAlt");function ly(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}s(ly,"newDFAState");function oy(t,e,r,n){return n=uy(t,n),e.edges[r.tokenTypeIdx]=n,n}s(oy,"addDFAEdge");function uy(t,e){if(e===Ma)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}s(uy,"addDFAState");function WE(t){let e=new as,r=t.transitions.length;for(let n=0;n<r;n++){let a={state:t.transitions[n].target,alt:n,stack:[]};ru(a,e)}return e}s(WE,"computeStartState");function ru(t,e){let r=t.state;if(r.type===is){if(t.stack.length>0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};ru(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let a=r.transitions[i],o=KE(t,a);o!==void 0&&ru(o,e)}}s(ru,"closure");function KE(t,e){if(e instanceof Da)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ns){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}s(KE,"getEpsilonTarget");function VE(t){for(let e of t.elements)if(e.state.type===is)return!0;return!1}s(VE,"hasConfigInRuleStopState");function HE(t){for(let e of t.elements)if(e.state.type!==is)return!1;return!0}s(HE,"allConfigsInRuleStopStates");function YE(t){if(HE(t))return!0;let e=XE(t.elements);return JE(e)&&!ZE(e)}s(YE,"hasConflictTerminatingPrediction");function XE(t){let e=new Map;for(let r of t){let n=Xf(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}s(XE,"getConflictingAltSets");function JE(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}s(JE,"hasConflictingAltSet");function ZE(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}s(ZE,"hasStateAssociatedWithOneAlt");ds();var Ka=class{static{s(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new ps(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new li;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new oi(e.startOffset,e.image.length,Gi(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let o=new oi(a.startOffset,a.image.length,Gi(a),a.tokenType,!0);o.root=this.rootNode,r.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Va=class{static{s(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.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)}},oi=class extends Va{static{s(this,"LeafCstNodeImpl")}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,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},li=class extends Va{static{s(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new ep(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:le.create(0,0),end:le.create(0,0)}}get firstNonHiddenNode(){for(let 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--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},ep=class t extends Array{static{s(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},ps=class extends li{static{s(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var du=Symbol("Datatype");function tp(t){return t.$type===du}s(tp,"isDataTypeNode");var cy="\u200B",fy=s(t=>t.endsWith(cy)?t:t+cy,"withRuleSuffix"),Ha=class{static{s(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new rp(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new mu(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}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()}},Ya=class extends Ha{static{s(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Ka,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,r){let n=this.computeRuleType(e),i;hn(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(fy(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),nt(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let a=e.operators.precedences[i];for(let o of a.operators)n.set(o.value,{precedence:i,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return hn(e)?yn(e):e.fragment?void 0:ya(e)?du:yn(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let a=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,wi(a,{deep:!0}),{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===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 r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let o={$type:e};this.stack.push(o),e===du?o.value="":r!==void 0&&(o.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),c=this.current;if(l){let d=Ht(n)?i.image:this.converter.convert(i.image,o);this.assign(l.operator,l.feature,d,o,u)}else if(tp(c)){let d=i.image;Ht(n)||(d=this.converter.convert(d,o).toString()),c.value+=d}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let o;!this.isRecording()&&!n&&(o=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&o&&o.length>0&&this.performSubruleAssignment(l,i,o))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let o=this.current;if(tp(o))o.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,o);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):tp(e)?this.converter.convert(e.value,e.$cstNode):(bc(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,o=-1;for(let w=0;w<i.length;w++){let q=i[w],M=r.get(q)??{precedence:1/0,rightAssoc:!1};M.precedence>o?(o=M.precedence,a=w):M.precedence===o&&(M.rightAssoc||(a=w))}let l=i.slice(0,a),u=i.slice(a+1),c=n.slice(0,a+1),d=n.slice(a+1),m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:l},h={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:d,operators:u},y=this.constructInfix(m,r),k=this.constructInfix(h,r);return{$type:e.$type,$cstNode:e.$cstNode,left:y,operator:i[a],right:k}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Fr(e,lr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&ur(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let o=this.current,l;switch(a==="single"&&typeof n=="string"?l=this.linker.buildReference(o,r,i,n):a==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(o,r,i,n):l=n,e){case"=":{o[r]=l;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let o=e[i];o===void 0?e[i]=a:Array.isArray(o)&&Array.isArray(a)&&(a.push(...o),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},pu=class{static{s(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Yr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Yr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Yr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Yr.buildEarlyExitMessage(e)}},ms=class extends pu{static{s(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){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 \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Xa=class extends Ha{static{s(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.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,r){let n=this.wrapper.DEFINE_RULE(fy(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},eA={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ms},mu=class extends Oa{static{s(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...eA,lookaheadStrategy:n?new Xr({maxLookahead:r.maxLookahead}):new Fa({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},rp=class extends mu{static{s(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}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,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Ja(t,e,r){return tA({parser:e,tokens:r,ruleNames:new Map},t),e}s(Ja,"createParser");function tA(t,e){let r=ha(e,!1),n=re(e.rules).filter(nt).filter(a=>r.has(a));for(let a of n){let o={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,ui(o,a.definition))}let i=re(e.rules).filter(hn).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,rA(t,a))}s(tA,"buildRules");function rA(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(St(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(y=>y.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},o={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},c={...a,$container:o};o.elements.push(u,c);let m=n.map(y=>t.tokens[y.value]).map((y,k)=>({ALT:s(()=>t.parser.consume(k,y,u),"ALT")})),h;return y=>{h??(h=ip(t,r)),t.parser.subrule(0,h,!1,a,y),t.parser.many(0,{DEF:s(()=>{t.parser.alternatives(0,m),t.parser.subrule(1,h,!1,c,y)},"DEF")})}}s(rA,"buildInfixRule");function ui(t,e,r=!1){let n;if(Ht(e))n=uA(t,e);else if(qr(e))n=nA(t,e);else if(lr(e))n=ui(t,e.terminal);else if(ur(e))n=dy(t,e);else if(cr(e))n=iA(t,e);else if(ll(e))n=aA(t,e);else if(dl(e))n=oA(t,e);else if(mn(e))n=lA(t,e);else if(Fc(e)){let i=t.consume++;n=s(()=>t.parser.consume(i,Bt,e),"method")}else throw new Yn(e.$cstNode,`Unexpected element type: ${e.$type}`);return py(t,r?void 0:hu(e),n,e.cardinality)}s(ui,"buildElement");function nA(t,e){let r=yn(e);return()=>t.parser.action(r,e)}s(nA,"buildAction");function iA(t,e){let r=e.rule.ref;if(zr(r)){let n=t.subrule++,i=nt(r)&&r.fragment,a=e.arguments.length>0?sA(r,e.arguments):()=>({}),o;return l=>{o??(o=ip(t,r)),t.parser.subrule(n,o,i,e,a(l))}}else if(St(r)){let n=t.consume++,i=np(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)vr(r);else throw new Yn(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}s(iA,"buildRuleCall");function sA(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Sr(i.value)}));return i=>{let a={};for(let{parameterName:o,predicate:l}of n)o&&(a[o]=l(i));return a}}else{let n=e.map(i=>Sr(i.value));return i=>{let a={};for(let o=0;o<n.length;o++)if(o<t.parameters.length){let l=t.parameters[o].name,u=n[o];a[l]=u(i)}return a}}}s(sA,"buildRuleCallPredicate");function Sr(t){if(Mc(t)){let e=Sr(t.left),r=Sr(t.right);return n=>e(n)||r(n)}else if(Dc(t)){let e=Sr(t.left),r=Sr(t.right);return n=>e(n)&&r(n)}else if(zc(t)){let e=Sr(t.value);return r=>!e(r)}else if(qc(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Oc(t)){let e=!!t.true;return()=>e}vr(t)}s(Sr,"buildPredicate");function aA(t,e){if(e.elements.length===1)return ui(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:ui(t,i,!0)},o=hu(i);o&&(a.GATE=Sr(o)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(o.GATE=()=>l(i)),o}))}}s(aA,"buildAlternatives");function oA(t,e){if(e.elements.length===1)return ui(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:ui(t,l,!0)},c=hu(l);c&&(u.GATE=Sr(c)),r.push(u)}let n=t.or++,i=s((l,u)=>{let c=u.getRuleStack().join("-");return`uGroup_${l}_${c}`},"idFunc"),a=s(l=>t.parser.alternatives(n,r.map((u,c)=>{let d={ALT:s(()=>!0,"ALT")},m=t.parser;d.ALT=()=>{if(u.ALT(l),!m.isRecording()){let y=i(n,m);m.unorderedGroups.get(y)||m.unorderedGroups.set(y,[]);let k=m.unorderedGroups.get(y);typeof k?.[c]>"u"&&(k[c]=!0)}};let h=u.GATE;return h?d.GATE=()=>h(l):d.GATE=()=>!m.unorderedGroups.get(i(n,m))?.[c],d})),"alternatives"),o=py(t,hu(e),a,"*");return l=>{o(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}s(oA,"buildUnorderedGroup");function lA(t,e){let r=e.elements.map(n=>ui(t,n));return n=>r.forEach(i=>i(n))}s(lA,"buildGroup");function hu(t){if(mn(t))return t.guardCondition}s(hu,"getGuardCondition");function dy(t,e,r=e.terminal){if(r)if(cr(r)&&nt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return o=>{a??(a=ip(t,n)),t.parser.subrule(i,a,!1,e,o)}}else if(cr(r)&&St(r.rule.ref)){let n=t.consume++,i=np(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Ht(r)){let n=t.consume++,i=np(t,r.value);return()=>t.parser.consume(n,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);let i=Tl(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+yn(e.type.ref));return dy(t,e,i)}}s(dy,"buildCrossReference");function uA(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}s(uA,"buildKeyword");function py(t,e,r,n){let i=e&&Sr(e);if(!n)if(i){let a=t.or++;return o=>t.parser.alternatives(a,[{ALT:s(()=>r(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:eu(),GATE:s(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return o=>t.parser.many(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let a=t.many++;if(i){let o=t.or++;return l=>t.parser.alternatives(o,[{ALT:s(()=>t.parser.atLeastOne(a,{DEF:s(()=>r(l),"DEF")}),"ALT"),GATE:s(()=>i(l),"GATE")},{ALT:eu(),GATE:s(()=>!i(l),"GATE")}])}else return o=>t.parser.atLeastOne(a,{DEF:s(()=>r(o),"DEF")})}else if(n==="?"){let a=t.optional++;return o=>t.parser.optional(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else vr(n)}s(py,"wrap");function ip(t,e){let r=cA(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}s(ip,"getRule");function cA(t,e){if(zr(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!nt(n);)(mn(n)||ll(n)||dl(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}s(cA,"getRuleName");function np(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}s(np,"getToken");function sp(t){let e=t.Grammar,r=t.parser.Lexer,n=new Xa(t);return Ja(e,n,r.definition),n.finalize(),n}s(sp,"createCompletionParser");function ap(t){let e=my(t);return e.finalize(),e}s(ap,"createLangiumParser");function my(t){let e=t.Grammar,r=t.parser.Lexer,n=new Ya(t);return Ja(e,n,r.definition)}s(my,"prepareLangiumParser");var Zr=class{static{s(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=re(ha(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(St).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=zi(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ma(r)?we.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(zr).flatMap(i=>ar(i).filter(Ht)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(gn(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&of("^"+a.source+"$",e.value)&&n.push(i),n},[])}};var ci=class{static{s(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(ur(n)&&(n=cf(n)),cr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return kr.convertInt(r);case"STRING":return kr.convertString(r);case"ID":return kr.convertID(r)}switch(yf(e)?.toLowerCase()){case"number":return kr.convertNumber(r);case"boolean":return kr.convertBoolean(r);case"bigint":return kr.convertBigint(r);case"date":return kr.convertDate(r);default:return r}}},kr;(function(t){function e(c){let d="";for(let m=1;m<c.length-1;m++){let h=c.charAt(m);if(h==="\\"){let y=c.charAt(++m);d+=r(y)}else d+=h}return d}s(e,"convertString"),t.convertString=e;function r(c){switch(c){case"b":return"\b";case"f":return"\f";case"n":return`
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return c}}s(r,"convertEscapeCharacter");function n(c){return c.charAt(0)==="^"?c.substring(1):c}s(n,"convertID"),t.convertID=n;function i(c){return parseInt(c)}s(i,"convertInt"),t.convertInt=i;function a(c){return BigInt(c)}s(a,"convertBigint"),t.convertBigint=a;function o(c){return new Date(c)}s(o,"convertDate"),t.convertDate=o;function l(c){return Number(c)}s(l,"convertNumber"),t.convertNumber=l;function u(c){return c.toLowerCase()==="true"}s(u,"convertBoolean"),t.convertBoolean=u})(kr||(kr={}));var W={};ae(W,Ac(Za(),1));function pp(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}s(pp,"delayNextTick");var Ru=0,Ty=10;function $u(){return Ru=performance.now(),new W.CancellationTokenSource}s($u,"startCancelableOperation");function Ry(t){Ty=t}s(Ry,"setInterruptionPeriod");var Yt=Symbol("OperationCancelled");function Nr(t){return t===Yt}s(Nr,"isOperationCancelled");async function De(t){if(t===W.CancellationToken.None)return;let e=performance.now();if(e-Ru>=Ty&&(Ru=e,await pp(),Ru=performance.now()),t.isCancellationRequested)throw Yt}s(De,"interruptAndCheck");var It=class{static{s(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var xu=class t{static{s(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,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 r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=vy(n.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,d=$y(n.text,!1,a);if(u-l===d.length)for(let h=0,y=d.length;h<y;h++)c[h+l+1]=d[h];else d.length<1e4?c.splice(l+1,u-l,...d):this._lineOffsets=c=c.slice(0,l+1).concat(d,c.slice(u+1));let m=n.text.length-(o-a);if(m!==0)for(let h=l+1+d.length,y=c.length;h<y;h++)c[h]=c[h]+m}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=$y(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,a=Math.min(n+e.character,i);return this.ensureBeforeEOL(a,n)}ensureBeforeEOL(e,r){for(;e>r&&xy(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},Ts;(function(t){function e(i,a,o,l){return new xu(i,a,o,l)}s(e,"create"),t.create=e;function r(i,a,o){if(i instanceof xu)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(r,"update"),t.update=r;function n(i,a){let o=i.getText(),l=mp(a.map($A),(d,m)=>{let h=d.range.start.line-m.range.start.line;return h===0?d.range.start.character-m.range.start.character:h}),u=0,c=[];for(let d of l){let m=i.offsetAt(d.range.start);if(m<u)throw new Error("Overlapping edit");m>u&&c.push(o.substring(u,m)),d.newText.length&&c.push(d.newText),u=i.offsetAt(d.range.end)}return c.push(o.substr(u)),c.join("")}s(n,"applyEdits"),t.applyEdits=n})(Ts||(Ts={}));function mp(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);mp(n,e),mp(i,e);let a=0,o=0,l=0;for(;a<n.length&&o<i.length;)e(n[a],i[o])<=0?t[l++]=n[a++]:t[l++]=i[o++];for(;a<n.length;)t[l++]=n[a++];for(;o<i.length;)t[l++]=i[o++];return t}s(mp,"mergeSort");function $y(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let a=t.charCodeAt(i);xy(a)&&(a===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}s($y,"computeLineOffsets");function xy(t){return t===13||t===10}s(xy,"isEOL");function vy(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}s(vy,"getWellformedRange");function $A(t){let e=vy(t.range);return e!==t.range?{newText:t.newText,range:e}:t}s($A,"getWellformedEdit");var Ey;(()=>{"use strict";var t={975:C=>{function T(R){if(typeof R!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(R))}s(T,"e");function L(R,x){for(var A,_="",F=0,N=-1,Y=0,Q=0;Q<=R.length;++Q){if(Q<R.length)A=R.charCodeAt(Q);else{if(A===47)break;A=47}if(A===47){if(!(N===Q-1||Y===1))if(N!==Q-1&&Y===2){if(_.length<2||F!==2||_.charCodeAt(_.length-1)!==46||_.charCodeAt(_.length-2)!==46){if(_.length>2){var Be=_.lastIndexOf("/");if(Be!==_.length-1){Be===-1?(_="",F=0):F=(_=_.slice(0,Be)).length-1-_.lastIndexOf("/"),N=Q,Y=0;continue}}else if(_.length===2||_.length===1){_="",F=0,N=Q,Y=0;continue}}x&&(_.length>0?_+="/..":_="..",F=2)}else _.length>0?_+="/"+R.slice(N+1,Q):_=R.slice(N+1,Q),F=Q-N-1;N=Q,Y=0}else A===46&&Y!==-1?++Y:Y=-1}return _}s(L,"r");var O={resolve:s(function(){for(var R,x="",A=!1,_=arguments.length-1;_>=-1&&!A;_--){var F;_>=0?F=arguments[_]:(R===void 0&&(R=process.cwd()),F=R),T(F),F.length!==0&&(x=F+"/"+x,A=F.charCodeAt(0)===47)}return x=L(x,!A),A?x.length>0?"/"+x:"/":x.length>0?x:"."},"resolve"),normalize:s(function(R){if(T(R),R.length===0)return".";var x=R.charCodeAt(0)===47,A=R.charCodeAt(R.length-1)===47;return(R=L(R,!x)).length!==0||x||(R="."),R.length>0&&A&&(R+="/"),x?"/"+R:R},"normalize"),isAbsolute:s(function(R){return T(R),R.length>0&&R.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var R,x=0;x<arguments.length;++x){var A=arguments[x];T(A),A.length>0&&(R===void 0?R=A:R+="/"+A)}return R===void 0?".":O.normalize(R)},"join"),relative:s(function(R,x){if(T(R),T(x),R===x||(R=O.resolve(R))===(x=O.resolve(x)))return"";for(var A=1;A<R.length&&R.charCodeAt(A)===47;++A);for(var _=R.length,F=_-A,N=1;N<x.length&&x.charCodeAt(N)===47;++N);for(var Y=x.length-N,Q=F<Y?F:Y,Be=-1,ce=0;ce<=Q;++ce){if(ce===Q){if(Y>Q){if(x.charCodeAt(N+ce)===47)return x.slice(N+ce+1);if(ce===0)return x.slice(N+ce)}else F>Q&&(R.charCodeAt(A+ce)===47?Be=ce:ce===0&&(Be=0));break}var _e=R.charCodeAt(A+ce);if(_e!==x.charCodeAt(N+ce))break;_e===47&&(Be=ce)}var hr="";for(ce=A+Be+1;ce<=_;++ce)ce!==_&&R.charCodeAt(ce)!==47||(hr.length===0?hr+="..":hr+="/..");return hr.length>0?hr+x.slice(N+Be):(N+=Be,x.charCodeAt(N)===47&&++N,x.slice(N))},"relative"),_makeLong:s(function(R){return R},"_makeLong"),dirname:s(function(R){if(T(R),R.length===0)return".";for(var x=R.charCodeAt(0),A=x===47,_=-1,F=!0,N=R.length-1;N>=1;--N)if((x=R.charCodeAt(N))===47){if(!F){_=N;break}}else F=!1;return _===-1?A?"/":".":A&&_===1?"//":R.slice(0,_)},"dirname"),basename:s(function(R,x){if(x!==void 0&&typeof x!="string")throw new TypeError('"ext" argument must be a string');T(R);var A,_=0,F=-1,N=!0;if(x!==void 0&&x.length>0&&x.length<=R.length){if(x.length===R.length&&x===R)return"";var Y=x.length-1,Q=-1;for(A=R.length-1;A>=0;--A){var Be=R.charCodeAt(A);if(Be===47){if(!N){_=A+1;break}}else Q===-1&&(N=!1,Q=A+1),Y>=0&&(Be===x.charCodeAt(Y)?--Y==-1&&(F=A):(Y=-1,F=Q))}return _===F?F=Q:F===-1&&(F=R.length),R.slice(_,F)}for(A=R.length-1;A>=0;--A)if(R.charCodeAt(A)===47){if(!N){_=A+1;break}}else F===-1&&(N=!1,F=A+1);return F===-1?"":R.slice(_,F)},"basename"),extname:s(function(R){T(R);for(var x=-1,A=0,_=-1,F=!0,N=0,Y=R.length-1;Y>=0;--Y){var Q=R.charCodeAt(Y);if(Q!==47)_===-1&&(F=!1,_=Y+1),Q===46?x===-1?x=Y:N!==1&&(N=1):x!==-1&&(N=-1);else if(!F){A=Y+1;break}}return x===-1||_===-1||N===0||N===1&&x===_-1&&x===A+1?"":R.slice(x,_)},"extname"),format:s(function(R){if(R===null||typeof R!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof R);return(function(x,A){var _=A.dir||A.root,F=A.base||(A.name||"")+(A.ext||"");return _?_===A.root?_+F:_+"/"+F:F})(0,R)},"format"),parse:s(function(R){T(R);var x={root:"",dir:"",base:"",ext:"",name:""};if(R.length===0)return x;var A,_=R.charCodeAt(0),F=_===47;F?(x.root="/",A=1):A=0;for(var N=-1,Y=0,Q=-1,Be=!0,ce=R.length-1,_e=0;ce>=A;--ce)if((_=R.charCodeAt(ce))!==47)Q===-1&&(Be=!1,Q=ce+1),_===46?N===-1?N=ce:_e!==1&&(_e=1):N!==-1&&(_e=-1);else if(!Be){Y=ce+1;break}return N===-1||Q===-1||_e===0||_e===1&&N===Q-1&&N===Y+1?Q!==-1&&(x.base=x.name=Y===0&&F?R.slice(1,Q):R.slice(Y,Q)):(Y===0&&F?(x.name=R.slice(1,N),x.base=R.slice(1,Q)):(x.name=R.slice(Y,N),x.base=R.slice(Y,Q)),x.ext=R.slice(N,Q)),Y>0?x.dir=R.slice(0,Y-1):F&&(x.dir="/"),x},"parse"),sep:"/",delimiter:":",win32:null,posix:null};O.posix=O,C.exports=O}},e={};function r(C){var T=e[C];if(T!==void 0)return T.exports;var L=e[C]={exports:{}};return t[C](L,L.exports,r),L.exports}s(r,"r"),r.d=(C,T)=>{for(var L in T)r.o(T,L)&&!r.o(C,L)&&Object.defineProperty(C,L,{enumerable:!0,get:T[L]})},r.o=(C,T)=>Object.prototype.hasOwnProperty.call(C,T),r.r=C=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:s(()=>h,"URI"),Utils:s(()=>Vt,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(C,T){if(!C.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${C.authority}", path: "${C.path}", query: "${C.query}", fragment: "${C.fragment}"}`);if(C.scheme&&!a.test(C.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(C.path){if(C.authority){if(!o.test(C.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(C.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}s(u,"a");let c="",d="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static{s(this,"l")}static isUri(T){return T instanceof h||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,L,O,R,x,A=!1){typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=(function(_,F){return _||F?_:"file"})(T,A),this.authority=L||c,this.path=(function(_,F){switch(_){case"https":case"http":case"file":F?F[0]!==d&&(F=d+F):F=d}return F})(this.scheme,O||c),this.query=R||c,this.fragment=x||c,u(this,A))}get fsPath(){return P(this,!1)}with(T){if(!T)return this;let{scheme:L,authority:O,path:R,query:x,fragment:A}=T;return L===void 0?L=this.scheme:L===null&&(L=c),O===void 0?O=this.authority:O===null&&(O=c),R===void 0?R=this.path:R===null&&(R=c),x===void 0?x=this.query:x===null&&(x=c),A===void 0?A=this.fragment:A===null&&(A=c),L===this.scheme&&O===this.authority&&R===this.path&&x===this.query&&A===this.fragment?this:new k(L,O,R,x,A)}static parse(T,L=!1){let O=m.exec(T);return O?new k(O[2]||c,he(O[4]||c),he(O[5]||c),he(O[7]||c),he(O[9]||c),L):new k(c,c,c,c,c)}static file(T){let L=c;if(i&&(T=T.replace(/\\/g,d)),T[0]===d&&T[1]===d){let O=T.indexOf(d,2);O===-1?(L=T.substring(2),T=d):(L=T.substring(2,O),T=T.substring(O)||d)}return new k("file",L,T,c,c)}static from(T){let L=new k(T.scheme,T.authority,T.path,T.query,T.fragment);return u(L,!0),L}toString(T=!1){return E(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof h)return T;{let L=new k(T);return L._formatted=T.external,L._fsPath=T._sep===y?T.fsPath:null,L}}return T}}let y=i?1:void 0;class k extends h{static{s(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=P(this,!1)),this._fsPath}toString(T=!1){return T?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=y),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}let 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 q(C,T,L){let O,R=-1;for(let x=0;x<C.length;x++){let A=C.charCodeAt(x);if(A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===45||A===46||A===95||A===126||T&&A===47||L&&A===91||L&&A===93||L&&A===58)R!==-1&&(O+=encodeURIComponent(C.substring(R,x)),R=-1),O!==void 0&&(O+=C.charAt(x));else{O===void 0&&(O=C.substr(0,x));let _=w[A];_!==void 0?(R!==-1&&(O+=encodeURIComponent(C.substring(R,x)),R=-1),O+=_):R===-1&&(R=x)}}return R!==-1&&(O+=encodeURIComponent(C.substring(R))),O!==void 0?O:C}s(q,"m");function M(C){let T;for(let L=0;L<C.length;L++){let O=C.charCodeAt(L);O===35||O===63?(T===void 0&&(T=C.substr(0,L)),T+=w[O]):T!==void 0&&(T+=C[L])}return T!==void 0?T:C}s(M,"y");function P(C,T){let L;return L=C.authority&&C.path.length>1&&C.scheme==="file"?`//${C.authority}${C.path}`:C.path.charCodeAt(0)===47&&(C.path.charCodeAt(1)>=65&&C.path.charCodeAt(1)<=90||C.path.charCodeAt(1)>=97&&C.path.charCodeAt(1)<=122)&&C.path.charCodeAt(2)===58?T?C.path.substr(1):C.path[1].toLowerCase()+C.path.substr(2):C.path,i&&(L=L.replace(/\//g,"\\")),L}s(P,"v");function E(C,T){let L=T?M:q,O="",{scheme:R,authority:x,path:A,query:_,fragment:F}=C;if(R&&(O+=R,O+=":"),(x||R==="file")&&(O+=d,O+=d),x){let N=x.indexOf("@");if(N!==-1){let Y=x.substr(0,N);x=x.substr(N+1),N=Y.lastIndexOf(":"),N===-1?O+=L(Y,!1,!1):(O+=L(Y.substr(0,N),!1,!1),O+=":",O+=L(Y.substr(N+1),!1,!0)),O+="@"}x=x.toLowerCase(),N=x.lastIndexOf(":"),N===-1?O+=L(x,!1,!0):(O+=L(x.substr(0,N),!1,!0),O+=x.substr(N))}if(A){if(A.length>=3&&A.charCodeAt(0)===47&&A.charCodeAt(2)===58){let N=A.charCodeAt(1);N>=65&&N<=90&&(A=`/${String.fromCharCode(N+32)}:${A.substr(3)}`)}else if(A.length>=2&&A.charCodeAt(1)===58){let N=A.charCodeAt(0);N>=65&&N<=90&&(A=`${String.fromCharCode(N+32)}:${A.substr(2)}`)}O+=L(A,!0,!1)}return _&&(O+="?",O+=L(_,!1,!1)),F&&(O+="#",O+=T?F:q(F,!1,!1)),O}s(E,"b");function H(C){try{return decodeURIComponent(C)}catch{return C.length>3?C.substr(0,3)+H(C.substr(3)):C}}s(H,"C");let U=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function he(C){return C.match(U)?C.replace(U,(T=>H(T))):C}s(he,"w");var mr=r(975);let Xe=mr.posix||mr,tr="/";var Vt;(function(C){C.joinPath=function(T,...L){return T.with({path:Xe.join(T.path,...L)})},C.resolvePath=function(T,...L){let O=T.path,R=!1;O[0]!==tr&&(O=tr+O,R=!0);let x=Xe.resolve(O,...L);return R&&x[0]===tr&&!T.authority&&(x=x.substring(1)),T.with({path:x})},C.dirname=function(T){if(T.path.length===0||T.path===tr)return T;let L=Xe.dirname(T.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),T.with({path:L})},C.basename=function(T){return Xe.basename(T.path)},C.extname=function(T){return Xe.extname(T.path)}})(Vt||(Vt={})),Ey=n})();var{URI:tt,Utils:Rs}=Ey;var je;(function(t){t.basename=Rs.basename,t.dirname=Rs.dirname,t.extname=Rs.extname,t.joinPath=Rs.joinPath,t.resolvePath=Rs.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(o,l){return o?.toString()===l?.toString()}s(r,"equals"),t.equals=r;function n(o,l){let u=typeof o=="string"?tt.parse(o).path:o.path,c=typeof l=="string"?tt.parse(l).path:l.path,d=u.split("/").filter(w=>w.length>0),m=c.split("/").filter(w=>w.length>0);if(e){let w=/^[A-Z]:$/;if(d[0]&&w.test(d[0])&&(d[0]=d[0].toLowerCase()),m[0]&&w.test(m[0])&&(m[0]=m[0].toLowerCase()),d[0]!==m[0])return c.substring(1)}let h=0;for(;h<d.length&&d[h]===m[h];h++);let y="../".repeat(d.length-h),k=m.slice(h).join("/");return y+k}s(n,"relative"),t.relative=n;function i(o){return tt.parse(o.toString()).toString()}s(i,"normalize"),t.normalize=i;function a(o,l){let u=typeof o=="string"?o:o.path,c=typeof l=="string"?l:l.path;return c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),u.charAt(u.length-1)==="/"&&(u=u.slice(0,-1)),c===u?!0:c.length<u.length||c.charAt(u.length)!=="/"?!1:c.startsWith(u)}s(a,"contains"),t.contains=a})(je||(je={}));var $s=class{static{s(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return je.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:je.joinPath(tt.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:je.joinPath(tt.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(je.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let o=i.children.get(a);if(!o)if(r)o={name:a,children:new Map,parent:i},i.children.set(a,o);else return;i=o}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ee;(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"})(ee||(ee={}));var Qa=class{static{s(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=W.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??tt.parse(e.uri),W.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return W.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:ee.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:ee.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let o=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:o})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=ee.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=Ts.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},eo=class{static{s(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new $s,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return re(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ee.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ee.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ee.Changed;return this.documentTrie.delete(r),n}};var di=Symbol("RefResolving"),to=class{static{s(this,"DefaultLinker")}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,r=W.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Ct(e.parseResult.value))await De(r),ln(i).forEach(a=>{let o=`${i.$type}:${a.property}`;n.startSubTask(o);try{this.doLink(a,e)}finally{n.stopSubTask(o)}})}finally{n.stop()}}else for(let n of Ct(e.parseResult.value))await De(r),ln(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=di;try{let i=this.getCandidate(e);if(Ln(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=di;try{let i=this.getCandidates(e),a=[];if(Ln(i))n._linkingError=i;else for(let o of i){let l=this.loadAstNode(o);l&&a.push({ref:l,$nodeDescription:o})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,o={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Le(this._ref))return this._ref;if(Nc(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=di;let l=Ii(e).$document,u=a.getLinkedNode({reference:o,container:e,property:r});if(u.error&&l&&l.state<ee.ComputedScopes)return this._ref=void 0;this._ref=u.node??u.error,this._nodeDescription=u.descr,l?.references.push(this)}else this._ref===di&&a.throwCyclicReferenceError(e,r,i);return Le(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ln(this._ref)?this._ref:void 0}};return o}buildMultiReference(e,r,n,i){let a=this,o={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=di;let l=Ii(e).$document,u=a.getCandidates({reference:o,container:e,property:r}),c=[];if(Ln(u))this._linkingError=u;else for(let d of u){let m=a.loadAstNode(d);m&&c.push({ref:m,$nodeDescription:d})}this._items=c,l?.references.push(this)}else this._items===di&&a.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=a.createLinkingError({reference:o,container:e,property:r})}};return o}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(Ln(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=Ii(e.container).$document;n&&n.state<ee.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function Ay(t){return typeof t.name=="string"}s(Ay,"isNamed");var ro=class{static{s(this,"DefaultNameProvider")}getName(e){if(Ay(e))return e.name}getNameNode(e){return ga(e.$cstNode,"name")}};var no=class{static{s(this,"DefaultReferences")}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=Ct(e.Grammar).some(r=>ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=gf(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(Qe(i)||Ut(i))return Vo(i);if(Array.isArray(i)){for(let a of i)if((Qe(a)||Ut(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return Vo(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Zc(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of ln(n))if(Ut(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>je.equals(a.sourceUri,r.documentUri))),n.push(...i),re(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let o=gt(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:o.uri,sourcePath:l,targetUri:o.uri,targetPath:l,segment:Hn(a),local:!0})}}return n}};var Tt=class{static{s(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Ni.sum(re(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?re(r):on}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return re(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return re(this.map.keys())}values(){return re(this.map.values()).flat()}entriesGroupedByKey(){return re(this.map.entries())}},pi=class{static{s(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var io=class{static{s(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=W.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Qs,i=W.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let o of n(e))await De(i),this.addExportedSymbol(o,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=W.CancellationToken.None){let n=e.parseResult.value,i=new Tt;for(let a of ar(n))await De(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}};var xs=class{static{s(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},hp=class{static{s(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?re(i).concat(this.outerScope.getElements(e)):re(i)}getAllElements(){let e=re(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},so=class{static{s(this,"MultiMapScope")}constructor(e,r,n){this.elements=new Tt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?re(n).concat(this.outerScope.getElements(e)):re(n)}getAllElements(){let e=re(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},xA={getElement(){},getElements(){return on},getAllElements(){return on}};var vs=class{static{s(this,"DisposableCache")}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")}},ao=class extends vs{static{s(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},mi=class extends vs{static{s(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},vu=class extends mi{static{s(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let o of a)this.clear(o)}))}},Es=class extends ao{static{s(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var oo=class{static{s(this,"DefaultScopeProvider")}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 Es(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=gt(e.container).localSymbols;if(i){let o=e.container;do i.has(o)&&r.push(i.getStream(o).filter(l=>this.reflection.isSubtype(l.type,n))),o=o.$container;while(o)}let a=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)a=this.createScope(r[o],a);return a}createScope(e,r,n){return new xs(re(e),r,n)}createScopeForNodes(e,r,n){let i=re(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new xs(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new so(this.indexManager.allElements(e)))}};function gp(t){return typeof t.$comment=="string"}s(gp,"isAstNodeWithComment");function Cy(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}s(Cy,"isIntermediateReference");var lo=class{static{s(this,"DefaultJsonSerializer")}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,r){let n=r??{},i=r?.replacer,a=s((l,u)=>this.replacer(l,u,n),"defaultReplacer"),o=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=gt(e),JSON.stringify(e,o,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:o,uriConverter:l}){if(!this.ignoreProperties.has(e))if(Qe(r)){let u=r.ref,c=n?r.$refText:void 0;if(u){let d=gt(u),m="";this.currentDocument&&this.currentDocument!==d&&(l?m=l(d.uri,u):m=d.uri.toString());let h=this.astNodeLocator.getAstNodePath(u);return{$ref:`${m}#${h}`,$refText:c}}else return{$error:r.error?.message??"Could not resolve reference",$refText:c}}else if(Ut(r)){let u=n?r.$refText:void 0,c=[];for(let d of r.items){let m=d.ref,h=gt(d.ref),y="";this.currentDocument&&this.currentDocument!==h&&(l?y=l(h.uri,m):y=h.uri.toString());let k=this.astNodeLocator.getAstNodePath(m);c.push(`${y}#${k}`)}return{$refs:c,$refText:u}}else if(Le(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),o){u??(u={...r});let c=this.commentProvider.getComment(r);c&&(u.$comment=c.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=s(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=df(e.$cstNode,a).map(r);o.length!==0&&(i[a]=o)}),e}}linkNode(e,r,n,i,a,o){for(let[u,c]of Object.entries(e))if(Array.isArray(c))for(let d=0;d<c.length;d++){let m=c[d];Cy(m)?c[d]=this.reviveReference(e,u,r,m,n):Le(m)&&this.linkNode(m,r,n,e,u,d)}else Cy(c)?e[u]=this.reviveReference(e,u,r,c,n):Le(c)&&this.linkNode(c,r,n,e,u);let l=e;l.$container=i,l.$containerProperty=a,l.$containerIndex=o}reviveReference(e,r,n,i,a){let o=i.$refText,l=i.$error,u;if(i.$ref){let c=this.getRefNode(n,i.$ref,a.uriConverter);if(Le(c))return o||(o=this.nameProvider.getName(c)),{$refText:o??"",ref:c};l=c}else if(i.$refs){let c=[];for(let d of i.$refs){let m=this.getRefNode(n,d,a.uriConverter);Le(m)&&c.push({ref:m})}if(c.length===0)u={$refText:o??"",items:c},l??(l="Could not resolve multi-reference");else return{$refText:o??"",items:c}}if(l)return u??(u={$refText:o??"",ref:void 0}),u.error={info:{container:e,property:r,reference:u},message:l},u}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let u=this.astNodeLocator.getAstNode(e,r.substring(1));return u||"Could not resolve path: "+r}if(i<0){let u=n?n(r):tt.parse(r),c=this.langiumDocuments.getDocument(u);return c?c.parseResult.value:"Could not find document for URI: "+r}let a=n?n(r.substring(0,i)):tt.parse(r.substring(0,i)),o=this.langiumDocuments.getDocument(a);if(!o)return"Could not find document for URI: "+r;if(i===r.length-1)return o.parseResult.value;let l=this.astNodeLocator.getAstNode(o.parseResult.value,r.substring(i+1));return l||"Could not resolve URI: "+r}catch(i){return String(i)}}};var uo=class{static{s(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let o=this.languageIdMap.get(r);if(o)return o}let n=je.extname(e),i=je.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function hi(t){return{code:t}}s(hi,"diagnosticData");var Eu;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Eu||(Eu={}));var co=class{static{s(this,"ValidationRegistry")}constructor(e){this.entries=new Tt,this.knownCategories=new Set(Eu.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let o=a;if(Array.isArray(o))for(let l of o){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof o=="function"){let l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else vr(o)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Nr(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let o=a instanceof Error?a.message:String(a);n("error",`${r}: ${o}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=re(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,o,l)=>{await this.handleException(()=>e.call(n,i,a,o,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var Sy=Object.freeze({validateNode:!0,validateChildren:!0}),fo=class{static{s(this,"DefaultDocumentValidator")}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,r={},n=W.CancellationToken.None){let i=e.parseResult,a=[];if(await De(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(o=>o.data?.code===Xt.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(o=>o.data?.code===Xt.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(o=>o.data?.code===Xt.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(o){if(Nr(o))throw o;console.error("An error occurred during validation:",o)}return await De(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let o=a.severity??"error",l={severity:Au(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:Ny(o),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};a={start:l,end:l}}}}else a=Gi(i.token);if(a){let o={severity:Au("error"),range:a,message:i.message,data:hi(Xt.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let o={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Xt.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,r,n=W.CancellationToken.None){let i=[],a=s((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=W.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let o of a)await De(i),await o(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=W.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let o=Ct(e).iterator();for(let l of o){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let c=this.validationRegistry.getChecks(l.$type,r.categories);for(let d of c)await d(l,n,i)}finally{a.stopSubTask(l.$type)}u.validateChildren||o.prune()}}finally{a.stop()}}else{let a=Ct(e).iterator();for(let o of a){await De(i);let l=this.validateSingleNodeOptions(o,r);if(l.validateNode){let u=this.validationRegistry.getChecks(o.$type,r.categories);for(let c of u)await c(o,n,i)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return Sy}async validateAstAfter(e,r,n,i=W.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let o of a)await De(i),await o(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:ky(n),severity:Au(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function ky(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=ga(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=mf(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}}}s(ky,"getDiagnosticRange");function Au(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)}}s(Au,"toDiagnosticSeverity");function Ny(t){switch(t){case"error":return hi(Xt.LexingError);case"warning":return hi(Xt.LexingWarning);case"info":return hi(Xt.LexingInfo);case"hint":return hi(Xt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}s(Ny,"toDiagnosticData");var Xt;(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"})(Xt||(Xt={}));var po=class{static{s(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??gt(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let o,l=s(()=>o??(o=Hn(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:Hn(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},mo=class{static{s(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=W.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Ct(i))await De(r),ln(a).forEach(o=>{o.reference.error||n.push(...this.createInfoDescriptions(o))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];Qe(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Ut(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=gt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),o=[],l=Hn(r.$refNode);for(let u of n)o.push({sourceUri:i,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:je.equals(u.documentUri,i)});return o}};var ho=class{static{s(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let o=a.indexOf(this.indexSeparator);if(o>0){let l=a.substring(0,o),u=parseInt(a.substring(o+1));return i[l]?.[u]}return i[a]},e)}};var Se={};ae(Se,Ac(fi(),1));var go=class{static{s(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new It,this.onConfigurationSectionUpdateEmitter=new Se.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Gs=Ac(J$(),1);var bn;(function(t){function e(r){return{dispose:s(async()=>await r(),"dispose")}}s(e,"create"),t.create=e})(bn||(bn={}));var So=class{static{s(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Tt,this.documentPhaseListeners=new Tt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ee.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,r={},n=W.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===ee.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ee.IndexedReferences);else if(typeof r.validation=="object"){let o=this.findMissingValidationCategories(i,r);o.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:o}},result:this.buildState.get(a)?.result}),i.state=ee.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=ee.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=W.CancellationToken.None){this.currentState=ee.Changed;let i=[];for(let u of r){let c=this.langiumDocuments.deleteDocuments(u);for(let d of c)i.push(d.uri),this.cleanUpDeleted(d)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let c=this.langiumDocuments.getDocument(u);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),c.state=ee.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,ee.Changed)}let o=re(a).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!o.has(u.uri.toString())&&this.shouldRelink(u,o)).forEach(u=>this.resetToState(u,ee.ComputedScopes)),await this.emitUpdate(a,i),await De(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state<ee.Validated||!this.buildState.get(u.uri.toString())?.completed||this.resultsAreIncomplete(u,this.updateBuildOptions)).toArray());await this.buildDocuments(l,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,o=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return re(o).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),bn.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ee.Changed:case ee.Parsed:this.indexManager.removeContent(e.uri);case ee.IndexedContent:e.localSymbols=void 0;case ee.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ee.Linked:this.indexManager.removeReferences(e.uri);case ee.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ee.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ee.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ee.Parsed,n,o=>this.langiumDocumentFactory.update(o,n)),await this.runCancelable(e,ee.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,ee.ComputedScopes,n,async o=>{let l=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.localSymbols=await l.collectLocalSymbols(o,n)});let i=e.filter(o=>this.shouldLink(o));await this.runCancelable(i,ee.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(i,ee.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let a=e.filter(o=>this.shouldValidate(o)?!0:(this.markAsCompleted(o),!1));await this.runCancelable(a,ee.Validated,n,async o=>{await this.validate(o,n),this.markAsCompleted(o)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let o of e)o.state<r&&(await De(n),await i(o),o.state=r,await this.notifyDocumentPhase(o,r,n));let a=e.filter(o=>o.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),bn.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),bn.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=W.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Yt);if(this.currentState>=e&&e>i.state)return Promise.reject(new Gs.ResponseError(Gs.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ee[i.state]}, requiring ${ee[e]}, but workspace state is already ${ee[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Gs.ResponseError(Gs.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,o)=>{let l=this.onDocumentPhase(e,c=>{je.equals(c.uri,r)&&(l.dispose(),u.dispose(),a(c.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(Yt)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Yt):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),o.dispose(),n()}),o=r.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Yt)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let o of a)try{await De(n),await o(e,n)}catch(l){if(!Nr(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let o of a)await De(n),await o(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let o=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=re(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var ko=class{static{s(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new mi,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=gt(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{je.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),re(i)}allElements(e,r){let n=re(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=W.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=W.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var No=class{static{s(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new It,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(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=W.CancellationToken.None){let n=await this.performStartup(e);await De(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s(o=>{r.push(o),this.langiumDocuments.hasDocument(o.uri)||this.langiumDocuments.addDocument(o)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(o=>this.getRootFolder(o)).map(async o=>this.traverseFolder(o,i)));let a=re(i).distinct(o=>o.toString()).filter(o=>!this.langiumDocuments.hasDocument(o));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return tt.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=je.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var wo=class{static{s(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Yi.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Yi.buildUnableToPopLexerModeMessage(e)}},rc={mode:"full"},Ri=class{static{s(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=Dm(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new we(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=rc){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Dm(e))return e;let r=Mm(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function nc(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}s(nc,"isTokenTypeArray");function Mm(t){return t&&"modes"in t&&"defaultMode"in t}s(Mm,"isIMultiModeLexerDefinition");function Dm(t){return!nc(t)&&!Mm(t)}s(Dm,"isTokenTypeDictionary");ds();function Um(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=le.create(0,0));let a=ex(t),o=qm(n),l=uC({lines:a,position:i,options:o});return mC({index:0,tokens:l,position:i})}s(Um,"parseJSDoc");function zm(t,e){let r=qm(e),n=ex(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(i)&&!!l?.exec(a)}s(zm,"isJSDoc");function ex(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(sf)}s(ex,"getLines");var Z$=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,lC=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function uC(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let a=i===0,o=i===t.lines.length-1,l=t.lines[i],u=0;if(a&&t.options.start){let d=t.options.start?.exec(l);d&&(u=d.index+d[0].length)}else{let d=t.options.line?.exec(l);d&&(u=d.index+d[0].length)}if(o){let d=t.options.end?.exec(l);d&&(l=l.substring(0,d.index))}if(l=l.substring(0,pC(l)),Gm(l,u)>=l.length){if(e.length>0){let d=le.create(r,n);e.push({type:"break",content:"",range:ie.create(d,d)})}}else{Z$.lastIndex=u;let d=Z$.exec(l);if(d){let m=d[0],h=d[1],y=le.create(r,n+u),k=le.create(r,n+u+m.length);e.push({type:"tag",content:h,range:ie.create(y,k)}),u+=m.length,u=Gm(l,u)}if(u<l.length){let m=l.substring(u),h=Array.from(m.matchAll(lC));e.push(...cC(h,m,r,n+u))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}s(uC,"tokenize");function cC(t,e,r,n){let i=[];if(t.length===0){let a=le.create(r,n),o=le.create(r,n+e.length);i.push({type:"text",content:e,range:ie.create(a,o)})}else{let a=0;for(let l of t){let u=l.index,c=e.substring(a,u);c.length>0&&i.push({type:"text",content:e.substring(a,u),range:ie.create(le.create(r,a+n),le.create(r,u+n))});let d=c.length+1,m=l[1];if(i.push({type:"inline-tag",content:m,range:ie.create(le.create(r,a+d+n),le.create(r,a+d+m.length+n))}),d+=m.length,l.length===4){d+=l[2].length;let h=l[3];i.push({type:"text",content:h,range:ie.create(le.create(r,a+d+n),le.create(r,a+d+h.length+n))})}else i.push({type:"text",content:"",range:ie.create(le.create(r,a+d+n),le.create(r,a+d+n))});a=u+l[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:ie.create(le.create(r,a+n),le.create(r,a+n+o.length))})}return i}s(cC,"buildInlineTokens");var fC=/\S/,dC=/\s*$/;function Gm(t,e){let r=t.substring(e).match(fC);return r?e+r.index:t.length}s(Gm,"skipWhitespace");function pC(t){let e=t.match(dC);if(e&&typeof e.index=="number")return e.index}s(pC,"lastCharacter");function mC(t){let e=le.create(t.position.line,t.position.character);if(t.tokens.length===0)return new ic([],ie.create(e,e));let r=[];for(;t.index<t.tokens.length;){let a=hC(t,r[r.length-1]);a&&r.push(a)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new ic(r,ie.create(n,i))}s(mC,"parseJSDocComment");function hC(t,e){let r=t.tokens[t.index];if(r.type==="tag")return rx(t,!1);if(r.type==="text"||r.type==="inline-tag")return tx(t);gC(r,e),t.index++}s(hC,"parseJSDocElement");function gC(t,e){if(e){let r=new sc("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}s(gC,"appendEmptyLine");function tx(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(yC(t)),n=e,e=t.tokens[t.index];return new bo(i,ie.create(r.range.start,n.range.end))}s(tx,"parseJSDocText");function yC(t){return t.tokens[t.index].type==="inline-tag"?rx(t,!0):nx(t)}s(yC,"parseJSDocInline");function rx(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let a=nx(t);return new Io(n,new bo([a],a.range),e,ie.create(r.range.start,a.range.end))}else{let a=tx(t);return new Io(n,a,e,ie.create(r.range.start,a.range.end))}else{let a=r.range;return new Io(n,new bo([],a),e,a)}}s(rx,"parseJSDocTag");function nx(t){let e=t.tokens[t.index++];return new sc(e.content,e.range)}s(nx,"parseJSDocLine");function qm(t){if(!t)return qm({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:Fm(e,!0),end:Fm(r,!1),line:Fm(n,!0)}}s(qm,"normalizeOptions");function Fm(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?gn(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}s(Fm,"normalizeOption");var ic=class{static{s(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Q$(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Q$(r)+i}return r.trim()}},Io=class{static{s(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=TC(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
${r}`),this.inline?`{${i}}`:i}};function TC(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let o=Gm(e,n);i=e.substring(o),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??RC(e,i)}}s(TC,"renderInlineTag");function RC(t,e){try{return tt.parse(t,!0),`[${e}](${t})`}catch{return t}}s(RC,"renderLinkDefault");var bo=class{static{s(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],a=this.inlines[n+1];r+=i.toMarkdown(e),a&&a.range.start.line>i.range.start.line&&(r+=`
`)}return r}},sc=class{static{s(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function Q$(t){return t.endsWith(`
`)?`
`:`
`}s(Q$,"fillNewlines");var _o=class{static{s(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&zm(r))return Um(r).toMarkdown({renderLink:s((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:s(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,o=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${a},${o}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=gt(e).localSymbols;if(!i)return;let a=e;do{let l=i.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var Po=class{static{s(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return gp(e)?e.$comment:Qc(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var Oo=class{static{s(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},jm=class{static{s(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new It,a,o=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new It;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Yt)}),this.queue.push(r),r.promise}},Bm=class{static{s(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Se.Emitter,this.deferred=new It,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Yt),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new It,this.sendMessage(e),this.deferred.promise}};var Lo=class{static{s(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new W.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=$u();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=W.CancellationToken.None){let i=new It,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let 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:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Nr(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var Do=class{static{s(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new pi,this.tokenTypeIdMap=new pi,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(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Ct(e))r.set(i,{});if(e.$cstNode)for(let i of Vn(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)Le(l)?o.push(this.dehydrateAstNode(l,r)):Qe(l)?o.push(this.dehydrateReference(l,r)):o.push(l)}else Le(a)?n[i]=this.dehydrateAstNode(a,r):Qe(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Zs(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),sr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):an(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Ct(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Vn(e.$cstNode)){let o;"fullText"in a?(o=new ps(a.fullText),i=o):"content"in a?o=new li:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(n.set(a,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)Le(l)?o.push(this.setParent(this.hydrateAstNode(l,r),n)):Qe(l)?o.push(this.hydrateReference(l,n,i,r)):o.push(l)}else Le(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):Qe(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),sr(i))for(let a of e.content){let o=this.hydrateCstNode(a,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,c=e.hidden;return new oi(n,i,{start:{line:a,character:o},end:{line:l,character:u}},r,c)}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(let r of Ct(this.grammar))la(r)&&this.grammarElementIdMap.set(r,e++)}};function Wm(t){return{documentation:{CommentProvider:s(e=>new Po(e),"CommentProvider"),DocumentationProvider:s(e=>new _o(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new Oo(e),"AsyncParser"),GrammarConfig:s(e=>Rf(e),"GrammarConfig"),LangiumParser:s(e=>ap(e),"LangiumParser"),CompletionParser:s(e=>sp(e),"CompletionParser"),ValueConverter:s(()=>new ci,"ValueConverter"),TokenBuilder:s(()=>new Zr,"TokenBuilder"),Lexer:s(e=>new Ri(e),"Lexer"),ParserErrorMessageProvider:s(()=>new ms,"ParserErrorMessageProvider"),LexerErrorMessageProvider:s(()=>new wo,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new ho,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new po(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new mo(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new to(e),"Linker"),NameProvider:s(()=>new ro,"NameProvider"),ScopeProvider:s(e=>new oo(e),"ScopeProvider"),ScopeComputation:s(e=>new io(e),"ScopeComputation"),References:s(e=>new no(e),"References")},serializer:{Hydrator:s(e=>new Do(e),"Hydrator"),JsonSerializer:s(e=>new lo(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new fo(e),"DocumentValidator"),ValidationRegistry:s(e=>new co(e),"ValidationRegistry")},shared:s(()=>t.shared,"shared")}}s(Wm,"createDefaultCoreModule");function Km(t){return{ServiceRegistry:s(e=>new uo(e),"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new eo(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new Qa(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new So(e),"DocumentBuilder"),IndexManager:s(e=>new ko(e),"IndexManager"),WorkspaceManager:s(e=>new No(e),"WorkspaceManager"),FileSystemProvider:s(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new Lo,"WorkspaceLock"),ConfigurationProvider:s(e=>new go(e),"ConfigurationProvider")},profilers:{}}}s(Km,"createDefaultSharedCoreModule");var Vm;(function(t){t.merge=(e,r)=>Mo(Mo({},e),r)})(Vm||(Vm={}));function ac(t,e,r,n,i,a,o,l,u){let c=[t,e,r,n,i,a,o,l,u].reduce(Mo,{});return lx(c)}s(ac,"inject");var ax=Symbol("isProxy");function ox(t){if(t&&t[ax])for(let e of Object.values(t))ox(e);return t}s(ox,"eagerLoad");function lx(t,e){let r=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),set:s(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:s((n,i)=>i===ax?!0:sx(n,i,t,e||r),"get"),getOwnPropertyDescriptor:s((n,i)=>(sx(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:s((n,i)=>i in t,"has"),ownKeys:s(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}s(lx,"_inject");var ix=Symbol();function sx(t,e,r,n){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]===ix)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 r){let i=r[e];t[e]=ix;try{t[e]=typeof i=="function"?i(n):lx(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}s(sx,"_resolve");function Mo(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=Mo(i,n):t[r]=Mo({},n)}else t[r]=n}return t}s(Mo,"_merge");var Hm={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},$i;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})($i||($i={}));var oc=class extends Zr{static{s(this,"IndentationAwareTokenBuilder")}constructor(e=Hm){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Hm,...e},this.indentTokenType=Tn({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Tn({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!nc(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:o,ignoreIndentationDelimiters:l}=this.options,u,c,d,m=[];for(let h of n){for(let[y,k]of l)h.name===y?h.PUSH_MODE=$i.IGNORE_INDENTATION:h.name===k&&(h.POP_MODE=!0);h.name===a?u=h:h.name===i?c=h:h.name===o?d=h:m.push(h)}if(!u||!c||!d)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[$i.REGULAR]:[u,c,...m,d],[$i.IGNORE_INDENTATION]:[...m,d]},defaultMode:$i.REGULAR}:[u,c,d,...m]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Hr(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);return a<=o?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);if(a>=o)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let c=this.indentationStack.length-u-1,d=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let m=0;m<c;m++){let h=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(d-1));n.push(h),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:a}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===a?Tn({name:a,pattern:this.whitespaceRegExp,group:we.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},Ym=class extends Ri{static{s(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof oc)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=rc){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:o}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=o.tokenTypeIdx,c=[],d=n.tokens.length-1;for(let m=0;m<d;m++){let h=n.tokens[m],y=n.tokens[m+1];if(h.tokenTypeIdx===l&&y.tokenTypeIdx===u){m++;continue}c.push(h)}return d>=0&&c.push(n.tokens[d]),n.tokens=c,n}};var ue={};nn(ue,{AstUtils:()=>Ho,BiMap:()=>pi,Cancellation:()=>W,ContextCache:()=>mi,CstUtils:()=>ml,DONE_RESULT:()=>ht,Deferred:()=>It,Disposable:()=>bn,DisposableCache:()=>vs,DocumentCache:()=>vu,EMPTY_STREAM:()=>on,ErrorWithLocation:()=>Yn,GrammarUtils:()=>$l,MultiMap:()=>Tt,OperationCancelled:()=>Yt,Reduction:()=>Ni,RegExpUtils:()=>yl,SimpleCache:()=>ao,StreamImpl:()=>zt,TreeStreamImpl:()=>Rr,URI:()=>tt,UriTrie:()=>$s,UriUtils:()=>je,WorkspaceCache:()=>Es,assertCondition:()=>bh,assertUnreachable:()=>vr,delayNextTick:()=>pp,interruptAndCheck:()=>De,isOperationCancelled:()=>Nr,loadGrammarFromJson:()=>Qt,setInterruptionPeriod:()=>Ry,startCancelableOperation:()=>$u,stream:()=>re});ae(ue,Se);var lc=class{static{s(this,"EmptyFileSystemProvider")}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[]}},Xm={fileSystemProvider:s(()=>new lc,"fileSystemProvider")};var $C={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},xC={AstReflection:s(()=>new Fi,"AstReflection")};function vC(){let t=ac(Km(Xm),xC),e=ac(Wm({shared:t}),$C);return t.ServiceRegistry.register(e),e}s(vC,"createMinimalGrammarServices");function Qt(t){let e=vC(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,tt.parse(`memory:/${r.name??"grammar"}.langium`)),r}s(Qt,"loadGrammarFromJson");ae(Ue,ue);var Jm=class{static{s(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Tt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new uc(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let o of r.entries.keys()){let l=r.entries.get(o),u=l.reduce((c,d)=>c+d);n.push({name:`${r.identifier}.${o}`,count:l.length,duration:u})}let i=r.duration-n.map(o=>o.duration).reduce((o,l)=>o+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((o,l)=>l.duration-o.duration);function a(o){return Math.round(100*o)/100}return s(a,"Round"),console.table(n.map(o=>({Element:o.name,Count:o.count,"Self %":a(100*o.duration/r.duration),"Time (ms)":a(o.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},uc=class{static{s(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new Tt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var EC=Object.defineProperty,X=s((t,e)=>EC(t,"name",{value:e,configurable:!0}),"__name"),uh;(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 ]+)\]/}})(uh||(uh={}));var ch;(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])?/}})(ch||(ch={}));var fh;(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]*/}})(fh||(fh={}));var dh;(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]*/}})(dh||(dh={}));var ph;(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]*/}})(ph||(ph={}));var mh;(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]*/}})(mh||(mh={}));var hh;(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:/"[^"]*"|'[^']*'/}})(hh||(hh={}));var gh;(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]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(gh||(gh={}));var yh;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,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:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,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]*/}})(yh||(yh={}));var u0={...uh.Terminals,...ch.Terminals,...fh.Terminals,...dh.Terminals,...ph.Terminals,...mh.Terminals,...gh.Terminals,...hh.Terminals,...yh.Terminals},cc={$type:"Accelerator",name:"name",x:"x",y:"y"},fc={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Fo={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Zm={$type:"Annotations",x:"x",y:"y"},en={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function AC(t){return er.isInstance(t,en.$type)}s(AC,"isArchitecture");X(AC,"isArchitecture");var dc={$type:"Axis",label:"label",name:"name"},$c={$type:"Branch",name:"name",order:"order"};function CC(t){return er.isInstance(t,$c.$type)}s(CC,"isBranch");X(CC,"isBranch");var ux={$type:"Checkout",branch:"branch"},pc={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Qm={$type:"ClassDefStatement",className:"className",styleText:"styleText"},js={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function SC(t){return er.isInstance(t,js.$type)}s(SC,"isCommit");X(SC,"isCommit");var xi={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},mc={$type:"Curve",entries:"entries",label:"label",name:"name"},hc={$type:"Deaccelerator",name:"name",x:"x",y:"y"},cx={$type:"Decorator",strategy:"strategy"},Us={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Pr={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},eh={$type:"Entry",axis:"axis",value:"value"},fx={$type:"Evolution",stages:"stages"},gc={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},th={$type:"Evolve",component:"component",target:"target"},Ai={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function kC(t){return er.isInstance(t,Ai.$type)}s(kC,"isGitGraph");X(kC,"isGitGraph");var Go={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},jo={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function NC(t){return er.isInstance(t,jo.$type)}s(NC,"isInfo");X(NC,"isInfo");var Uo={$type:"Item",classSelector:"classSelector",name:"name"},rh={$type:"Junction",id:"id",in:"in"},zo={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},yc={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},vi={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},Bs={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function wC(t){return er.isInstance(t,Bs.$type)}s(wC,"isMerge");X(wC,"isMerge");var Tc={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},nh={$type:"Option",name:"name",value:"value"},Ws={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function IC(t){return er.isInstance(t,Ws.$type)}s(IC,"isPacket");X(IC,"isPacket");var Ks={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function bC(t){return er.isInstance(t,Ks.$type)}s(bC,"isPacketBlock");X(bC,"isPacketBlock");var Ci={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function _C(t){return er.isInstance(t,Ci.$type)}s(_C,"isPie");X(_C,"isPie");var xc={$type:"PieSection",label:"label",value:"value"};function PC(t){return er.isInstance(t,xc.$type)}s(PC,"isPieSection");X(PC,"isPieSection");var ih={$type:"Pipeline",components:"components",parent:"parent"},Rc={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Ei={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},sh={$type:"Section",classSelector:"classSelector",name:"name"},zs={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},ah={$type:"Size",height:"height",width:"width"},qs={$type:"Statement"},Vs={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function OC(t){return er.isInstance(t,Vs.$type)}s(OC,"isTreemap");X(OC,"isTreemap");var oh={$type:"TreemapRow",indent:"indent",item:"item"},lh={$type:"TreeNode",indent:"indent",name:"name"},qo={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},ct={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function LC(t){return er.isInstance(t,ct.$type)}s(LC,"isWardley");X(LC,"isWardley");var xx=class extends On{static{s(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Accelerator:{name:cc.$type,properties:{name:{name:cc.name},x:{name:cc.x},y:{name:cc.y}},superTypes:[]},Anchor:{name:fc.$type,properties:{evolution:{name:fc.evolution},name:{name:fc.name},visibility:{name:fc.visibility}},superTypes:[]},Annotation:{name:Fo.$type,properties:{number:{name:Fo.number},text:{name:Fo.text},x:{name:Fo.x},y:{name:Fo.y}},superTypes:[]},Annotations:{name:Zm.$type,properties:{x:{name:Zm.x},y:{name:Zm.y}},superTypes:[]},Architecture:{name:en.$type,properties:{accDescr:{name:en.accDescr},accTitle:{name:en.accTitle},edges:{name:en.edges,defaultValue:[]},groups:{name:en.groups,defaultValue:[]},junctions:{name:en.junctions,defaultValue:[]},services:{name:en.services,defaultValue:[]},title:{name:en.title}},superTypes:[]},Axis:{name:dc.$type,properties:{label:{name:dc.label},name:{name:dc.name}},superTypes:[]},Branch:{name:$c.$type,properties:{name:{name:$c.name},order:{name:$c.order}},superTypes:[qs.$type]},Checkout:{name:ux.$type,properties:{branch:{name:ux.branch}},superTypes:[qs.$type]},CherryPicking:{name:pc.$type,properties:{id:{name:pc.id},parent:{name:pc.parent},tags:{name:pc.tags,defaultValue:[]}},superTypes:[qs.$type]},ClassDefStatement:{name:Qm.$type,properties:{className:{name:Qm.className},styleText:{name:Qm.styleText}},superTypes:[]},Commit:{name:js.$type,properties:{id:{name:js.id},message:{name:js.message},tags:{name:js.tags,defaultValue:[]},type:{name:js.type}},superTypes:[qs.$type]},Component:{name:xi.$type,properties:{decorator:{name:xi.decorator},evolution:{name:xi.evolution},inertia:{name:xi.inertia,defaultValue:!1},label:{name:xi.label},name:{name:xi.name},visibility:{name:xi.visibility}},superTypes:[]},Curve:{name:mc.$type,properties:{entries:{name:mc.entries,defaultValue:[]},label:{name:mc.label},name:{name:mc.name}},superTypes:[]},Deaccelerator:{name:hc.$type,properties:{name:{name:hc.name},x:{name:hc.x},y:{name:hc.y}},superTypes:[]},Decorator:{name:cx.$type,properties:{strategy:{name:cx.strategy}},superTypes:[]},Direction:{name:Us.$type,properties:{accDescr:{name:Us.accDescr},accTitle:{name:Us.accTitle},dir:{name:Us.dir},statements:{name:Us.statements,defaultValue:[]},title:{name:Us.title}},superTypes:[Ai.$type]},Edge:{name:Pr.$type,properties:{lhsDir:{name:Pr.lhsDir},lhsGroup:{name:Pr.lhsGroup,defaultValue:!1},lhsId:{name:Pr.lhsId},lhsInto:{name:Pr.lhsInto,defaultValue:!1},rhsDir:{name:Pr.rhsDir},rhsGroup:{name:Pr.rhsGroup,defaultValue:!1},rhsId:{name:Pr.rhsId},rhsInto:{name:Pr.rhsInto,defaultValue:!1},title:{name:Pr.title}},superTypes:[]},Entry:{name:eh.$type,properties:{axis:{name:eh.axis,referenceType:dc.$type},value:{name:eh.value}},superTypes:[]},Evolution:{name:fx.$type,properties:{stages:{name:fx.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:gc.$type,properties:{boundary:{name:gc.boundary},name:{name:gc.name},secondName:{name:gc.secondName}},superTypes:[]},Evolve:{name:th.$type,properties:{component:{name:th.component},target:{name:th.target}},superTypes:[]},GitGraph:{name:Ai.$type,properties:{accDescr:{name:Ai.accDescr},accTitle:{name:Ai.accTitle},statements:{name:Ai.statements,defaultValue:[]},title:{name:Ai.title}},superTypes:[]},Group:{name:Go.$type,properties:{icon:{name:Go.icon},id:{name:Go.id},in:{name:Go.in},title:{name:Go.title}},superTypes:[]},Info:{name:jo.$type,properties:{accDescr:{name:jo.accDescr},accTitle:{name:jo.accTitle},title:{name:jo.title}},superTypes:[]},Item:{name:Uo.$type,properties:{classSelector:{name:Uo.classSelector},name:{name:Uo.name}},superTypes:[]},Junction:{name:rh.$type,properties:{id:{name:rh.id},in:{name:rh.in}},superTypes:[]},Label:{name:zo.$type,properties:{negX:{name:zo.negX,defaultValue:!1},negY:{name:zo.negY,defaultValue:!1},offsetX:{name:zo.offsetX},offsetY:{name:zo.offsetY}},superTypes:[]},Leaf:{name:yc.$type,properties:{classSelector:{name:yc.classSelector},name:{name:yc.name},value:{name:yc.value}},superTypes:[Uo.$type]},Link:{name:vi.$type,properties:{arrow:{name:vi.arrow},from:{name:vi.from},fromPort:{name:vi.fromPort},linkLabel:{name:vi.linkLabel},to:{name:vi.to},toPort:{name:vi.toPort}},superTypes:[]},Merge:{name:Bs.$type,properties:{branch:{name:Bs.branch},id:{name:Bs.id},tags:{name:Bs.tags,defaultValue:[]},type:{name:Bs.type}},superTypes:[qs.$type]},Note:{name:Tc.$type,properties:{evolution:{name:Tc.evolution},text:{name:Tc.text},visibility:{name:Tc.visibility}},superTypes:[]},Option:{name:nh.$type,properties:{name:{name:nh.name},value:{name:nh.value,defaultValue:!1}},superTypes:[]},Packet:{name:Ws.$type,properties:{accDescr:{name:Ws.accDescr},accTitle:{name:Ws.accTitle},blocks:{name:Ws.blocks,defaultValue:[]},title:{name:Ws.title}},superTypes:[]},PacketBlock:{name:Ks.$type,properties:{bits:{name:Ks.bits},end:{name:Ks.end},label:{name:Ks.label},start:{name:Ks.start}},superTypes:[]},Pie:{name:Ci.$type,properties:{accDescr:{name:Ci.accDescr},accTitle:{name:Ci.accTitle},sections:{name:Ci.sections,defaultValue:[]},showData:{name:Ci.showData,defaultValue:!1},title:{name:Ci.title}},superTypes:[]},PieSection:{name:xc.$type,properties:{label:{name:xc.label},value:{name:xc.value}},superTypes:[]},Pipeline:{name:ih.$type,properties:{components:{name:ih.components,defaultValue:[]},parent:{name:ih.parent}},superTypes:[]},PipelineComponent:{name:Rc.$type,properties:{evolution:{name:Rc.evolution},label:{name:Rc.label},name:{name:Rc.name}},superTypes:[]},Radar:{name:Ei.$type,properties:{accDescr:{name:Ei.accDescr},accTitle:{name:Ei.accTitle},axes:{name:Ei.axes,defaultValue:[]},curves:{name:Ei.curves,defaultValue:[]},options:{name:Ei.options,defaultValue:[]},title:{name:Ei.title}},superTypes:[]},Section:{name:sh.$type,properties:{classSelector:{name:sh.classSelector},name:{name:sh.name}},superTypes:[Uo.$type]},Service:{name:zs.$type,properties:{icon:{name:zs.icon},iconText:{name:zs.iconText},id:{name:zs.id},in:{name:zs.in},title:{name:zs.title}},superTypes:[]},Size:{name:ah.$type,properties:{height:{name:ah.height},width:{name:ah.width}},superTypes:[]},Statement:{name:qs.$type,properties:{},superTypes:[]},TreeNode:{name:lh.$type,properties:{indent:{name:lh.indent},name:{name:lh.name}},superTypes:[]},TreeView:{name:qo.$type,properties:{accDescr:{name:qo.accDescr},accTitle:{name:qo.accTitle},nodes:{name:qo.nodes,defaultValue:[]},title:{name:qo.title}},superTypes:[]},Treemap:{name:Vs.$type,properties:{accDescr:{name:Vs.accDescr},accTitle:{name:Vs.accTitle},title:{name:Vs.title},TreemapRows:{name:Vs.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:oh.$type,properties:{indent:{name:oh.indent},item:{name:oh.item}},superTypes:[]},Wardley:{name:ct.$type,properties:{accDescr:{name:ct.accDescr},accelerators:{name:ct.accelerators,defaultValue:[]},accTitle:{name:ct.accTitle},anchors:{name:ct.anchors,defaultValue:[]},annotation:{name:ct.annotation,defaultValue:[]},annotations:{name:ct.annotations,defaultValue:[]},components:{name:ct.components,defaultValue:[]},deaccelerators:{name:ct.deaccelerators,defaultValue:[]},evolution:{name:ct.evolution},evolves:{name:ct.evolves,defaultValue:[]},links:{name:ct.links,defaultValue:[]},notes:{name:ct.notes,defaultValue:[]},pipelines:{name:ct.pipelines,defaultValue:[]},size:{name:ct.size},title:{name:ct.title}},superTypes:[]}}}static{X(this,"MermaidAstReflection")}},er=new xx,dx,DC=X(()=>dx??(dx=Qt(`{"$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"),px,MC=X(()=>px??(px=Qt(`{"$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"),mx,FC=X(()=>mx??(mx=Qt(`{"$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"),hx,GC=X(()=>hx??(hx=Qt(`{"$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"),gx,UC=X(()=>gx??(gx=Qt(`{"$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"),yx,zC=X(()=>yx??(yx=Qt(`{"$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"),Tx,qC=X(()=>Tx??(Tx=Qt(`{"$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"),Rx,jC=X(()=>Rx??(Rx=Qt(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$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":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$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":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"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 * TreeView grammar for Langium\\n * Converted from treemap 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 * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),$x,BC=X(()=>$x??($x=Qt(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"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":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"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@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"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@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"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":[]}`)),"WardleyGrammarGrammar"),WC={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},KC={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},VC={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},HC={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},YC={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},XC={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},JC={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZC={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QC={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},f0={AstReflection:X(()=>new xx,"AstReflection")},d0={Grammar:X(()=>DC(),"Grammar"),LanguageMetaData:X(()=>WC,"LanguageMetaData"),parser:{}},p0={Grammar:X(()=>MC(),"Grammar"),LanguageMetaData:X(()=>KC,"LanguageMetaData"),parser:{}},m0={Grammar:X(()=>FC(),"Grammar"),LanguageMetaData:X(()=>VC,"LanguageMetaData"),parser:{}},h0={Grammar:X(()=>GC(),"Grammar"),LanguageMetaData:X(()=>HC,"LanguageMetaData"),parser:{}},g0={Grammar:X(()=>UC(),"Grammar"),LanguageMetaData:X(()=>YC,"LanguageMetaData"),parser:{}},y0={Grammar:X(()=>zC(),"Grammar"),LanguageMetaData:X(()=>XC,"LanguageMetaData"),parser:{}},T0={Grammar:X(()=>qC(),"Grammar"),LanguageMetaData:X(()=>JC,"LanguageMetaData"),parser:{}},R0={Grammar:X(()=>jC(),"Grammar"),LanguageMetaData:X(()=>ZC,"LanguageMetaData"),parser:{}},$0={Grammar:X(()=>BC(),"Grammar"),LanguageMetaData:X(()=>QC,"LanguageMetaData"),parser:{}},eS=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,tS=/accTitle[\t ]*:([^\n\r]*)/,rS=/title([\t ][^\n\r]*|)/,nS={ACC_DESCR:eS,ACC_TITLE:tS,TITLE:rS},iS=class extends ci{static{s(this,"AbstractMermaidValueConverter")}static{X(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=nS[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
`)}}},v0=class extends iS{static{s(this,"CommonValueConverter")}static{X(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},sS=class extends Zr{static{s(this,"AbstractMermaidTokenBuilder")}static{X(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},A0=class extends sS{static{s(this,"CommonTokenBuilder")}static{X(this,"CommonTokenBuilder")}};export{Wm as a,Km as b,ac as c,Xm as d,Ue as e,X as f,f0 as g,d0 as h,p0 as i,m0 as j,h0 as k,g0 as l,y0 as m,T0 as n,R0 as o,$0 as p,iS as q,v0 as r,sS as s};