UNPKG

code-server

Version:

Run VS Code on a remote server.

177 lines • 599 kB
var RS=Object.create,ms=Object.defineProperty,$S=Object.getOwnPropertyDescriptor,zf=Object.getOwnPropertyNames,AS=Object.getPrototypeOf,ES=Object.prototype.hasOwnProperty,s=(e,t)=>ms(e,"name",{value:t,configurable:!0}),_S=(e,t)=>function(){return e&&(t=(0,e[zf(e)[0]])(e=0)),t},H=(e,t)=>function(){return t||(0,e[zf(e)[0]])((t={exports:{}}).exports,t),t.exports},Mr=(e,t)=>{for(var r in t)ms(e,r,{get:t[r],enumerable:!0})},Co=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of zf(t))!ES.call(e,a)&&a!==r&&ms(e,a,{get:()=>t[a],enumerable:!(n=$S(t,a))||n.enumerable});return e},hl=(e,t,r)=>(Co(e,t,"default"),r&&Co(r,t,"default")),Bf=(e,t,r)=>(r=e!=null?RS(AS(e)):{},Co(t||!e||!e.__esModule?ms(r,"default",{value:e,enumerable:!0}):r,e)),Kf=e=>Co(ms({},"__esModule",{value:!0}),e),ml={};Mr(ml,{AnnotatedTextEdit:()=>nr,ChangeAnnotation:()=>Vr,ChangeAnnotationIdentifier:()=>ze,CodeAction:()=>Cc,CodeActionContext:()=>_c,CodeActionKind:()=>Ec,CodeActionTriggerKind:()=>Ni,CodeDescription:()=>tc,CodeLens:()=>bc,Color:()=>ro,ColorInformation:()=>Yu,ColorPresentation:()=>Xu,Command:()=>Wr,CompletionItem:()=>fc,CompletionItemKind:()=>ic,CompletionItemLabelDetails:()=>cc,CompletionItemTag:()=>oc,CompletionList:()=>dc,CreateFile:()=>ra,DeleteFile:()=>aa,Diagnostic:()=>bi,DiagnosticRelatedInformation:()=>no,DiagnosticSeverity:()=>Qu,DiagnosticTag:()=>ec,DocumentHighlight:()=>yc,DocumentHighlightKind:()=>gc,DocumentLink:()=>wc,DocumentSymbol:()=>Ac,DocumentUri:()=>Wu,EOL:()=>gg,FoldingRange:()=>Zu,FoldingRangeKind:()=>Ju,FormattingOptions:()=>Sc,Hover:()=>pc,InlayHint:()=>xc,InlayHintKind:()=>so,InlayHintLabelPart:()=>oo,InlineCompletionContext:()=>Bc,InlineCompletionItem:()=>Gc,InlineCompletionList:()=>jc,InlineCompletionTriggerKind:()=>Uc,InlineValueContext:()=>Mc,InlineValueEvaluatableExpression:()=>Dc,InlineValueText:()=>Oc,InlineValueVariableLookup:()=>Lc,InsertReplaceEdit:()=>lc,InsertTextFormat:()=>sc,InsertTextMode:()=>uc,Location:()=>Ci,LocationLink:()=>Hu,MarkedString:()=>Ii,MarkupContent:()=>ia,MarkupKind:()=>io,OptionalVersionedTextDocumentIdentifier:()=>wi,ParameterInformation:()=>hc,Position:()=>ne,Range:()=>Z,RenameFile:()=>na,SelectedCompletionInfo:()=>zc,SelectionRange:()=>Ic,SemanticTokenModifiers:()=>kc,SemanticTokenTypes:()=>Nc,SemanticTokens:()=>Pc,SignatureInformation:()=>mc,StringValue:()=>Fc,SymbolInformation:()=>Rc,SymbolKind:()=>vc,SymbolTag:()=>Tc,TextDocument:()=>qc,TextDocumentEdit:()=>Si,TextDocumentIdentifier:()=>rc,TextDocumentItem:()=>ac,TextEdit:()=>Ut,URI:()=>to,VersionedTextDocumentIdentifier:()=>nc,WorkspaceChange:()=>mg,WorkspaceEdit:()=>ao,WorkspaceFolder:()=>Kc,WorkspaceSymbol:()=>$c,integer:()=>Vu,uinteger:()=>_i});var Wu,to,Vu,_i,ne,Z,Ci,Hu,ro,Yu,Xu,Ju,Zu,no,Qu,ec,tc,bi,Wr,Ut,Vr,ze,nr,Si,ra,na,aa,ao,hi,_u,mg,rc,nc,wi,ac,io,ia,ic,sc,oc,lc,uc,cc,fc,dc,Ii,pc,hc,mc,gc,yc,vc,Tc,Rc,$c,Ac,Ec,Ni,_c,Cc,bc,Sc,wc,Ic,Nc,kc,Pc,Oc,Lc,Dc,Mc,so,oo,xc,Fc,Gc,jc,Uc,zc,Bc,Kc,gg,qc,Ih,$,gs=_S({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(e){function t(r){return typeof r=="string"}s(t,"is"),e.is=t})(Wu||(Wu={})),(function(e){function t(r){return typeof r=="string"}s(t,"is"),e.is=t})(to||(to={})),(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}s(t,"is"),e.is=t})(Vu||(Vu={})),(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}s(t,"is"),e.is=t})(_i||(_i={})),(function(e){function t(n,a){return n===Number.MAX_VALUE&&(n=_i.MAX_VALUE),a===Number.MAX_VALUE&&(a=_i.MAX_VALUE),{line:n,character:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.uinteger(a.line)&&$.uinteger(a.character)}s(r,"is"),e.is=r})(ne||(ne={})),(function(e){function t(n,a,i,o){if($.uinteger(n)&&$.uinteger(a)&&$.uinteger(i)&&$.uinteger(o))return{start:ne.create(n,a),end:ne.create(i,o)};if(ne.is(n)&&ne.is(a))return{start:n,end:a};throw new Error(`Range#create called with invalid arguments[${n}, ${a}, ${i}, ${o}]`)}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ne.is(a.start)&&ne.is(a.end)}s(r,"is"),e.is=r})(Z||(Z={})),(function(e){function t(n,a){return{uri:n,range:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&Z.is(a.range)&&($.string(a.uri)||$.undefined(a.uri))}s(r,"is"),e.is=r})(Ci||(Ci={})),(function(e){function t(n,a,i,o){return{targetUri:n,targetRange:a,targetSelectionRange:i,originSelectionRange:o}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&Z.is(a.targetRange)&&$.string(a.targetUri)&&Z.is(a.targetSelectionRange)&&(Z.is(a.originSelectionRange)||$.undefined(a.originSelectionRange))}s(r,"is"),e.is=r})(Hu||(Hu={})),(function(e){function t(n,a,i,o){return{red:n,green:a,blue:i,alpha:o}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.numberRange(a.red,0,1)&&$.numberRange(a.green,0,1)&&$.numberRange(a.blue,0,1)&&$.numberRange(a.alpha,0,1)}s(r,"is"),e.is=r})(ro||(ro={})),(function(e){function t(n,a){return{range:n,color:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&Z.is(a.range)&&ro.is(a.color)}s(r,"is"),e.is=r})(Yu||(Yu={})),(function(e){function t(n,a,i){return{label:n,textEdit:a,additionalTextEdits:i}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.string(a.label)&&($.undefined(a.textEdit)||Ut.is(a))&&($.undefined(a.additionalTextEdits)||$.typedArray(a.additionalTextEdits,Ut.is))}s(r,"is"),e.is=r})(Xu||(Xu={})),(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(Ju||(Ju={})),(function(e){function t(n,a,i,o,l,u){let c={startLine:n,endLine:a};return $.defined(i)&&(c.startCharacter=i),$.defined(o)&&(c.endCharacter=o),$.defined(l)&&(c.kind=l),$.defined(u)&&(c.collapsedText=u),c}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.uinteger(a.startLine)&&$.uinteger(a.startLine)&&($.undefined(a.startCharacter)||$.uinteger(a.startCharacter))&&($.undefined(a.endCharacter)||$.uinteger(a.endCharacter))&&($.undefined(a.kind)||$.string(a.kind))}s(r,"is"),e.is=r})(Zu||(Zu={})),(function(e){function t(n,a){return{location:n,message:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&Ci.is(a.location)&&$.string(a.message)}s(r,"is"),e.is=r})(no||(no={})),(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(Qu||(Qu={})),(function(e){e.Unnecessary=1,e.Deprecated=2})(ec||(ec={})),(function(e){function t(r){let n=r;return $.objectLiteral(n)&&$.string(n.href)}s(t,"is"),e.is=t})(tc||(tc={})),(function(e){function t(n,a,i,o,l,u){let c={range:n,message:a};return $.defined(i)&&(c.severity=i),$.defined(o)&&(c.code=o),$.defined(l)&&(c.source=l),$.defined(u)&&(c.relatedInformation=u),c}s(t,"create"),e.create=t;function r(n){var a;let i=n;return $.defined(i)&&Z.is(i.range)&&$.string(i.message)&&($.number(i.severity)||$.undefined(i.severity))&&($.integer(i.code)||$.string(i.code)||$.undefined(i.code))&&($.undefined(i.codeDescription)||$.string((a=i.codeDescription)===null||a===void 0?void 0:a.href))&&($.string(i.source)||$.undefined(i.source))&&($.undefined(i.relatedInformation)||$.typedArray(i.relatedInformation,no.is))}s(r,"is"),e.is=r})(bi||(bi={})),(function(e){function t(n,a,...i){let o={title:n,command:a};return $.defined(i)&&i.length>0&&(o.arguments=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.title)&&$.string(a.command)}s(r,"is"),e.is=r})(Wr||(Wr={})),(function(e){function t(i,o){return{range:i,newText:o}}s(t,"replace"),e.replace=t;function r(i,o){return{range:{start:i,end:i},newText:o}}s(r,"insert"),e.insert=r;function n(i){return{range:i,newText:""}}s(n,"del"),e.del=n;function a(i){let o=i;return $.objectLiteral(o)&&$.string(o.newText)&&Z.is(o.range)}s(a,"is"),e.is=a})(Ut||(Ut={})),(function(e){function t(n,a,i){let o={label:n};return a!==void 0&&(o.needsConfirmation=a),i!==void 0&&(o.description=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&$.string(a.label)&&($.boolean(a.needsConfirmation)||a.needsConfirmation===void 0)&&($.string(a.description)||a.description===void 0)}s(r,"is"),e.is=r})(Vr||(Vr={})),(function(e){function t(r){let n=r;return $.string(n)}s(t,"is"),e.is=t})(ze||(ze={})),(function(e){function t(i,o,l){return{range:i,newText:o,annotationId:l}}s(t,"replace"),e.replace=t;function r(i,o,l){return{range:{start:i,end:i},newText:o,annotationId:l}}s(r,"insert"),e.insert=r;function n(i,o){return{range:i,newText:"",annotationId:o}}s(n,"del"),e.del=n;function a(i){let o=i;return Ut.is(o)&&(Vr.is(o.annotationId)||ze.is(o.annotationId))}s(a,"is"),e.is=a})(nr||(nr={})),(function(e){function t(n,a){return{textDocument:n,edits:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&wi.is(a.textDocument)&&Array.isArray(a.edits)}s(r,"is"),e.is=r})(Si||(Si={})),(function(e){function t(n,a,i){let o={kind:"create",uri:n};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),i!==void 0&&(o.annotationId=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="create"&&$.string(a.uri)&&(a.options===void 0||(a.options.overwrite===void 0||$.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||$.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||ze.is(a.annotationId))}s(r,"is"),e.is=r})(ra||(ra={})),(function(e){function t(n,a,i,o){let l={kind:"rename",oldUri:n,newUri:a};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(l.options=i),o!==void 0&&(l.annotationId=o),l}s(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="rename"&&$.string(a.oldUri)&&$.string(a.newUri)&&(a.options===void 0||(a.options.overwrite===void 0||$.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||$.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||ze.is(a.annotationId))}s(r,"is"),e.is=r})(na||(na={})),(function(e){function t(n,a,i){let o={kind:"delete",uri:n};return a!==void 0&&(a.recursive!==void 0||a.ignoreIfNotExists!==void 0)&&(o.options=a),i!==void 0&&(o.annotationId=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="delete"&&$.string(a.uri)&&(a.options===void 0||(a.options.recursive===void 0||$.boolean(a.options.recursive))&&(a.options.ignoreIfNotExists===void 0||$.boolean(a.options.ignoreIfNotExists)))&&(a.annotationId===void 0||ze.is(a.annotationId))}s(r,"is"),e.is=r})(aa||(aa={})),(function(e){function t(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(a=>$.string(a.kind)?ra.is(a)||na.is(a)||aa.is(a):Si.is(a)))}s(t,"is"),e.is=t})(ao||(ao={})),hi=class{static{s(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,a;if(r===void 0?n=Ut.insert(e,t):ze.is(r)?(a=r,n=nr.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=nr.insert(e,t,a)),this.edits.push(n),a!==void 0)return a}replace(e,t,r){let n,a;if(r===void 0?n=Ut.replace(e,t):ze.is(r)?(a=r,n=nr.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=nr.replace(e,t,a)),this.edits.push(n),a!==void 0)return a}delete(e,t){let r,n;if(t===void 0?r=Ut.del(e):ze.is(t)?(n=t,r=nr.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=nr.del(e,n)),this.edits.push(r),n!==void 0)return n}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.")}},_u=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,t){let r;if(ze.is(e)?r=e:(r=this.nextId(),t=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(t===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},mg=class{static{s(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new _u(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(t=>{if(Si.is(t)){let r=new hi(t.edits,this._changeAnnotations);this._textEditChanges[t.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new hi(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(wi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let n=[],a={textDocument:t,edits:n};this._workspaceEdit.documentChanges.push(a),r=new hi(n,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new hi(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new _u,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,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Vr.is(t)||ze.is(t)?n=t:r=t;let a,i;if(n===void 0?a=ra.create(e,r):(i=ze.is(n)?n:this._changeAnnotations.manage(n),a=ra.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),i!==void 0)return i}renameFile(e,t,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Vr.is(r)||ze.is(r)?a=r:n=r;let i,o;if(a===void 0?i=na.create(e,t,n):(o=ze.is(a)?a:this._changeAnnotations.manage(a),i=na.create(e,t,n,o)),this._workspaceEdit.documentChanges.push(i),o!==void 0)return o}deleteFile(e,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Vr.is(t)||ze.is(t)?n=t:r=t;let a,i;if(n===void 0?a=aa.create(e,r):(i=ze.is(n)?n:this._changeAnnotations.manage(n),a=aa.create(e,r,i)),this._workspaceEdit.documentChanges.push(a),i!==void 0)return i}},(function(e){function t(n){return{uri:n}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)}s(r,"is"),e.is=r})(rc||(rc={})),(function(e){function t(n,a){return{uri:n,version:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&$.integer(a.version)}s(r,"is"),e.is=r})(nc||(nc={})),(function(e){function t(n,a){return{uri:n,version:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&(a.version===null||$.integer(a.version))}s(r,"is"),e.is=r})(wi||(wi={})),(function(e){function t(n,a,i,o){return{uri:n,languageId:a,version:i,text:o}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.string(a.uri)&&$.string(a.languageId)&&$.integer(a.version)&&$.string(a.text)}s(r,"is"),e.is=r})(ac||(ac={})),(function(e){e.PlainText="plaintext",e.Markdown="markdown";function t(r){let n=r;return n===e.PlainText||n===e.Markdown}s(t,"is"),e.is=t})(io||(io={})),(function(e){function t(r){let n=r;return $.objectLiteral(r)&&io.is(n.kind)&&$.string(n.value)}s(t,"is"),e.is=t})(ia||(ia={})),(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(ic||(ic={})),(function(e){e.PlainText=1,e.Snippet=2})(sc||(sc={})),(function(e){e.Deprecated=1})(oc||(oc={})),(function(e){function t(n,a,i){return{newText:n,insert:a,replace:i}}s(t,"create"),e.create=t;function r(n){let a=n;return a&&$.string(a.newText)&&Z.is(a.insert)&&Z.is(a.replace)}s(r,"is"),e.is=r})(lc||(lc={})),(function(e){e.asIs=1,e.adjustIndentation=2})(uc||(uc={})),(function(e){function t(r){let n=r;return n&&($.string(n.detail)||n.detail===void 0)&&($.string(n.description)||n.description===void 0)}s(t,"is"),e.is=t})(cc||(cc={})),(function(e){function t(r){return{label:r}}s(t,"create"),e.create=t})(fc||(fc={})),(function(e){function t(r,n){return{items:r||[],isIncomplete:!!n}}s(t,"create"),e.create=t})(dc||(dc={})),(function(e){function t(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(t,"fromPlainText"),e.fromPlainText=t;function r(n){let a=n;return $.string(a)||$.objectLiteral(a)&&$.string(a.language)&&$.string(a.value)}s(r,"is"),e.is=r})(Ii||(Ii={})),(function(e){function t(r){let n=r;return!!n&&$.objectLiteral(n)&&(ia.is(n.contents)||Ii.is(n.contents)||$.typedArray(n.contents,Ii.is))&&(r.range===void 0||Z.is(r.range))}s(t,"is"),e.is=t})(pc||(pc={})),(function(e){function t(r,n){return n?{label:r,documentation:n}:{label:r}}s(t,"create"),e.create=t})(hc||(hc={})),(function(e){function t(r,n,...a){let i={label:r};return $.defined(n)&&(i.documentation=n),$.defined(a)?i.parameters=a:i.parameters=[],i}s(t,"create"),e.create=t})(mc||(mc={})),(function(e){e.Text=1,e.Read=2,e.Write=3})(gc||(gc={})),(function(e){function t(r,n){let a={range:r};return $.number(n)&&(a.kind=n),a}s(t,"create"),e.create=t})(yc||(yc={})),(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(vc||(vc={})),(function(e){e.Deprecated=1})(Tc||(Tc={})),(function(e){function t(r,n,a,i,o){let l={name:r,kind:n,location:{uri:i,range:a}};return o&&(l.containerName=o),l}s(t,"create"),e.create=t})(Rc||(Rc={})),(function(e){function t(r,n,a,i){return i!==void 0?{name:r,kind:n,location:{uri:a,range:i}}:{name:r,kind:n,location:{uri:a}}}s(t,"create"),e.create=t})($c||($c={})),(function(e){function t(n,a,i,o,l,u){let c={name:n,detail:a,kind:i,range:o,selectionRange:l};return u!==void 0&&(c.children=u),c}s(t,"create"),e.create=t;function r(n){let a=n;return a&&$.string(a.name)&&$.number(a.kind)&&Z.is(a.range)&&Z.is(a.selectionRange)&&(a.detail===void 0||$.string(a.detail))&&(a.deprecated===void 0||$.boolean(a.deprecated))&&(a.children===void 0||Array.isArray(a.children))&&(a.tags===void 0||Array.isArray(a.tags))}s(r,"is"),e.is=r})(Ac||(Ac={})),(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(Ec||(Ec={})),(function(e){e.Invoked=1,e.Automatic=2})(Ni||(Ni={})),(function(e){function t(n,a,i){let o={diagnostics:n};return a!=null&&(o.only=a),i!=null&&(o.triggerKind=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.typedArray(a.diagnostics,bi.is)&&(a.only===void 0||$.typedArray(a.only,$.string))&&(a.triggerKind===void 0||a.triggerKind===Ni.Invoked||a.triggerKind===Ni.Automatic)}s(r,"is"),e.is=r})(_c||(_c={})),(function(e){function t(n,a,i){let o={title:n},l=!0;return typeof a=="string"?(l=!1,o.kind=a):Wr.is(a)?o.command=a:o.edit=a,l&&i!==void 0&&(o.kind=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return a&&$.string(a.title)&&(a.diagnostics===void 0||$.typedArray(a.diagnostics,bi.is))&&(a.kind===void 0||$.string(a.kind))&&(a.edit!==void 0||a.command!==void 0)&&(a.command===void 0||Wr.is(a.command))&&(a.isPreferred===void 0||$.boolean(a.isPreferred))&&(a.edit===void 0||ao.is(a.edit))}s(r,"is"),e.is=r})(Cc||(Cc={})),(function(e){function t(n,a){let i={range:n};return $.defined(a)&&(i.data=a),i}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&Z.is(a.range)&&($.undefined(a.command)||Wr.is(a.command))}s(r,"is"),e.is=r})(bc||(bc={})),(function(e){function t(n,a){return{tabSize:n,insertSpaces:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&$.uinteger(a.tabSize)&&$.boolean(a.insertSpaces)}s(r,"is"),e.is=r})(Sc||(Sc={})),(function(e){function t(n,a,i){return{range:n,target:a,data:i}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&Z.is(a.range)&&($.undefined(a.target)||$.string(a.target))}s(r,"is"),e.is=r})(wc||(wc={})),(function(e){function t(n,a){return{range:n,parent:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&Z.is(a.range)&&(a.parent===void 0||e.is(a.parent))}s(r,"is"),e.is=r})(Ic||(Ic={})),(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(Nc||(Nc={})),(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(kc||(kc={})),(function(e){function t(r){let n=r;return $.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}s(t,"is"),e.is=t})(Pc||(Pc={})),(function(e){function t(n,a){return{range:n,text:a}}s(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&Z.is(a.range)&&$.string(a.text)}s(r,"is"),e.is=r})(Oc||(Oc={})),(function(e){function t(n,a,i){return{range:n,variableName:a,caseSensitiveLookup:i}}s(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&Z.is(a.range)&&$.boolean(a.caseSensitiveLookup)&&($.string(a.variableName)||a.variableName===void 0)}s(r,"is"),e.is=r})(Lc||(Lc={})),(function(e){function t(n,a){return{range:n,expression:a}}s(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&Z.is(a.range)&&($.string(a.expression)||a.expression===void 0)}s(r,"is"),e.is=r})(Dc||(Dc={})),(function(e){function t(n,a){return{frameId:n,stoppedLocation:a}}s(t,"create"),e.create=t;function r(n){let a=n;return $.defined(a)&&Z.is(n.stoppedLocation)}s(r,"is"),e.is=r})(Mc||(Mc={})),(function(e){e.Type=1,e.Parameter=2;function t(r){return r===1||r===2}s(t,"is"),e.is=t})(so||(so={})),(function(e){function t(n){return{value:n}}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&(a.tooltip===void 0||$.string(a.tooltip)||ia.is(a.tooltip))&&(a.location===void 0||Ci.is(a.location))&&(a.command===void 0||Wr.is(a.command))}s(r,"is"),e.is=r})(oo||(oo={})),(function(e){function t(n,a,i){let o={position:n,label:a};return i!==void 0&&(o.kind=i),o}s(t,"create"),e.create=t;function r(n){let a=n;return $.objectLiteral(a)&&ne.is(a.position)&&($.string(a.label)||$.typedArray(a.label,oo.is))&&(a.kind===void 0||so.is(a.kind))&&a.textEdits===void 0||$.typedArray(a.textEdits,Ut.is)&&(a.tooltip===void 0||$.string(a.tooltip)||ia.is(a.tooltip))&&(a.paddingLeft===void 0||$.boolean(a.paddingLeft))&&(a.paddingRight===void 0||$.boolean(a.paddingRight))}s(r,"is"),e.is=r})(xc||(xc={})),(function(e){function t(r){return{kind:"snippet",value:r}}s(t,"createSnippet"),e.createSnippet=t})(Fc||(Fc={})),(function(e){function t(r,n,a,i){return{insertText:r,filterText:n,range:a,command:i}}s(t,"create"),e.create=t})(Gc||(Gc={})),(function(e){function t(r){return{items:r}}s(t,"create"),e.create=t})(jc||(jc={})),(function(e){e.Invoked=0,e.Automatic=1})(Uc||(Uc={})),(function(e){function t(r,n){return{range:r,text:n}}s(t,"create"),e.create=t})(zc||(zc={})),(function(e){function t(r,n){return{triggerKind:r,selectedCompletionInfo:n}}s(t,"create"),e.create=t})(Bc||(Bc={})),(function(e){function t(r){let n=r;return $.objectLiteral(n)&&to.is(n.uri)&&$.string(n.name)}s(t,"is"),e.is=t})(Kc||(Kc={})),gg=[`
`,`\r
`,"\r"],(function(e){function t(i,o,l,u){return new Ih(i,o,l,u)}s(t,"create"),e.create=t;function r(i){let o=i;return!!($.defined(o)&&$.string(o.uri)&&($.undefined(o.languageId)||$.string(o.languageId))&&$.uinteger(o.lineCount)&&$.func(o.getText)&&$.func(o.positionAt)&&$.func(o.offsetAt))}s(r,"is"),e.is=r;function n(i,o){let l=i.getText(),u=a(o,(f,d)=>{let h=f.range.start.line-d.range.start.line;return h===0?f.range.start.character-d.range.start.character:h}),c=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],h=i.offsetAt(d.range.start),y=i.offsetAt(d.range.end);if(y<=c)l=l.substring(0,h)+d.newText+l.substring(y,l.length);else throw new Error("Overlapping edit");c=h}return l}s(n,"applyEdits"),e.applyEdits=n;function a(i,o){if(i.length<=1)return i;let l=i.length/2|0,u=i.slice(0,l),c=i.slice(l);a(u,o),a(c,o);let f=0,d=0,h=0;for(;f<u.length&&d<c.length;)o(u[f],c[d])<=0?i[h++]=u[f++]:i[h++]=c[d++];for(;f<u.length;)i[h++]=u[f++];for(;d<c.length;)i[h++]=c[d++];return i}s(a,"mergeSort")})(qc||(qc={})),Ih=class{static{s(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let a=t.charAt(n);r=a==="\r"||a===`
`,a==="\r"&&n+1<t.length&&t.charAt(n+1)===`
`&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(n===0)return ne.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let a=r-1;return ne.create(a,e-t[a])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},(function(e){let t=Object.prototype.toString;function r(y){return typeof y<"u"}s(r,"defined"),e.defined=r;function n(y){return typeof y>"u"}s(n,"undefined"),e.undefined=n;function a(y){return y===!0||y===!1}s(a,"boolean"),e.boolean=a;function i(y){return t.call(y)==="[object String]"}s(i,"string"),e.string=i;function o(y){return t.call(y)==="[object Number]"}s(o,"number"),e.number=o;function l(y,v,S){return t.call(y)==="[object Number]"&&v<=y&&y<=S}s(l,"numberRange"),e.numberRange=l;function u(y){return t.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}s(u,"integer"),e.integer=u;function c(y){return t.call(y)==="[object Number]"&&0<=y&&y<=2147483647}s(c,"uinteger"),e.uinteger=c;function f(y){return t.call(y)==="[object Function]"}s(f,"func"),e.func=f;function d(y){return y!==null&&typeof y=="object"}s(d,"objectLiteral"),e.objectLiteral=d;function h(y,v){return Array.isArray(y)&&y.every(v)}s(h,"typedArray"),e.typedArray=h})($||($={}))}}),En=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t;function r(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}s(r,"RAL"),(function(n){function a(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}s(a,"install"),n.install=a})(r||(r={})),e.default=r}}),ys=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(u){return u===!0||u===!1}s(t,"boolean"),e.boolean=t;function r(u){return typeof u=="string"||u instanceof String}s(r,"string"),e.string=r;function n(u){return typeof u=="number"||u instanceof Number}s(n,"number"),e.number=n;function a(u){return u instanceof Error}s(a,"error"),e.error=a;function i(u){return typeof u=="function"}s(i,"func"),e.func=i;function o(u){return Array.isArray(u)}s(o,"array"),e.array=o;function l(u){return o(u)&&u.every(c=>r(c))}s(l,"stringArray"),e.stringArray=l}}),xa=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var t=En(),r;(function(i){let o={dispose(){}};i.None=function(){return o}})(r||(e.Event=r={}));var n=class{static{s(this,"CallbackList")}add(i,o=null,l){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(i),this._contexts.push(o),Array.isArray(l)&&l.push({dispose:s(()=>this.remove(i,o),"dispose")})}remove(i,o=null){if(!this._callbacks)return;let l=!1;for(let u=0,c=this._callbacks.length;u<c;u++)if(this._callbacks[u]===i)if(this._contexts[u]===o){this._callbacks.splice(u,1),this._contexts.splice(u,1);return}else l=!0;if(l)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...i){if(!this._callbacks)return[];let o=[],l=this._callbacks.slice(0),u=this._contexts.slice(0);for(let c=0,f=l.length;c<f;c++)try{o.push(l[c].apply(u[c],i))}catch(d){(0,t.default)().console.error(d)}return o}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},a=class yg{static{s(this,"Emitter")}constructor(o){this._options=o}get event(){return this._event||(this._event=(o,l,u)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(o,l);let c={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(o,l),c.dispose=yg._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(u)&&u.push(c),c}),this._event}fire(o){this._callbacks&&this._callbacks.invoke.call(this._callbacks,o)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=a,a._noop=function(){}}}),gl=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=En(),r=ys(),n=xa(),a;(function(u){u.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),u.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(f){let d=f;return d&&(d===u.None||d===u.Cancelled||r.boolean(d.isCancellationRequested)&&!!d.onCancellationRequested)}s(c,"is"),u.is=c})(a||(e.CancellationToken=a={}));var i=Object.freeze(function(u,c){let f=(0,t.default)().timer.setTimeout(u.bind(c),0);return{dispose(){f.dispose()}}}),o=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?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},l=class{static{s(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=a.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=a.None}};e.CancellationTokenSource=l}}),vg=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t=ys(),r;(function(g){g.ParseError=-32700,g.InvalidRequest=-32600,g.MethodNotFound=-32601,g.InvalidParams=-32602,g.InternalError=-32603,g.jsonrpcReservedErrorRangeStart=-32099,g.serverErrorStart=-32099,g.MessageWriteError=-32099,g.MessageReadError=-32098,g.PendingResponseRejected=-32097,g.ConnectionInactive=-32096,g.ServerNotInitialized=-32002,g.UnknownErrorCode=-32001,g.jsonrpcReservedErrorRangeEnd=-32e3,g.serverErrorEnd=-32e3})(r||(e.ErrorCodes=r={}));var n=class Tg extends Error{static{s(this,"ResponseError")}constructor(A,T,R){super(T),this.code=t.number(A)?A:r.UnknownErrorCode,this.data=R,Object.setPrototypeOf(this,Tg.prototype)}toJson(){let A={code:this.code,message:this.message};return this.data!==void 0&&(A.data=this.data),A}};e.ResponseError=n;var a=class lo{static{s(this,"ParameterStructures")}constructor(A){this.kind=A}static is(A){return A===lo.auto||A===lo.byName||A===lo.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var i=class{static{s(this,"AbstractMessageSignature")}constructor(g,A){this.method=g,this.numberOfParams=A}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=i;var o=class extends i{static{s(this,"RequestType0")}constructor(g){super(g,0)}};e.RequestType0=o;var l=class extends i{static{s(this,"RequestType")}constructor(g,A=a.auto){super(g,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}};e.RequestType=l;var u=class extends i{static{s(this,"RequestType1")}constructor(g,A=a.auto){super(g,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}};e.RequestType1=u;var c=class extends i{static{s(this,"RequestType2")}constructor(g){super(g,2)}};e.RequestType2=c;var f=class extends i{static{s(this,"RequestType3")}constructor(g){super(g,3)}};e.RequestType3=f;var d=class extends i{static{s(this,"RequestType4")}constructor(g){super(g,4)}};e.RequestType4=d;var h=class extends i{static{s(this,"RequestType5")}constructor(g){super(g,5)}};e.RequestType5=h;var y=class extends i{static{s(this,"RequestType6")}constructor(g){super(g,6)}};e.RequestType6=y;var v=class extends i{static{s(this,"RequestType7")}constructor(g){super(g,7)}};e.RequestType7=v;var S=class extends i{static{s(this,"RequestType8")}constructor(g){super(g,8)}};e.RequestType8=S;var I=class extends i{static{s(this,"RequestType9")}constructor(g){super(g,9)}};e.RequestType9=I;var w=class extends i{static{s(this,"NotificationType")}constructor(g,A=a.auto){super(g,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}};e.NotificationType=w;var b=class extends i{static{s(this,"NotificationType0")}constructor(g){super(g,0)}};e.NotificationType0=b;var E=class extends i{static{s(this,"NotificationType1")}constructor(g,A=a.auto){super(g,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}};e.NotificationType1=E;var k=class extends i{static{s(this,"NotificationType2")}constructor(g){super(g,2)}};e.NotificationType2=k;var G=class extends i{static{s(this,"NotificationType3")}constructor(g){super(g,3)}};e.NotificationType3=G;var Q=class extends i{static{s(this,"NotificationType4")}constructor(g){super(g,4)}};e.NotificationType4=Q;var Y=class extends i{static{s(this,"NotificationType5")}constructor(g){super(g,5)}};e.NotificationType5=Y;var ue=class extends i{static{s(this,"NotificationType6")}constructor(g){super(g,6)}};e.NotificationType6=ue;var he=class extends i{static{s(this,"NotificationType7")}constructor(g){super(g,7)}};e.NotificationType7=he;var Te=class extends i{static{s(this,"NotificationType8")}constructor(g){super(g,8)}};e.NotificationType8=Te;var P=class extends i{static{s(this,"NotificationType9")}constructor(g){super(g,9)}};e.NotificationType9=P;var _;(function(g){function A(C){let O=C;return O&&t.string(O.method)&&(t.string(O.id)||t.number(O.id))}s(A,"isRequest"),g.isRequest=A;function T(C){let O=C;return O&&t.string(O.method)&&C.id===void 0}s(T,"isNotification"),g.isNotification=T;function R(C){let O=C;return O&&(O.result!==void 0||!!O.error)&&(t.string(O.id)||t.number(O.id)||O.id===null)}s(R,"isResponse"),g.isResponse=R})(_||(e.Message=_={}))}}),Rg=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){"use strict";var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0;var r;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(r||(e.Touch=r={}));var n=class{static{s(this,"LinkedMap")}constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(i){return this._map.has(i)}get(i,o=r.None){let l=this._map.get(i);if(l)return o!==r.None&&this.touch(l,o),l.value}set(i,o,l=r.None){let u=this._map.get(i);if(u)u.value=o,l!==r.None&&this.touch(u,l);else{switch(u={key:i,value:o,next:void 0,previous:void 0},l){case r.None:this.addItemLast(u);break;case r.First:this.addItemFirst(u);break;case r.Last:this.addItemLast(u);break;default:this.addItemLast(u);break}this._map.set(i,u),this._size++}return this}delete(i){return!!this.remove(i)}remove(i){let o=this._map.get(i);if(o)return this._map.delete(i),this.removeItem(o),this._size--,o.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let i=this._head;return this._map.delete(i.key),this.removeItem(i),this._size--,i.value}forEach(i,o){let l=this._state,u=this._head;for(;u;){if(o?i.bind(o)(u.value,u.key,this):i(u.value,u.key,this),this._state!==l)throw new Error("LinkedMap got modified during iteration.");u=u.next}}keys(){let i=this._state,o=this._head,l={[Symbol.iterator]:()=>l,next:s(()=>{if(this._state!==i)throw new Error("LinkedMap got modified during iteration.");if(o){let u={value:o.key,done:!1};return o=o.next,u}else return{value:void 0,done:!0}},"next")};return l}values(){let i=this._state,o=this._head,l={[Symbol.iterator]:()=>l,next:s(()=>{if(this._state!==i)throw new Error("LinkedMap got modified during iteration.");if(o){let u={value:o.value,done:!1};return o=o.next,u}else return{value:void 0,done:!0}},"next")};return l}entries(){let i=this._state,o=this._head,l={[Symbol.iterator]:()=>l,next:s(()=>{if(this._state!==i)throw new Error("LinkedMap got modified during iteration.");if(o){let u={value:[o.key,o.value],done:!1};return o=o.next,u}else return{value:void 0,done:!0}},"next")};return l}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(i){if(i>=this.size)return;if(i===0){this.clear();return}let o=this._head,l=this.size;for(;o&&l>i;)this._map.delete(o.key),o=o.next,l--;this._head=o,this._size=l,o&&(o.previous=void 0),this._state++}addItemFirst(i){if(!this._head&&!this._tail)this._tail=i;else if(this._head)i.next=this._head,this._head.previous=i;else throw new Error("Invalid list");this._head=i,this._state++}addItemLast(i){if(!this._head&&!this._tail)this._head=i;else if(this._tail)i.previous=this._tail,this._tail.next=i;else throw new Error("Invalid list");this._tail=i,this._state++}removeItem(i){if(i===this._head&&i===this._tail)this._head=void 0,this._tail=void 0;else if(i===this._head){if(!i.next)throw new Error("Invalid list");i.next.previous=void 0,this._head=i.next}else if(i===this._tail){if(!i.previous)throw new Error("Invalid list");i.previous.next=void 0,this._tail=i.previous}else{let o=i.next,l=i.previous;if(!o||!l)throw new Error("Invalid list");o.previous=l,l.next=o}i.next=void 0,i.previous=void 0,this._state++}touch(i,o){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(o!==r.First&&o!==r.Last)){if(o===r.First){if(i===this._head)return;let l=i.next,u=i.previous;i===this._tail?(u.next=void 0,this._tail=u):(l.previous=u,u.next=l),i.previous=void 0,i.next=this._head,this._head.previous=i,this._head=i,this._state++}else if(o===r.Last){if(i===this._tail)return;let l=i.next,u=i.previous;i===this._head?(l.previous=void 0,this._head=l):(l.previous=u,u.next=l),i.next=void 0,i.previous=this._tail,this._tail.next=i,this._tail=i,this._state++}}}toJSON(){let i=[];return this.forEach((o,l)=>{i.push([l,o])}),i}fromJSON(i){this.clear();for(let[o,l]of i)this.set(o,l)}};e.LinkedMap=n;var a=class extends n{static{s(this,"LRUCache")}constructor(i,o=1){super(),this._limit=i,this._ratio=Math.min(Math.max(0,o),1)}get limit(){return this._limit}set limit(i){this._limit=i,this.checkTrim()}get ratio(){return this._ratio}set ratio(i){this._ratio=Math.min(Math.max(0,i),1),this.checkTrim()}get(i,o=r.AsNew){return super.get(i,o)}peek(i){return super.get(i,r.None)}set(i,o){return super.set(i,o,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};e.LRUCache=a}}),CS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t;(function(r){function n(a){return{dispose:a}}s(n,"create"),r.create=n})(t||(e.Disposable=t={}))}}),bS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t=gl(),r;(function(l){l.Continue=0,l.Cancelled=1})(r||(r={}));var n=class{static{s(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(l){if(l.id===null)return;let u=new SharedArrayBuffer(4),c=new Int32Array(u,0,1);c[0]=r.Continue,this.buffers.set(l.id,u),l.$cancellationData=u}async sendCancellation(l,u){let c=this.buffers.get(u);if(c===void 0)return;let f=new Int32Array(c,0,1);Atomics.store(f,0,r.Cancelled)}cleanup(l){this.buffers.delete(l)}dispose(){this.buffers.clear()}};e.SharedArraySenderStrategy=n;var a=class{static{s(this,"SharedArrayBufferCancellationToken")}constructor(l){this.data=new Int32Array(l,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},i=class{static{s(this,"SharedArrayBufferCancellationTokenSource")}constructor(l){this.token=new a(l)}cancel(){}dispose(){}},o=class{static{s(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(l){let u=l.$cancellationData;return u===void 0?new t.CancellationTokenSource:new i(u)}};e.SharedArrayReceiverStrategy=o}}),$g=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=En(),r=class{static{s(this,"Semaphore")}constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((a,i)=>{this._waiting.push({thunk:n,resolve:a,reject:i}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let a=n.thunk();a instanceof Promise?a.then(i=>{this._active--,n.resolve(i),this.runNext()},i=>{this._active--,n.reject(i),this.runNext()}):(this._active--,n.resolve(a),this.runNext())}catch(a){this._active--,n.reject(a),this.runNext()}}};e.Semaphore=r}}),SS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t=En(),r=ys(),n=xa(),a=$g(),i;(function(c){function f(d){let h=d;return h&&r.func(h.listen)&&r.func(h.dispose)&&r.func(h.onError)&&r.func(h.onClose)&&r.func(h.onPartialMessage)}s(f,"is"),c.is=f})(i||(e.MessageReader=i={}));var o=class{static{s(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(c){this.errorEmitter.fire(this.asError(c))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(c){this.partialMessageEmitter.fire(c)}asError(c){return c instanceof Error?c:new Error(`Reader received error. Reason: ${r.string(c.message)?c.message:"unknown"}`)}};e.AbstractMessageReader=o;var l;(function(c){function f(d){let h,y,v,S=new Map,I,w=new Map;if(d===void 0||typeof d=="string")h=d??"utf-8";else{if(h=d.charset??"utf-8",d.contentDecoder!==void 0&&(v=d.contentDecoder,S.set(v.name,v)),d.contentDecoders!==void 0)for(let b of d.contentDecoders)S.set(b.name,b);if(d.contentTypeDecoder!==void 0&&(I=d.contentTypeDecoder,w.set(I.name,I)),d.contentTypeDecoders!==void 0)for(let b of d.contentTypeDecoders)w.set(b.name,b)}return I===void 0&&(I=(0,t.default)().applicationJson.decoder,w.set(I.name,I)),{charset:h,contentDecoder:v,contentDecoders:S,contentTypeDecoder:I,contentTypeDecoders:w}}s(f,"fromOptions"),c.fromOptions=f})(l||(l={}));var u=class extends o{static{s(this,"ReadableStreamMessageReader")}constructor(c,f){super(),this.readable=c,this.options=l.fromOptions(f),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new a.Semaphore(1)}set partialMessageTimeout(c){this._partialMessageTimeout=c}get partialMessageTimeout(){return this._partialMessageTimeout}listen(c){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=c;let f=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),f}onData(c){try{for(this.buffer.append(c);;){if(this.nextMessageLength===-1){let d=this.buffer.tryReadHeaders(!0);if(!d)return;let h=d.get("content-length");if(!h){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(d))}`));return}let y=parseInt(h);if(isNaN(y)){this.fireError(new Error(`Content-Length value must be a number. Got ${h}`));return}this.nextMessageLength=y}let f=this.buffer.tryReadBody(this.nextMessageLength);if(f===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(f):f,h=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(h)}).catch(d=>{this.fireError(d)})}}catch(f){this.fireError(f)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((c,f)=>{this.partialMessageTimer=void 0,c===this.messageToken&&(this.firePartialMessage({messageToken:c,waitingTime:f}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};e.ReadableStreamMessageReader=u}}),wS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t=En(),r=ys(),n=$g(),a=xa(),i="Content-Length: ",o=`\r
`,l;(function(d){function h(y){let v=y;return v&&r.func(v.dispose)&&r.func(v.onClose)&&r.func(v.onError)&&r.func(v.write)}s(h,"is"),d.is=h})(l||(e.MessageWriter=l={}));var u=class{static{s(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,h,y){this.errorEmitter.fire([this.asError(d),h,y])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${r.string(d.message)?d.message:"unknown"}`)}};e.AbstractMessageWriter=u;var c;(function(d){function h(y){return y===void 0||typeof y=="string"?{charset:y??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:y.charset??"utf-8",contentEncoder:y.contentEncoder,contentTypeEncoder:y.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}s(h,"fromOptions"),d.fromOptions=h})(c||(c={}));var f=class extends u{static{s(this,"WriteableStreamMessageWriter")}constructor(d,h){super(),this.writable=d,this.options=c.fromOptions(h),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(y=>this.fireError(y)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(y=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(y):y).then(y=>{let v=[];return v.push(i,y.byteLength.toString(),o),v.push(o),this.doWrite(d,v,y)},y=>{throw this.fireError(y),y}))}async doWrite(d,h,y){try{return await this.writable.write(h.join(""),"ascii"),this.writable.write(y)}catch(v){return this.handleError(v,d),Promise.reject(v)}}handleError(d,h){this.errorCount++,this.fireError(d,h,this.errorCount)}end(){this.writable.end()}};e.WriteableStreamMessageWriter=f}}),IS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;var t=13,r=10,n=`\r
`,a=class{static{s(this,"AbstractMessageBuffer")}constructor(i="utf-8"){this._encoding=i,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(i){let o=typeof i=="string"?this.fromString(i,this._encoding):i;this._chunks.push(o),this._totalLength+=o.byteLength}tryReadHeaders(i=!1){if(this._chunks.length===0)return;let o=0,l=0,u=0,c=0;e:for(;l<this._chunks.length;){let y=this._chunks[l];for(u=0;u<y.length;){switch(y[u]){case t:switch(o){case 0:o=1;break;case 2:o=3;break;default:o=0}break;case r:switch(o){case 1:o=2;break;case 3:o=4,u++;break e;default:o=0}break;default:o=0}u++}c+=y.byteLength,l++}if(o!==4)return;let f=this._read(c+u),d=new Map,h=this.toString(f,"ascii").split(n);if(h.length<2)return d;for(let y=0;y<h.length-2;y++){let v=h[y],S=v.indexOf(":");if(S===-1)throw new Error(`Message header must separate key and value using ':'
${v}`);let I=v.substr(0,S),w=v.substr(S+1).trim();d.set(i?I.toLowerCase():I,w)}return d}tryReadBody(i){if(!(this._totalLength<i))return this._read(i)}get numberOfBytes(){return this._totalLength}_read(i){if(i===0)return this.emptyBuffer();if(i>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===i){let c=this._chunks[0];return this._chunks.shift(),this._totalLength-=i,this.asNative(c)}if(this._chunks[0].byteLength>i){let c=this._chunks[0],f=this.asNative(c,i);return this._chunks[0]=c.slice(i),this._totalLength-=i,f}let o=this.allocNative(i),l=0,u=0;for(;i>0;){let c=this._chunks[u];if(c.byteLength>i){let f=c.slice(0,i);o.set(f,l),l+=i,this._chunks[u]=c.slice(i),this._totalLength-=i,i-=i}else o.set(c,l),l+=c.byteLength,this._chunks.shift(),this._totalLength-=c.byteLength,i-=c.byteLength}return o}};e.AbstractMessageBuffer=a}}),NS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t=En(),r=ys(),n=vg(),a=Rg(),i=xa(),o=gl(),l;(function(g){g.type=new n.NotificationType("$/cancelRequest")})(l||(l={}));var u;(function(g){function A(T){return typeof T=="string"||typeof T=="number"}s(A,"is"),g.is=A})(u||(e.ProgressToken=u={}));var c;(function(g){g.type=new n.NotificationType("$/progress")})(c||(c={}));var f=class{static{s(this,"ProgressType")}constructor(){}};e.ProgressType=f;var d;(function(g){function A(T){return r.func(T)}s(A,"is"),g.is=A})(d||(d={})),e.NullLogger=Object.freeze({error:s(()=>{},"error"),warn:s(()=>{},"warn"),info:s(()=>{},"info"),log:s(()=>{},"log")});var h;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(h||(e.Trace=h={}));var y;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(y||(e.TraceValues=y={})),(function(g){function A(R){if(!r.string(R))return g.Off;switch(R=R.toLowerCase(),R){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}s(A,"fromString"),g.fromString=A;function T(R){switch(R){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}s(T,"toString"),g.toString=T})(h||(e.Trace=h={}));var v;(function(g){g.Text="text",g.JSON="json"})(v||(e.TraceFormat=v={})),(function(g){function A(T){return r.string(T)?(T=T.toLowerCase(),T==="json"?g.JSON:g.Text):g.Text}s(A,"fromString"),g.fromString=A})(v||(e.TraceFormat=v={}));var S;(function(g){g.type=new n.NotificationType("$/setTrace")})(S||(e.SetTraceNotification=S={}));var I;(function(g){g.type=new n.NotificationType("$/logTrace")})(I||(e.LogTraceNotification=I={}));var w;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(w||(e.ConnectionErrors=w={}));var b=class Ag extends Error{static{s(this,"ConnectionError")}constructor(A,T){super(T),this.code=A,Object.setPrototypeOf(this,Ag.prototype)}};e.ConnectionError=b;var E;(function(g){function A(T){let R=T;return R&&r.func(R.cancelUndispatched)}s(A,"is"),g.is=A})(E||(e.ConnectionStrategy=E={}));var k;(function(g){function A(T){let R=T;return R&&(R.kind===void 0||R.kind==="id")&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}s(A,"is"),g.is=A})(k||(e.IdCancellationReceiverStrategy=k={}));var G;(function(g){function A(T){let R=T;return R&&R.kind==="request"&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}s(A,"is"),g.is=A})(G||(e.RequestCancellationReceiverStrategy=G={}));var Q;(function(g){g.Message=Object.freeze({createCancellationTokenSource(T){return new o.CancellationTokenSource}});function A(T){return k.is(T)||G.is(T)}s(A,"is"),g.is=A})(Q||(e.CancellationReceiverStrategy=Q={}));var Y;(function(g){g.Message=Object.freeze({sendCancellation(T,R){return T.sendNotification(l.type,{id:R})},cleanup(T){}});function A(T){let R=T;return R&&r.func(R.sendCancellation)&&r.func(R.cleanup)}s(A,"is"),g.is=A})(Y||(e.CancellationSenderStrategy=Y={}));var ue;(function(g){g.Message=Object.freeze({receiver:Q.Message,sender:Y.Message});function A(T){let R=T;return R&&Q.is(R.receiver)&&Y.is(R.sender)}s(A,"is"),g.is=A})(ue||(e.CancellationStrategy=ue={}));var he;(function(g){function A(T){let R=T;return R&&r.func(R.handleMessage)}s(A,"is"),g.is=A})(he||(e.MessageStrategy=he={}));var Te;(function(g){function A(T){let R=T;return R&&(ue.is(R.cancellationStrategy)||E.is(R.connectionStrategy)||he.is(R.messageStrategy))}s(A,"is"),g.is=A})(Te||(e.ConnectionOptions=Te={}));var P;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(P||(P={}));function _(g,A,T,R){let C=T!==void 0?T:e.NullLogger,O=0,M=0,D=0,j="2.0",q,oe=new Map,V,Pe=new Map,ae=new Map,Oe,je=new a.LinkedMap,Re=new Map,Ue=new Set,we=new Map,X=h.Off,Fe=v.Text,ce,nt=P.New,Kn=new i.Emitter,Va=new i.Emitter,Ha=new i.Emitter,Ya=new i.Emitter,Xa=new i.Emitter,bt=R&&R.cancellationStrategy?R.cancellationStrategy:ue.Message;function qn(m){if(m===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+m.toString()}s(qn,"createRequestQueueKey");function Ja(m){return m===null?"res-unknown-"+(++D).toString():"res-"+m.toString()}s(Ja,"createResponseQueueKey");function Za(){return"not-"+(++M).toString()}s(Za,"createNotificationQueueKey");function Qa(m,N){n.Message.isRequest(N)?m.set(qn(N.id),N):n.Message.isResponse(N)?m.set(Ja(N.id),N):m.set(Za(),N)}s(Qa,"addMessageToQueue");function ei(m){}s(ei,"cancelUndispatched");function Wn(){return nt===P.Listening}s(Wn,"isListening");function Vn(){return nt===P.Closed}s(Vn,"isClosed");function xt(){return nt===P.Disposed}s(xt,"isDisposed");function Hn(){(nt===P.New||nt===P.Listening)&&(nt=P.Closed,Va.fire(void 0))}s(Hn,"closeHandler");function ti(m){Kn.fire([m,void 0,void 0])}s(ti,"readErrorHandler");function ri(m){Kn.fire(m)}s(ri,"writeErrorHandler"),g.onClose(Hn),g.onError(ti),A.onClose(Hn),A.onError(ri);function Yn(){Oe||je.size===0||(Oe=(0,t.default)().timer.setImmediate(()=>{Oe=void 0,ni()}))}s(Yn,"triggerMessageQueue");function Xn(m){n.Message.isRequest(m)?ai(m):n.Message.isNotification(m)?si(m):n.Message.isResponse(m)?ii(m):oi(m)}s(Xn,"handleMessage");function ni(){if(je.size===0)return;let m=je.shift();try{let N=R?.messageStrategy;he.is(N)?N.handleMessage(m,Xn):Xn(m)}finally{Yn()}}s(ni,"processMessageQueue");let Ms=s(m=>{try{if(n.Message.isNotification(m)&&m.method===l.type.method){let N=m.params.id,L=qn(N),x=je.get(L);if(n.Message.isRequest(x)){let le=R?.connectionStrategy,Ce=le&&le.cancelUndispatched?le.cancelUndispatched(x,ei):void 0;if(Ce&&(Ce.error!==void 0||Ce.result!==void 0)){je.delete(L),we.delete(N),Ce.id=x.id,_r(Ce,m.method,Date.now()),A.write(Ce).catch(()=>C.error("Sending response for canceled message failed."));return}}let me=we.get(N);if(me!==void 0){me.cancel(),Ur(m);return}else Ue.add(N)}Qa(je,m)}finally{Yn()}},"callback");function ai(m){if(xt())return;function N(ee,Ae,ie){let Le={jsonrpc:j,id:m.id};ee instanceof n.ResponseError?Le.error=ee.toJson():Le.result=ee===void 0?null:ee,_r(Le,Ae,ie),A.write(Le).catch(()=>C.error("Sending response failed."))}s(N,"reply");function L(ee,Ae,ie){let Le={jsonrpc:j,id:m.id,error:ee.toJson()};_r(Le,Ae,ie),A.write(Le).catch(()=>C.error("Sending response failed."))}s(L,"replyError");function x(ee,Ae,ie){ee===void 0&&(ee=null);let Le={jsonrpc:j,id:m.id,result:ee};_r(Le,Ae,ie),A.write(Le).catch(()=>C.error("Sending response failed."))}s(x,"replySuccess"),ci(m);let me=oe.get(m.method),le,Ce;me&&(le=me.type,Ce=me.handler);let Ie=Date.now();if(Ce||q){let ee=m.id??String(Date.now()),Ae=k.is(bt.receiver)?bt.receiver.createCancellationTokenSource(ee):bt.receiver.createCancellationTokenSource(m);m.id!==null&&Ue.has(m.id)&&Ae.cancel(),m.id!==null&&we.set(ee,Ae);try{let ie;if(Ce)if(m.params===void 0){if(le!==void 0&&le.numberOfParams!==0){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines ${le.numberOfParams} params but received none.`),m.method,Ie);return}ie=Ce(Ae.token)}else if(Array.isArray(m.params)){if(le!==void 0&&le.parameterStructures===n.ParameterStructures.byName){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by name but received parameters by position`),m.method,Ie);return}ie=Ce(...m.params,Ae.token)}else{if(le!==void 0&&le.parameterStructures===n.ParameterStructures.byPosition){L(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by position but received parameters by name`),m.method,Ie);return}ie=Ce(m.params,Ae.token)}else q&&(ie=q(m.method,m.params,Ae.token));let Le=ie;ie?Le.then?Le.then(Ve=>{we.delete(ee),N(Ve,m.method,Ie)},Ve=>{we.delete(ee),Ve instanceof n.ResponseError?L(Ve,m.method,Ie):Ve&&r.string(Ve.message)?L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${Ve.message}`),m.method,Ie):L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,Ie)}):(we.delete(ee),N(ie,m.method,Ie)):(we.delete(ee),x(ie,m.method,Ie))}catch(ie){we.delete(ee),ie instanceof n.ResponseError?N(ie,m.method,Ie):ie&&r.string(ie.message)?L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${ie.message}`),m.method,Ie):L(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,Ie)}}else L(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${m.method}`),m.method,Ie)}s(ai,"handleRequest");function ii(m){if(!xt())if(m.id===null)m.error?C.error(`Received response message without id: Error is: 
${JSON.stringify(m.error,void 0,4)}`):C.error("Received response message without id. No further error information provided.");else{let N=m.id,L=Re.get(N);if(fi(m,L),L!==void 0){Re.delete(N);try{if(m.error){let x=m.error;L.reject(new n.ResponseError(x.code,x.message,x.data))}else if(m.result!==void 0)L.resolve(m.result);else throw new Error("Should never happen.")}catch(x){x.message?C.error(`Response handler '${L.method}' failed with message: ${x.message}`):C.error(`Response handler '${L.method}' failed unexpectedly.`)}}}}s(ii,"handleResponse");function si(m){if(xt())return;let N,L;if(m.method===l.type.method){let x=m.params.id;Ue.delete(x),Ur(m);return}else{let x=Pe.get(m.method);x&&(L=x.handler,N=x.type)}if(L||V)try{if(Ur(m),L)if(m.params===void 0)N!==void 0&&N.numberOfParams!==0&&N.parameterStructures!==n.ParameterStructures.byName&&C.error(`Notification ${m.method} defines ${N.numberOfParams} params but received none.`),L();else if(Array.isArray(m.params)){let x=m.params;m.method===c.type.method&&x.length===2&&u.is(x[0])?L({token:x[0],value:x[1]}):(N!==void 0&&(N.parameterStructures===n.ParameterStructures.byName&&C.error(`Notification ${m.method} defines parameters by name but received parameters by position`),N.numberOfParams!==m.params.length&&C.error(`Notification ${m.method} defines ${N.numberOfParams} params but received ${x.length} arguments`)),L(...x))}else N!==void 0&&N.parameterStructures===n.ParameterStructures.byPosition&&C.error(`Notification ${m.method} defines parameters by position but received parameters by name`),L(m.params);else V&&V(m.method,m.params)}catch(x){x.message?C.error(`Notification handler '${m.method}' failed with message: ${x.message}`):C.error(`Notification handler '${m.method}' failed unexpectedly.`)}else Ha.fire(m)}s(si,"handleNotification");function oi(m){if(!m){C.error("Received empty message.");return}C.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(m,null,4)}`);let N=m;if(r.string(N.id)||r.number(N.id)){let L=N.id,x=Re.get(L);x&&x.reject(new Error("The received response has neither a result nor an error property."))}}s(oi,"handleInvalidMessage");function Tt(m){if(m!=null)switch(X){case h.Verbose:return JSON.stringify(m,null,4);case h.Compact:return JSON.stringify(m);default:return}}s(Tt,"stringifyTrace");function li(m){if(!(X===h.Off||!ce))if(Fe===v.Text){let N;(X===h.Verbose||X===h.Compact)&&m.params&&(N=`Params: ${Tt(m.params)}

`),ce.log(`Sending request '${m.method} - (${m.id})'.`,N)}else Ft("send-request",m)}s(li,"traceSendingRequest");function ui(m){if(!(X===h.Off||!ce))if(Fe===v.Text){let N;(X===h.Verbose||X===h.Compact)&&(m.params?N=`Params: ${Tt(m.params)}

`:N=`No parameters provided.

`),ce.log(`Sending notification '${m.method}'.`,N)}else Ft("send-notification",m)}s(ui,"traceSendingNotification");function _r(m,N,L){if(!(X===h.Off||!ce))if(Fe===v.Text){let x;(X===h.Verbose||X===h.Compact)&&(m.error&&m.error.data?x=`Error data: ${Tt(m.error.data)}

`:m.result?x=`Result: ${Tt(m.result)}

`:m.error===void 0&&(x=`No result returned.

`)),ce.log(`Sending response '${N} - (${m.id})'. Processing request took ${Date.now()-L}ms`,x)}else Ft("send-response",m)}s(_r,"traceSendingResponse");function ci(m){if(!(X===h.Off||!ce))if(Fe===v.Text){let N;(X===h.Verbose||X===h.Compact)&&m.params&&(N=`Params: ${Tt(m.params)}

`),ce.log(`Received request '${m.method} - (${m.id})'.`,N)}else Ft("receive-request",m)}s(ci,"traceReceivedRequest");function Ur(m){if(!(X===h.Off||!ce||m.method===I.type.method))if(Fe===v.Text){let N;(X===h.Verbose||X===h.Compact)&&(m.params?N=`Params: ${Tt(m.params)}

`:N=`No parameters provided.

`),ce.log(`Received notification '${m.method}'.`,N)}else Ft("receive-notification",m)}s(Ur,"traceReceivedNotification");function fi(m,N){if(!(X===h.Off||!ce))if(Fe===v.Text){let L;if((X===h.Verbose||X===h.Compact)&&(m.error&&m.error.data?L=`Error data: ${Tt(m.error.data)}

`:m.result?L=`Result: ${Tt(m.result)}

`:m.error===void 0&&(L=`No result returned.

`)),N){let x=m.error?` Request failed: ${m.error.message} (${m.error.code}).`:"";ce.log(`Received response '${N.method} - (${m.id})' in ${Date.now()-N.timerStart}ms.${x}`,L)}else ce.log(`Received response ${m.id} without active response promise.`,L)}else Ft("receive-response",m)}s(fi,"traceReceivedResponse");function Ft(m,N){if(!ce||X===h.Off)return;let L={isLSPMessage:!0,type:m,message:N,timestamp:Date.now()};ce.log(L)}s(Ft,"logLSPMessage");function er(){if(Vn())throw new b(w.Closed,"Connection is closed.");if(xt())throw new b(w.Disposed,"Connection is disposed.")}s(er,"throwIfClosedOrDisposed");function di(){if(Wn())throw new b(w.AlreadyListening,"Connection is already listening")}s(di,"throwIfListening");function pi(){if(!Wn())throw new Error("Call listen() first.")}s(pi,"throwIfNotListening");function tr(m){return m===void 0?null:m}s(tr,"undefinedToNull");function Jn(m){if(m!==null)return m}s(Jn,"nullToUndefined");function p(m){return m!=null&&!Array.isArray(m)&&typeof m=="object"}s(p,"isNamedParam");function re(m,N){switch(m){case n.ParameterStructures.auto:return p(N)?Jn(N):[tr(N)];case n.ParameterStructures.byName:if(!p(N))throw new Error("Received parameters by name but param is not an object literal.");return Jn(N);case n.ParameterStructures.byPosition:return[tr(N)];default:throw new Error(`Unknown parameter structure ${m.toString()}`)}}s(re,"computeSingleParam");function $e(m,N){let L,x=m.numberOfParams;switch(x){case 0:L=void 0;break;case 1:L=re(m.parameterStructures,N[0]);break;default:L=[];for(let me=0;me<N.length&&me<x;me++)L.push(tr(N[me]));if(N.length<x)for(let me=N.length;me<x;me++)L.push(null);break}return L}s($e,"computeMessageParams");let W={sendNotification:s((m,...N)=>{er();let L,x;if(r.string(m)){L=m;let le=N[0],Ce=0,Ie=n.ParameterStructures.auto;n.ParameterStructures.is(le)&&(Ce=1,Ie=le);let ee=N.length,Ae=ee-Ce;switch(Ae){case 0:x=void 0;break;case 1:x=re(Ie,N[Ce]);break;default:if(Ie===n.ParameterStructures.byName)throw new Error(`Received ${Ae} parameters for 'by Name' notification parameter structure.`);x=N.slice(Ce,ee).map(ie=>tr(ie));break}}else{let le=N;L=m.method,x=$e(m,le)}let me={jsonrpc:j,method:L,params:x};return ui(me),A.write(me).catch(le=>{throw C.error("Sending notification failed."),le})},"sendNotification"),onNotification:s((m,N)=>{er();let L;return r.func(m)?V=m:N&&(r.string(m)?(L=m,Pe.set(m,{type:void 0,handler:N})):(L=m.method,Pe.set(m.method,{type:m,handler:N}))),{dispose:s(()=>{L!==void 0?Pe.delete(L):V=void 0},"dispose")}},"onNotification"),onProgress:s((m,N,L)=>{if(ae.has(N))throw new Error(`Progress handler for token ${N} already registered`);return ae.set(N,L),{dispose:s(()=>{ae.delete(N)},"dispose")}},"onProgress"),sendProgress:s((m,N,L)=>W.sendNotification(c.type,{token:N,value:L}),"sendProgress"),onUnhandledProgress:Ya.event,sendRequest:s((m,...N)=>{er(),pi();let L,x,me;if(r.string(m)){L=m;let ee=N[0],Ae=N[N.length-1],ie=0,Le=n.ParameterStructures.auto;n.ParameterStructures.is(ee)&&(ie=1,Le=ee);let Ve=N.length;o.CancellationToken.is(Ae)&&(Ve=Ve-1,me=Ae);let Gt=Ve-ie;switch(Gt){case 0:x=void 0;break;case 1:x=re(Le,N[ie]);break;default:if(Le===n.ParameterStructures.byName)throw new Error(`Received ${Gt} parameters for 'by Name' request parameter structure.`);x=N.slice(ie,Ve).map(TS=>tr(TS));break}}else{let ee=N;L=m.method,x=$e(m,ee);let Ae=m.numberOfParams;me=o.CancellationToken.is(ee[Ae])?ee[Ae]:void 0}let le=O++,Ce;me&&(Ce=me.onCancellationRequested(()=>{let ee=bt.sender.sendCancellation(W,le);return ee===void 0?(C.log(`Received no promise from cancellation strategy when cancelling id ${le}`),Promise.resolve()):ee.catch(()=>{C.log(`Sending cancellation messages for id ${le} failed`)})}));let Ie={jsonrpc:j,id:le,method:L,params:x};return li(Ie),typeof bt.sender.enableCancellation=="function"&&bt.sender.enableCancellation(Ie),new Promise(async(ee,Ae)=>{let ie=s(Gt=>{ee(Gt),bt.sender.cleanup(le),Ce?.dispose()},"resolveWithCleanup"),Le=s(Gt=>{Ae(Gt),bt.sender.cleanup(le),Ce?.dispose()},"rejectWithCleanup"),Ve={method:L,timerStart:Date.now(),resolve:ie,reject:Le};try{await A.write(Ie),Re.set(le,Ve)}catch(Gt){throw C.error("Sending request failed."),Ve.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,Gt.message?Gt.message:"Unknown reason")),Gt}})},"sendRequest"),onRequest:s((m,N)=>{er();let L=null;return d.is(m)?(L=void 0,q=m):r.string(m)?(L=null,N!==void 0&&(L=m,oe.set(m,{handler:N,type:void 0}))):N!==void 0&&(L=m.method,oe.set(m.method,{type:m,handler:N})),{dispose:s(()=>{L!==null&&(L!==void 0?oe.delete(L):q=void 0)},"dispose")}},"onRequest"),hasPendingResponse:s(()=>Re.size>0,"hasPendingResponse"),trace:s(async(m,N,L)=>{let x=!1,me=v.Text;L!==void 0&&(r.boolean(L)?x=L:(x=L.sendNotification||!1,me=L.traceFormat||v.Text)),X=m,Fe=me,X===h.Off?ce=void 0:ce=N,x&&!Vn()&&!xt()&&await W.sendNotification(S.type,{value:h.toString(m)})},"trace"),onError:Kn.event,onClose:Va.event,onUnhandledNotification:Ha.event,onDispose:Xa.event,end:s(()=>{A.end()},"end"),dispose:s(()=>{if(xt())return;nt=P.Disposed,Xa.fire(void 0);let m=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let N of Re.values())N.reject(m);Re=new Map,we=new Map,Ue=new Set,je=new a.LinkedMap,r.func(A.dispose)&&A.dispose(),r.func(g.dispose)&&g.dispose()},"dispose"),listen:s(()=>{er(),di(),nt=P.Listening,g.listen(Ms)},"listen"),inspect:s(()=>{(0,t.default)().console.log("inspect")},"inspect")};return W.onNotification(I.type,m=>{if(X===h.Off||!ce)return;let N=X===h.Verbose||X===h.Compact;ce.log(m.message,N?m.verbose:void 0)}),W.onNotification(c.type,m=>{let N=ae.get(m.token);N?N(m.value):Ya.fire(m)}),W}s(_,"createMessageConnection"),e.createMessageConnection=_}}),Wc=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=vg();Object.defineProperty(e,"Message",{enumerable:!0,get:s(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:s(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:s(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:s(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:s(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:s(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:s(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:s(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:s(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:s(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:s(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:s(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:s(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:s(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:s(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:s(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:s(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:s(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:s(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:s(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:s(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:s(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:s(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:s(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:s(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:s(function(){return t.ParameterStructures},"get")});var r=Rg();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:s(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:s(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:s(function(){return r.Touch},"get")});var n=CS();Object.defineProperty(e,"Disposable",{enumerable:!0,get:s(function(){return n.Disposable},"get")});var a=xa();Object.defineProperty(e,"Event",{enumerable:!0,get:s(function(){return a.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:s(function(){return a.Emitter},"get")});var i=gl();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:s(function(){return i.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:s(function(){return i.CancellationToken},"get")});var o=bS();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:s(function(){return o.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:s(function(){return o.SharedArrayReceiverStrategy},"get")});var l=SS();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:s(function(){return l.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:s(function(){return l.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:s(function(){return l.ReadableStreamMessageReader},"get")});var u=wS();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:s(function(){return u.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:s(function(){return u.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:s(function(){return u.WriteableStreamMessageWriter},"get")});var c=IS();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:s(function(){return c.AbstractMessageBuffer},"get")});var f=NS();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:s(function(){return f.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:s(function(){return f.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:s(function(){return f.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:s(function(){return f.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:s(function(){return f.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:s(function(){return f.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:s(function(){return f.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:s(function(){return f.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:s(function(){return f.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:s(function(){return f.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:s(function(){return f.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:s(function(){return f.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:s(function(){return f.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:s(function(){return f.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:s(function(){return f.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:s(function(){return f.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:s(function(){return f.MessageStrategy},"get")});var d=En();e.RAL=d.default}}),kS=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Wc(),r=class Eg extends t.AbstractMessageBuffer{static{s(this,"MessageBuffer")}constructor(c="utf-8"){super(c),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Eg.emptyBuffer}fromString(c,f){return new TextEncoder().encode(c)}toString(c,f){return f==="ascii"?this.asciiDecoder.decode(c):new TextDecoder(f).decode(c)}asNative(c,f){return f===void 0?c:c.slice(0,f)}allocNative(c){return new Uint8Array(c)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{s(this,"ReadableStreamWrapper")}constructor(u){this.socket=u,this._onData=new t.Emitter,this._messageListener=c=>{c.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(u){return this.socket.addEventListener("close",u),t.Disposable.create(()=>this.socket.removeEventListener("close",u))}onError(u){return this.socket.addEventListener("error",u),t.Disposable.create(()=>this.socket.removeEventListener("error",u))}onEnd(u){return this.socket.addEventListener("end",u),t.Disposable.create(()=>this.socket.removeEventListener("end",u))}onData(u){return this._onData.event(u)}},a=class{static{s(this,"WritableStreamWrapper")}constructor(u){this.socket=u}onClose(u){return this.socket.addEventListener("close",u),t.Disposable.create(()=>this.socket.removeEventListener("close",u))}onError(u){return this.socket.addEventListener("error",u),t.Disposable.create(()=>this.socket.removeEventListener("error",u))}onEnd(u){return this.socket.addEventListener("end",u),t.Disposable.create(()=>this.socket.removeEventListener("end",u))}write(u,c){if(typeof u=="string"){if(c!==void 0&&c!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c}`);this.socket.send(u)}else this.socket.send(u);return Promise.resolve()}end(){this.socket.close()}},i=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:s(u=>new r(u),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:s((u,c)=>{if(c.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c.charset}`);return Promise.resolve(i.encode(JSON.stringify(u,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:s((u,c)=>{if(!(u instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(c.charset).decode(u)))},"decode")})}),stream:Object.freeze({asReadableStream:s(u=>new n(u),"asReadableStream"),asWritableStream:s(u=>new a(u),"asWritableStream")}),console,timer:Object.freeze({setTimeout(u,c,...f){let d=setTimeout(u,c,...f);return{dispose:s(()=>clearTimeout(d),"dispose")}},setImmediate(u,...c){let f=setTimeout(u,0,...c);return{dispose:s(()=>clearTimeout(f),"dispose")}},setInterval(u,c,...f){let d=setInterval(u,c,...f);return{dispose:s(()=>clearInterval(d),"dispose")}}})});function l(){return o}s(l,"RIL"),(function(u){function c(){t.RAL.install(o)}s(c,"install"),u.install=c})(l||(l={})),e.default=l}}),Fa=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(u,c,f,d){d===void 0&&(d=f);var h=Object.getOwnPropertyDescriptor(c,f);(!h||("get"in h?!c.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:s(function(){return c[f]},"get")}),Object.defineProperty(u,d,h)}):(function(u,c,f,d){d===void 0&&(d=f),u[d]=c[f]})),r=e&&e.__exportStar||function(u,c){for(var f in u)f!=="default"&&!Object.prototype.hasOwnProperty.call(c,f)&&t(c,u,f)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0;var n=kS();n.default.install();var a=Wc();r(Wc(),e);var i=class extends a.AbstractMessageReader{static{s(this,"BrowserMessageReader")}constructor(u){super(),this._onData=new a.Emitter,this._messageListener=c=>{this._onData.fire(c.data)},u.addEventListener("error",c=>this.fireError(c)),u.onmessage=this._messageListener}listen(u){return this._onData.event(u)}};e.BrowserMessageReader=i;var o=class extends a.AbstractMessageWriter{static{s(this,"BrowserMessageWriter")}constructor(u){super(),this.port=u,this.errorCount=0,u.addEventListener("error",c=>this.fireError(c))}write(u){try{return this.port.postMessage(u),Promise.resolve()}catch(c){return this.handleError(c,u),Promise.reject(c)}}handleError(u,c){this.errorCount++,this.fireError(u,c,this.errorCount)}end(){}};e.BrowserMessageWriter=o;function l(u,c,f,d){return f===void 0&&(f=a.NullLogger),a.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,a.createMessageConnection)(u,c,f,d)}s(l,"createMessageConnection"),e.createMessageConnection=l}}),Nh=H({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){"use strict";t.exports=Fa()}}),_e=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t=Fa(),r;(function(u){u.clientToServer="clientToServer",u.serverToClient="serverToClient",u.both="both"})(r||(e.MessageDirection=r={}));var n=class{static{s(this,"RegistrationType")}constructor(u){this.method=u}};e.RegistrationType=n;var a=class extends t.RequestType0{static{s(this,"ProtocolRequestType0")}constructor(u){super(u)}};e.ProtocolRequestType0=a;var i=class extends t.RequestType{static{s(this,"ProtocolRequestType")}constructor(u){super(u,t.ParameterStructures.byName)}};e.ProtocolRequestType=i;var o=class extends t.NotificationType0{static{s(this,"ProtocolNotificationType0")}constructor(u){super(u)}};e.ProtocolNotificationType0=o;var l=class extends t.NotificationType{static{s(this,"ProtocolNotificationType")}constructor(u){super(u,t.ParameterStructures.byName)}};e.ProtocolNotificationType=l}}),qf=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(f){return f===!0||f===!1}s(t,"boolean"),e.boolean=t;function r(f){return typeof f=="string"||f instanceof String}s(r,"string"),e.string=r;function n(f){return typeof f=="number"||f instanceof Number}s(n,"number"),e.number=n;function a(f){return f instanceof Error}s(a,"error"),e.error=a;function i(f){return typeof f=="function"}s(i,"func"),e.func=i;function o(f){return Array.isArray(f)}s(o,"array"),e.array=o;function l(f){return o(f)&&f.every(d=>r(d))}s(l,"stringArray"),e.stringArray=l;function u(f,d){return Array.isArray(f)&&f.every(d)}s(u,"typedArray"),e.typedArray=u;function c(f){return f!==null&&typeof f=="object"}s(c,"objectLiteral"),e.objectLiteral=c}}),PS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ImplementationRequest=r={}))}}),OS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.TypeDefinitionRequest=r={}))}}),LS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t=_e(),r;(function(a){a.method="workspace/workspaceFolders",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(r||(e.WorkspaceFoldersRequest=r={}));var n;(function(a){a.method="workspace/didChangeWorkspaceFolders",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolNotificationType(a.method)})(n||(e.DidChangeWorkspaceFoldersNotification=n={}))}}),DS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t=_e(),r;(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ConfigurationRequest=r={}))}}),MS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t=_e(),r;(function(a){a.method="textDocument/documentColor",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.DocumentColorRequest=r={}));var n;(function(a){a.method="textDocument/colorPresentation",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(n||(e.ColorPresentationRequest=n={}))}}),xS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t=_e(),r;(function(a){a.method="textDocument/foldingRange",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.FoldingRangeRequest=r={}));var n;(function(a){a.method="workspace/foldingRange/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.FoldingRangeRefreshRequest=n={}))}}),FS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.DeclarationRequest=r={}))}}),GS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.SelectionRangeRequest=r={}))}}),jS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t=Fa(),r=_e(),n;(function(o){o.type=new t.ProgressType;function l(u){return u===o.type}s(l,"is"),o.is=l})(n||(e.WorkDoneProgress=n={}));var a;(function(o){o.method="window/workDoneProgress/create",o.messageDirection=r.MessageDirection.serverToClient,o.type=new r.ProtocolRequestType(o.method)})(a||(e.WorkDoneProgressCreateRequest=a={}));var i;(function(o){o.method="window/workDoneProgress/cancel",o.messageDirection=r.MessageDirection.clientToServer,o.type=new r.ProtocolNotificationType(o.method)})(i||(e.WorkDoneProgressCancelNotification=i={}))}}),US=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t=_e(),r;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(e.CallHierarchyPrepareRequest=r={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(e.CallHierarchyIncomingCallsRequest=n={}));var a;(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(a||(e.CallHierarchyOutgoingCallsRequest=a={}))}}),zS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t=_e(),r;(function(u){u.Relative="relative"})(r||(e.TokenFormat=r={}));var n;(function(u){u.method="textDocument/semanticTokens",u.type=new t.RegistrationType(u.method)})(n||(e.SemanticTokensRegistrationType=n={}));var a;(function(u){u.method="textDocument/semanticTokens/full",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method),u.registrationMethod=n.method})(a||(e.SemanticTokensRequest=a={}));var i;(function(u){u.method="textDocument/semanticTokens/full/delta",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method),u.registrationMethod=n.method})(i||(e.SemanticTokensDeltaRequest=i={}));var o;(function(u){u.method="textDocument/semanticTokens/range",u.messageDirection=t.MessageDirection.clientToServer,u.type=new t.ProtocolRequestType(u.method),u.registrationMethod=n.method})(o||(e.SemanticTokensRangeRequest=o={}));var l;(function(u){u.method="workspace/semanticTokens/refresh",u.messageDirection=t.MessageDirection.serverToClient,u.type=new t.ProtocolRequestType0(u.method)})(l||(e.SemanticTokensRefreshRequest=l={}))}}),BS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t=_e(),r;(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ShowDocumentRequest=r={}))}}),KS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.LinkedEditingRangeRequest=r={}))}}),qS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t=_e(),r;(function(c){c.file="file",c.folder="folder"})(r||(e.FileOperationPatternKind=r={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(e.WillCreateFilesRequest=n={}));var a;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||(e.DidCreateFilesNotification=a={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(e.WillRenameFilesRequest=i={}));var o;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(o||(e.DidRenameFilesNotification=o={}));var l;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(l||(e.DidDeleteFilesNotification=l={}));var u;(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(u||(e.WillDeleteFilesRequest=u={}))}}),WS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t=_e(),r;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(r||(e.UniquenessLevel=r={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(e.MonikerKind=n={}));var a;(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(a||(e.MonikerRequest=a={}))}}),VS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=_e(),r;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(e.TypeHierarchyPrepareRequest=r={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(e.TypeHierarchySupertypesRequest=n={}));var a;(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(a||(e.TypeHierarchySubtypesRequest=a={}))}}),HS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t=_e(),r;(function(a){a.method="textDocument/inlineValue",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.InlineValueRequest=r={}));var n;(function(a){a.method="workspace/inlineValue/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.InlineValueRefreshRequest=n={}))}}),YS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t=_e(),r;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(e.InlayHintRequest=r={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(e.InlayHintResolveRequest=n={}));var a;(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(a||(e.InlayHintRefreshRequest=a={}))}}),XS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t=Fa(),r=qf(),n=_e(),a;(function(c){function f(d){let h=d;return h&&r.boolean(h.retriggerRequest)}s(f,"is"),c.is=f})(a||(e.DiagnosticServerCancellationData=a={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(e.DocumentDiagnosticReportKind=i={}));var o;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(o||(e.DocumentDiagnosticRequest=o={}));var l;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(l||(e.WorkspaceDiagnosticRequest=l={}));var u;(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(u||(e.DiagnosticRefreshRequest=u={}))}}),JS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t=(gs(),Kf(ml)),r=qf(),n=_e(),a;(function(v){v.Markup=1,v.Code=2;function S(I){return I===1||I===2}s(S,"is"),v.is=S})(a||(e.NotebookCellKind=a={}));var i;(function(v){function S(b,E){let k={executionOrder:b};return(E===!0||E===!1)&&(k.success=E),k}s(S,"create"),v.create=S;function I(b){let E=b;return r.objectLiteral(E)&&t.uinteger.is(E.executionOrder)&&(E.success===void 0||r.boolean(E.success))}s(I,"is"),v.is=I;function w(b,E){return b===E?!0:b==null||E===null||E===void 0?!1:b.executionOrder===E.executionOrder&&b.success===E.success}s(w,"equals"),v.equals=w})(i||(e.ExecutionSummary=i={}));var o;(function(v){function S(E,k){return{kind:E,document:k}}s(S,"create"),v.create=S;function I(E){let k=E;return r.objectLiteral(k)&&a.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||r.objectLiteral(k.metadata))}s(I,"is"),v.is=I;function w(E,k){let G=new Set;return E.document!==k.document&&G.add("document"),E.kind!==k.kind&&G.add("kind"),E.executionSummary!==k.executionSummary&&G.add("executionSummary"),(E.metadata!==void 0||k.metadata!==void 0)&&!b(E.metadata,k.metadata)&&G.add("metadata"),(E.executionSummary!==void 0||k.executionSummary!==void 0)&&!i.equals(E.executionSummary,k.executionSummary)&&G.add("executionSummary"),G}s(w,"diff"),v.diff=w;function b(E,k){if(E===k)return!0;if(E==null||k===null||k===void 0||typeof E!=typeof k||typeof E!="object")return!1;let G=Array.isArray(E),Q=Array.isArray(k);if(G!==Q)return!1;if(G&&Q){if(E.length!==k.length)return!1;for(let Y=0;Y<E.length;Y++)if(!b(E[Y],k[Y]))return!1}if(r.objectLiteral(E)&&r.objectLiteral(k)){let Y=Object.keys(E),ue=Object.keys(k);if(Y.length!==ue.length||(Y.sort(),ue.sort(),!b(Y,ue)))return!1;for(let he=0;he<Y.length;he++){let Te=Y[he];if(!b(E[Te],k[Te]))return!1}}return!0}s(b,"equalsMetadata")})(o||(e.NotebookCell=o={}));var l;(function(v){function S(w,b,E,k){return{uri:w,notebookType:b,version:E,cells:k}}s(S,"create"),v.create=S;function I(w){let b=w;return r.objectLiteral(b)&&r.string(b.uri)&&t.integer.is(b.version)&&r.typedArray(b.cells,o.is)}s(I,"is"),v.is=I})(l||(e.NotebookDocument=l={}));var u;(function(v){v.method="notebookDocument/sync",v.messageDirection=n.MessageDirection.clientToServer,v.type=new n.RegistrationType(v.method)})(u||(e.NotebookDocumentSyncRegistrationType=u={}));var c;(function(v){v.method="notebookDocument/didOpen",v.messageDirection=n.MessageDirection.clientToServer,v.type=new n.ProtocolNotificationType(v.method),v.registrationMethod=u.method})(c||(e.DidOpenNotebookDocumentNotification=c={}));var f;(function(v){function S(w){let b=w;return r.objectLiteral(b)&&t.uinteger.is(b.start)&&t.uinteger.is(b.deleteCount)&&(b.cells===void 0||r.typedArray(b.cells,o.is))}s(S,"is"),v.is=S;function I(w,b,E){let k={start:w,deleteCount:b};return E!==void 0&&(k.cells=E),k}s(I,"create"),v.create=I})(f||(e.NotebookCellArrayChange=f={}));var d;(function(v){v.method="notebookDocument/didChange",v.messageDirection=n.MessageDirection.clientToServer,v.type=new n.ProtocolNotificationType(v.method),v.registrationMethod=u.method})(d||(e.DidChangeNotebookDocumentNotification=d={}));var h;(function(v){v.method="notebookDocument/didSave",v.messageDirection=n.MessageDirection.clientToServer,v.type=new n.ProtocolNotificationType(v.method),v.registrationMethod=u.method})(h||(e.DidSaveNotebookDocumentNotification=h={}));var y;(function(v){v.method="notebookDocument/didClose",v.messageDirection=n.MessageDirection.clientToServer,v.type=new n.ProtocolNotificationType(v.method),v.registrationMethod=u.method})(y||(e.DidCloseNotebookDocumentNotification=y={}))}}),ZS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t=_e(),r;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.InlineCompletionRequest=r={}))}}),QS=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=_e(),r=(gs(),Kf(ml)),n=qf(),a=PS();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:s(function(){return a.ImplementationRequest},"get")});var i=OS();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:s(function(){return i.TypeDefinitionRequest},"get")});var o=LS();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:s(function(){return o.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:s(function(){return o.DidChangeWorkspaceFoldersNotification},"get")});var l=DS();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:s(function(){return l.ConfigurationRequest},"get")});var u=MS();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:s(function(){return u.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:s(function(){return u.ColorPresentationRequest},"get")});var c=xS();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:s(function(){return c.FoldingRangeRefreshRequest},"get")});var f=FS();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:s(function(){return f.DeclarationRequest},"get")});var d=GS();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:s(function(){return d.SelectionRangeRequest},"get")});var h=jS();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:s(function(){return h.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:s(function(){return h.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:s(function(){return h.WorkDoneProgressCancelNotification},"get")});var y=US();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return y.CallHierarchyPrepareRequest},"get")});var v=zS();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:s(function(){return v.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:s(function(){return v.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:s(function(){return v.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:s(function(){return v.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:s(function(){return v.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:s(function(){return v.SemanticTokensRegistrationType},"get")});var S=BS();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:s(function(){return S.ShowDocumentRequest},"get")});var I=KS();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:s(function(){return I.LinkedEditingRangeRequest},"get")});var w=qS();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:s(function(){return w.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:s(function(){return w.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:s(function(){return w.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:s(function(){return w.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:s(function(){return w.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:s(function(){return w.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:s(function(){return w.WillDeleteFilesRequest},"get")});var b=WS();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:s(function(){return b.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:s(function(){return b.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:s(function(){return b.MonikerRequest},"get")});var E=VS();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:s(function(){return E.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:s(function(){return E.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:s(function(){return E.TypeHierarchySupertypesRequest},"get")});var k=HS();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:s(function(){return k.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:s(function(){return k.InlineValueRefreshRequest},"get")});var G=YS();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:s(function(){return G.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:s(function(){return G.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:s(function(){return G.InlayHintRefreshRequest},"get")});var Q=XS();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:s(function(){return Q.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:s(function(){return Q.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:s(function(){return Q.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:s(function(){return Q.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:s(function(){return Q.DiagnosticRefreshRequest},"get")});var Y=JS();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:s(function(){return Y.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:s(function(){return Y.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:s(function(){return Y.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:s(function(){return Y.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:s(function(){return Y.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Y.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:s(function(){return Y.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Y.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Y.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:s(function(){return Y.DidCloseNotebookDocumentNotification},"get")});var ue=ZS();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:s(function(){return ue.InlineCompletionRequest},"get")});var he;(function(p){function re($e){let W=$e;return n.string(W)||n.string(W.language)||n.string(W.scheme)||n.string(W.pattern)}s(re,"is"),p.is=re})(he||(e.TextDocumentFilter=he={}));var Te;(function(p){function re($e){let W=$e;return n.objectLiteral(W)&&(n.string(W.notebookType)||n.string(W.scheme)||n.string(W.pattern))}s(re,"is"),p.is=re})(Te||(e.NotebookDocumentFilter=Te={}));var P;(function(p){function re($e){let W=$e;return n.objectLiteral(W)&&(n.string(W.notebook)||Te.is(W.notebook))&&(W.language===void 0||n.string(W.language))}s(re,"is"),p.is=re})(P||(e.NotebookCellTextDocumentFilter=P={}));var _;(function(p){function re($e){if(!Array.isArray($e))return!1;for(let W of $e)if(!n.string(W)&&!he.is(W)&&!P.is(W))return!1;return!0}s(re,"is"),p.is=re})(_||(e.DocumentSelector=_={}));var g;(function(p){p.method="client/registerCapability",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType(p.method)})(g||(e.RegistrationRequest=g={}));var A;(function(p){p.method="client/unregisterCapability",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType(p.method)})(A||(e.UnregistrationRequest=A={}));var T;(function(p){p.Create="create",p.Rename="rename",p.Delete="delete"})(T||(e.ResourceOperationKind=T={}));var R;(function(p){p.Abort="abort",p.Transactional="transactional",p.TextOnlyTransactional="textOnlyTransactional",p.Undo="undo"})(R||(e.FailureHandlingKind=R={}));var C;(function(p){p.UTF8="utf-8",p.UTF16="utf-16",p.UTF32="utf-32"})(C||(e.PositionEncodingKind=C={}));var O;(function(p){function re($e){let W=$e;return W&&n.string(W.id)&&W.id.length>0}s(re,"hasId"),p.hasId=re})(O||(e.StaticRegistrationOptions=O={}));var M;(function(p){function re($e){let W=$e;return W&&(W.documentSelector===null||_.is(W.documentSelector))}s(re,"is"),p.is=re})(M||(e.TextDocumentRegistrationOptions=M={}));var D;(function(p){function re(W){let m=W;return n.objectLiteral(m)&&(m.workDoneProgress===void 0||n.boolean(m.workDoneProgress))}s(re,"is"),p.is=re;function $e(W){let m=W;return m&&n.boolean(m.workDoneProgress)}s($e,"hasWorkDoneProgress"),p.hasWorkDoneProgress=$e})(D||(e.WorkDoneProgressOptions=D={}));var j;(function(p){p.method="initialize",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(j||(e.InitializeRequest=j={}));var q;(function(p){p.unknownProtocolVersion=1})(q||(e.InitializeErrorCodes=q={}));var oe;(function(p){p.method="initialized",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(oe||(e.InitializedNotification=oe={}));var V;(function(p){p.method="shutdown",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType0(p.method)})(V||(e.ShutdownRequest=V={}));var Pe;(function(p){p.method="exit",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType0(p.method)})(Pe||(e.ExitNotification=Pe={}));var ae;(function(p){p.method="workspace/didChangeConfiguration",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(ae||(e.DidChangeConfigurationNotification=ae={}));var Oe;(function(p){p.Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5})(Oe||(e.MessageType=Oe={}));var je;(function(p){p.method="window/showMessage",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(je||(e.ShowMessageNotification=je={}));var Re;(function(p){p.method="window/showMessageRequest",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType(p.method)})(Re||(e.ShowMessageRequest=Re={}));var Ue;(function(p){p.method="window/logMessage",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(Ue||(e.LogMessageNotification=Ue={}));var we;(function(p){p.method="telemetry/event",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(we||(e.TelemetryEventNotification=we={}));var X;(function(p){p.None=0,p.Full=1,p.Incremental=2})(X||(e.TextDocumentSyncKind=X={}));var Fe;(function(p){p.method="textDocument/didOpen",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Fe||(e.DidOpenTextDocumentNotification=Fe={}));var ce;(function(p){function re(W){let m=W;return m!=null&&typeof m.text=="string"&&m.range!==void 0&&(m.rangeLength===void 0||typeof m.rangeLength=="number")}s(re,"isIncremental"),p.isIncremental=re;function $e(W){let m=W;return m!=null&&typeof m.text=="string"&&m.range===void 0&&m.rangeLength===void 0}s($e,"isFull"),p.isFull=$e})(ce||(e.TextDocumentContentChangeEvent=ce={}));var nt;(function(p){p.method="textDocument/didChange",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(nt||(e.DidChangeTextDocumentNotification=nt={}));var Kn;(function(p){p.method="textDocument/didClose",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Kn||(e.DidCloseTextDocumentNotification=Kn={}));var Va;(function(p){p.method="textDocument/didSave",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Va||(e.DidSaveTextDocumentNotification=Va={}));var Ha;(function(p){p.Manual=1,p.AfterDelay=2,p.FocusOut=3})(Ha||(e.TextDocumentSaveReason=Ha={}));var Ya;(function(p){p.method="textDocument/willSave",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(Ya||(e.WillSaveTextDocumentNotification=Ya={}));var Xa;(function(p){p.method="textDocument/willSaveWaitUntil",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Xa||(e.WillSaveTextDocumentWaitUntilRequest=Xa={}));var bt;(function(p){p.method="workspace/didChangeWatchedFiles",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolNotificationType(p.method)})(bt||(e.DidChangeWatchedFilesNotification=bt={}));var qn;(function(p){p.Created=1,p.Changed=2,p.Deleted=3})(qn||(e.FileChangeType=qn={}));var Ja;(function(p){function re($e){let W=$e;return n.objectLiteral(W)&&(r.URI.is(W.baseUri)||r.WorkspaceFolder.is(W.baseUri))&&n.string(W.pattern)}s(re,"is"),p.is=re})(Ja||(e.RelativePattern=Ja={}));var Za;(function(p){p.Create=1,p.Change=2,p.Delete=4})(Za||(e.WatchKind=Za={}));var Qa;(function(p){p.method="textDocument/publishDiagnostics",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolNotificationType(p.method)})(Qa||(e.PublishDiagnosticsNotification=Qa={}));var ei;(function(p){p.Invoked=1,p.TriggerCharacter=2,p.TriggerForIncompleteCompletions=3})(ei||(e.CompletionTriggerKind=ei={}));var Wn;(function(p){p.method="textDocument/completion",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Wn||(e.CompletionRequest=Wn={}));var Vn;(function(p){p.method="completionItem/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Vn||(e.CompletionResolveRequest=Vn={}));var xt;(function(p){p.method="textDocument/hover",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(xt||(e.HoverRequest=xt={}));var Hn;(function(p){p.Invoked=1,p.TriggerCharacter=2,p.ContentChange=3})(Hn||(e.SignatureHelpTriggerKind=Hn={}));var ti;(function(p){p.method="textDocument/signatureHelp",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ti||(e.SignatureHelpRequest=ti={}));var ri;(function(p){p.method="textDocument/definition",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ri||(e.DefinitionRequest=ri={}));var Yn;(function(p){p.method="textDocument/references",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Yn||(e.ReferencesRequest=Yn={}));var Xn;(function(p){p.method="textDocument/documentHighlight",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Xn||(e.DocumentHighlightRequest=Xn={}));var ni;(function(p){p.method="textDocument/documentSymbol",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ni||(e.DocumentSymbolRequest=ni={}));var Ms;(function(p){p.method="textDocument/codeAction",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ms||(e.CodeActionRequest=Ms={}));var ai;(function(p){p.method="codeAction/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ai||(e.CodeActionResolveRequest=ai={}));var ii;(function(p){p.method="workspace/symbol",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ii||(e.WorkspaceSymbolRequest=ii={}));var si;(function(p){p.method="workspaceSymbol/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(si||(e.WorkspaceSymbolResolveRequest=si={}));var oi;(function(p){p.method="textDocument/codeLens",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(oi||(e.CodeLensRequest=oi={}));var Tt;(function(p){p.method="codeLens/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Tt||(e.CodeLensResolveRequest=Tt={}));var li;(function(p){p.method="workspace/codeLens/refresh",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType0(p.method)})(li||(e.CodeLensRefreshRequest=li={}));var ui;(function(p){p.method="textDocument/documentLink",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ui||(e.DocumentLinkRequest=ui={}));var _r;(function(p){p.method="documentLink/resolve",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(_r||(e.DocumentLinkResolveRequest=_r={}));var ci;(function(p){p.method="textDocument/formatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(ci||(e.DocumentFormattingRequest=ci={}));var Ur;(function(p){p.method="textDocument/rangeFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ur||(e.DocumentRangeFormattingRequest=Ur={}));var fi;(function(p){p.method="textDocument/rangesFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(fi||(e.DocumentRangesFormattingRequest=fi={}));var Ft;(function(p){p.method="textDocument/onTypeFormatting",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(Ft||(e.DocumentOnTypeFormattingRequest=Ft={}));var er;(function(p){p.Identifier=1})(er||(e.PrepareSupportDefaultBehavior=er={}));var di;(function(p){p.method="textDocument/rename",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(di||(e.RenameRequest=di={}));var pi;(function(p){p.method="textDocument/prepareRename",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(pi||(e.PrepareRenameRequest=pi={}));var tr;(function(p){p.method="workspace/executeCommand",p.messageDirection=t.MessageDirection.clientToServer,p.type=new t.ProtocolRequestType(p.method)})(tr||(e.ExecuteCommandRequest=tr={}));var Jn;(function(p){p.method="workspace/applyEdit",p.messageDirection=t.MessageDirection.serverToClient,p.type=new t.ProtocolRequestType("workspace/applyEdit")})(Jn||(e.ApplyWorkspaceEditRequest=Jn={}))}}),ew=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=Fa();function r(n,a,i,o){return t.ConnectionStrategy.is(o)&&(o={connectionStrategy:o}),(0,t.createMessageConnection)(n,a,i,o)}s(r,"createProtocolConnection"),e.createProtocolConnection=r}}),tw=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(i,o,l,u){u===void 0&&(u=l);var c=Object.getOwnPropertyDescriptor(o,l);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[l]},"get")}),Object.defineProperty(i,u,c)}):(function(i,o,l,u){u===void 0&&(u=l),i[u]=o[l]})),r=e&&e.__exportStar||function(i,o){for(var l in i)l!=="default"&&!Object.prototype.hasOwnProperty.call(o,l)&&t(o,i,l)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,r(Fa(),e),r((gs(),Kf(ml)),e),r(_e(),e),r(QS(),e);var n=ew();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:s(function(){return n.createProtocolConnection},"get")});var a;(function(i){i.lspReservedErrorRangeStart=-32899,i.RequestFailed=-32803,i.ServerCancelled=-32802,i.ContentModified=-32801,i.RequestCancelled=-32800,i.lspReservedErrorRangeEnd=-32800})(a||(e.LSPErrorCodes=a={}))}}),rw=H({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(i,o,l,u){u===void 0&&(u=l);var c=Object.getOwnPropertyDescriptor(o,l);(!c||("get"in c?!o.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:s(function(){return o[l]},"get")}),Object.defineProperty(i,u,c)}):(function(i,o,l,u){u===void 0&&(u=l),i[u]=o[l]})),r=e&&e.__exportStar||function(i,o){for(var l in i)l!=="default"&&!Object.prototype.hasOwnProperty.call(o,l)&&t(o,i,l)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=Nh();r(Nh(),e),r(tw(),e);function a(i,o,l,u){return(0,n.createMessageConnection)(i,o,l,u)}s(a,"createProtocolConnection"),e.createProtocolConnection=a}}),_g={};Mr(_g,{AbstractAstReflection:()=>Hf,AbstractCstNode:()=>Xp,AbstractLangiumParser:()=>Zp,AbstractParserErrorMessageProvider:()=>pb,AbstractThreadedAsyncParser:()=>k1,AstUtils:()=>Yf,BiMap:()=>ul,Cancellation:()=>de,CompositeCstNodeImpl:()=>du,ContextCache:()=>Tu,CstNodeBuilder:()=>ub,CstUtils:()=>Wf,DEFAULT_TOKENIZE_OPTIONS:()=>gh,DONE_RESULT:()=>He,DatatypeSymbol:()=>il,DefaultAstNodeDescriptionProvider:()=>Bb,DefaultAstNodeLocator:()=>qb,DefaultAsyncParser:()=>uS,DefaultCommentProvider:()=>lS,DefaultConfigurationProvider:()=>Wb,DefaultDocumentBuilder:()=>Vb,DefaultDocumentValidator:()=>zb,DefaultHydrator:()=>fS,DefaultIndexManager:()=>Hb,DefaultJsonSerializer:()=>Fb,DefaultLangiumDocumentFactory:()=>Ib,DefaultLangiumDocuments:()=>Nb,DefaultLangiumProfiler:()=>M1,DefaultLexer:()=>yh,DefaultLexerErrorMessageProvider:()=>Xb,DefaultLinker:()=>kb,DefaultNameProvider:()=>Pb,DefaultReferenceDescriptionProvider:()=>Kb,DefaultReferences:()=>Ob,DefaultScopeComputation:()=>Lb,DefaultScopeProvider:()=>xb,DefaultServiceRegistry:()=>Gb,DefaultTokenBuilder:()=>mu,DefaultValueConverter:()=>ih,DefaultWorkspaceLock:()=>cS,DefaultWorkspaceManager:()=>Yb,Deferred:()=>vr,Disposable:()=>vn,DisposableCache:()=>vu,DocumentCache:()=>Mb,DocumentState:()=>J,DocumentValidator:()=>Rt,EMPTY_SCOPE:()=>S1,EMPTY_STREAM:()=>Ca,EmptyFileSystem:()=>mS,EmptyFileSystemProvider:()=>hS,ErrorWithLocation:()=>Cl,GrammarAST:()=>Sg,GrammarUtils:()=>Cd,IndentationAwareLexer:()=>O1,IndentationAwareTokenBuilder:()=>pS,JSDocDocumentationProvider:()=>oS,LangiumCompletionParser:()=>hb,LangiumParser:()=>db,LangiumParserErrorMessageProvider:()=>Qp,LeafCstNodeImpl:()=>al,LexingMode:()=>gn,MapScope:()=>b1,Module:()=>If,MultiMap:()=>Tr,MultiMapScope:()=>Db,OperationCancelled:()=>Wt,ParserWorker:()=>P1,ProfilingTask:()=>yS,Reduction:()=>Qi,RefResolving:()=>Jr,RegExpUtils:()=>Sd,RootCstNodeImpl:()=>Jp,SimpleCache:()=>fh,StreamImpl:()=>qt,StreamScope:()=>Cf,TextDocument:()=>ol,TreeStreamImpl:()=>ba,URI:()=>ft,UriTrie:()=>uh,UriUtils:()=>Xe,VALIDATE_EACH_NODE:()=>Ub,ValidationCategory:()=>cl,ValidationRegistry:()=>jb,ValueConverter:()=>Bt,WorkspaceCache:()=>dh,assertCondition:()=>bd,assertUnreachable:()=>xr,createCompletionParser:()=>rh,createDefaultCoreModule:()=>_h,createDefaultSharedCoreModule:()=>Ch,createGrammarConfig:()=>qd,createLangiumParser:()=>nh,createParser:()=>pu,delayNextTick:()=>gu,diagnosticData:()=>mn,eagerLoad:()=>bh,getDiagnosticRange:()=>hh,indentationBuilderDefaultOptions:()=>kf,inject:()=>pl,interruptAndCheck:()=>Ge,isAstNode:()=>ke,isAstNodeDescription:()=>Vf,isAstNodeWithComment:()=>ph,isCompositeCstNode:()=>cr,isIMultiModeLexerDefinition:()=>Au,isJSDoc:()=>Th,isLeafCstNode:()=>_n,isLinkingError:()=>en,isMultiReference:()=>Vt,isNamed:()=>ch,isOperationCancelled:()=>Bn,isReference:()=>Ye,isRootCstNode:()=>yl,isTokenTypeArray:()=>$u,isTokenTypeDictionary:()=>fl,loadGrammarFromJson:()=>yt,parseJSDoc:()=>vh,prepareLangiumParser:()=>ah,setInterruptionPeriod:()=>sh,startCancelableOperation:()=>yu,stream:()=>se,toDiagnosticData:()=>mh,toDiagnosticSeverity:()=>Ji});var Wf={};Mr(Wf,{DefaultNameRegexp:()=>Rd,RangeComparison:()=>Kt,compareRange:()=>vd,findCommentNode:()=>$d,findDeclarationNodeAtOffset:()=>Wg,findLeafNodeAtOffset:()=>_l,findLeafNodeBeforeOffset:()=>Ad,flattenCst:()=>qg,getDatatypeNode:()=>Kg,getInteriorNodes:()=>Yg,getNextNode:()=>Vg,getPreviousNode:()=>_d,getStartlineNode:()=>Hg,inRange:()=>Td,isChildNode:()=>yd,isCommentNode:()=>zo,streamCst:()=>Na,toDocumentSegment:()=>ka,tokenToRange:()=>es});function ke(e){return typeof e=="object"&&e!==null&&typeof e.$type=="string"}s(ke,"isAstNode");function Ye(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"ref"in e}s(Ye,"isReference");function Vt(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"items"in e}s(Vt,"isMultiReference");function Vf(e){return typeof e=="object"&&e!==null&&typeof e.name=="string"&&typeof e.type=="string"&&typeof e.path=="string"}s(Vf,"isAstNodeDescription");function en(e){return typeof e=="object"&&e!==null&&typeof e.info=="object"&&typeof e.message=="string"}s(en,"isLinkingError");var Hf=class{static{s(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return ke(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(n!==void 0)return n;{let a=this.types[e],i=a?a.superTypes.some(o=>this.isSubtype(o,t)):!1;return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let r=this.getAllTypes(),n=[];for(let a of r)this.isSubtype(a,e)&&n.push(a);return this.allSubtypes[e]=n,n}}};function cr(e){return typeof e=="object"&&e!==null&&Array.isArray(e.content)}s(cr,"isCompositeCstNode");function _n(e){return typeof e=="object"&&e!==null&&typeof e.tokenType=="object"}s(_n,"isLeafCstNode");function yl(e){return cr(e)&&typeof e.fullText=="string"}s(yl,"isRootCstNode");var qt=class ar{static{s(this,"StreamImpl")}constructor(t,r){this.startFn=t,this.nextFn=r}iterator(){let t={state:this.startFn(),next:s(()=>this.nextFn(t.state),"next"),[Symbol.iterator]:()=>t};return t}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)r++,n=t.next();return r}toArray(){let t=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&t.push(n.value);while(!n.done);return t}toSet(){return new Set(this)}toMap(t,r){let n=this.map(a=>[t?t(a):a,r?r(a):a]);return new Map(n)}toString(){return this.join()}concat(t){return new ar(()=>({first:this.startFn(),firstDone:!1,iterator:t[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 He})}join(t=","){let r=this.iterator(),n="",a,i=!1;do a=r.next(),a.done||(i&&(n+=t),n+=Cg(a.value)),i=!0;while(!a.done);return n}indexOf(t,r=0){let n=this.iterator(),a=0,i=n.next();for(;!i.done;){if(a>=r&&i.value===t)return a;i=n.next(),a++}return-1}every(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(!t(n.value))return!1;n=r.next()}return!0}some(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(t(n.value))return!0;n=r.next()}return!1}forEach(t){let r=this.iterator(),n=0,a=r.next();for(;!a.done;)t(a.value,n),a=r.next(),n++}map(t){return new ar(this.startFn,r=>{let{done:n,value:a}=this.nextFn(r);return n?He:{done:!1,value:t(a)}})}filter(t){return new ar(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&t(n.value))return n;while(!n.done);return He})}nonNullable(){return this.filter(t=>t!=null)}reduce(t,r){let n=this.iterator(),a=r,i=n.next();for(;!i.done;)a===void 0?a=i.value:a=t(a,i.value),i=n.next();return a}reduceRight(t,r){return this.recursiveReduce(this.iterator(),t,r)}recursiveReduce(t,r,n){let a=t.next();if(a.done)return n;let i=this.recursiveReduce(t,r,n);return i===void 0?a.value:r(i,a.value)}find(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(t(n.value))return n.value;n=r.next()}}findIndex(t){let r=this.iterator(),n=0,a=r.next();for(;!a.done;){if(t(a.value))return n;a=r.next(),n++}return-1}includes(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===t)return!0;n=r.next()}return!1}flatMap(t){return new ar(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let i=r.iterator.next();if(i.done)r.iterator=void 0;else return i}let{done:n,value:a}=this.nextFn(r.this);if(!n){let i=t(a);if(Zi(i))r.iterator=i[Symbol.iterator]();else return{done:!1,value:i}}}while(r.iterator);return He})}flat(t){if(t===void 0&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new ar(()=>({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:a,value:i}=r.nextFn(n.this);if(!a)if(Zi(i))n.iterator=i[Symbol.iterator]();else return{done:!1,value:i}}while(n.iterator);return He})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(t=1){return new ar(()=>{let r=this.startFn();for(let n=0;n<t;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(t){return new ar(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>t?He:this.nextFn(r.state)))}distinct(t){return new ar(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let a=t?t(n.value):n.value;if(!r.set.has(a))return r.set.add(a),n}while(!n.done);return He})}exclude(t,r){let n=new Set;for(let a of t){let i=r?r(a):a;n.add(i)}return this.filter(a=>{let i=r?r(a):a;return!n.has(i)})}};function Cg(e){return typeof e=="string"?e:typeof e>"u"?"undefined":typeof e.toString=="function"?e.toString():Object.prototype.toString.call(e)}s(Cg,"toString");function Zi(e){return!!e&&typeof e[Symbol.iterator]=="function"}s(Zi,"isIterable");var Ca=new qt(()=>{},()=>He),He=Object.freeze({done:!0,value:void 0});function se(...e){if(e.length===1){let t=e[0];if(t instanceof qt)return t;if(Zi(t))return new qt(()=>t[Symbol.iterator](),r=>r.next());if(typeof t.length=="number")return new qt(()=>({index:0}),r=>r.index<t.length?{done:!1,value:t[r.index++]}:He)}return e.length>1?new qt(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let r=t.iterator.next();if(!r.done)return r;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];Zi(r)?t.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return He}):Ca}s(se,"stream");var ba=class extends qt{static{s(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),n=>{for(n.pruned&&(n.iterators.pop(),n.pruned=!1);n.iterators.length>0;){let i=n.iterators[n.iterators.length-1].next();if(i.done)n.iterators.pop();else return n.iterators.push(t(i.value)[Symbol.iterator]()),i}return He})}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}},Qi;(function(e){function t(i){return i.reduce((o,l)=>o+l,0)}s(t,"sum"),e.sum=t;function r(i){return i.reduce((o,l)=>o*l,0)}s(r,"product"),e.product=r;function n(i){return i.reduce((o,l)=>Math.min(o,l))}s(n,"min"),e.min=n;function a(i){return i.reduce((o,l)=>Math.max(o,l))}s(a,"max"),e.max=a})(Qi||(Qi={}));var Yf={};Mr(Yf,{assignMandatoryProperties:()=>Xf,copyAstNode:()=>wo,findRootNode:()=>$a,getContainerOfType:()=>Cn,getDocument:()=>Nt,getReferenceNodes:()=>bo,hasContainerOfType:()=>bg,linkContentToContainer:()=>Sa,streamAllContents:()=>Rr,streamAst:()=>kt,streamContents:()=>vs,streamReferences:()=>wa});function Sa(e,t={}){for(let[r,n]of Object.entries(e))r.startsWith("$")||(Array.isArray(n)?n.forEach((a,i)=>{ke(a)&&(a.$container=e,a.$containerProperty=r,a.$containerIndex=i,t.deep&&Sa(a,t))}):ke(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&Sa(n,t)))}s(Sa,"linkContentToContainer");function Cn(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}s(Cn,"getContainerOfType");function bg(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}s(bg,"hasContainerOfType");function Nt(e){let r=$a(e).$document;if(!r)throw new Error("AST node has no document.");return r}s(Nt,"getDocument");function $a(e){for(;e.$container;)e=e.$container;return e}s($a,"findRootNode");function bo(e){return Ye(e)?e.ref?[e.ref]:[]:Vt(e)?e.items.map(t=>t.ref):[]}s(bo,"getReferenceNodes");function vs(e,t){if(!e)throw new Error("Node must be an AstNode.");let r=t?.range;return new qt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let a=n.keys[n.keyIndex];if(!a.startsWith("$")){let i=e[a];if(ke(i)){if(n.keyIndex++,So(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;n.arrayIndex<i.length;){let o=n.arrayIndex++,l=i[o];if(ke(l)&&So(l,r))return{done:!1,value:l}}n.arrayIndex=0}}n.keyIndex++}return He})}s(vs,"streamContents");function Rr(e,t){if(!e)throw new Error("Root node must be an AstNode.");return new ba(e,r=>vs(r,t))}s(Rr,"streamAllContents");function kt(e,t){if(e){if(t?.range&&!So(e,t.range))return new ba(e,()=>[])}else throw new Error("Root node must be an AstNode.");return new ba(e,r=>vs(r,t),{includeRoot:!0})}s(kt,"streamAst");function So(e,t){if(!t)return!0;let r=e.$cstNode?.range;return r?Td(r,t):!1}s(So,"isAstNodeInRange");function wa(e){return new qt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(Ye(n)||Vt(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let a=t.arrayIndex++,i=n[a];if(Ye(i)||Vt(n))return{done:!1,value:{reference:i,container:e,property:r,index:a}}}t.arrayIndex=0}}t.keyIndex++}return He})}s(wa,"streamReferences");function Xf(e,t){let r=e.getTypeMetaData(t.$type),n=t;for(let a of Object.values(r.properties))a.defaultValue!==void 0&&n[a.name]===void 0&&(n[a.name]=Jf(a.defaultValue))}s(Xf,"assignMandatoryProperties");function Jf(e){return Array.isArray(e)?[...e.map(Jf)]:e}s(Jf,"copyDefaultValue");function wo(e,t,r){let n={$type:e.$type};r&&(r.set(e,n),r.set(n,e));for(let[a,i]of Object.entries(e))if(!a.startsWith("$"))if(ke(i))n[a]=wo(i,t,r);else if(Ye(i))n[a]=t(n,a,i.$refNode,i.$refText,i);else if(Array.isArray(i)){let o=[];for(let l of i)ke(l)?o.push(wo(l,t,r)):Ye(l)?o.push(t(n,a,l.$refNode,l.$refText,l)):o.push(l);n[a]=o}else n[a]=i;return Sa(n,{deep:!0}),n}s(wo,"copyAstNode");var Sg={};Mr(Sg,{AbstractElement:()=>at,AbstractParserRule:()=>xi,AbstractRule:()=>pa,AbstractType:()=>ct,Action:()=>br,Alternatives:()=>Fi,ArrayLiteral:()=>Io,ArrayType:()=>No,Assignment:()=>Sr,BooleanLiteral:()=>ko,CharacterRange:()=>wr,Condition:()=>Ir,Conjunction:()=>Gi,CrossReference:()=>Nr,Disjunction:()=>ji,EndOfFile:()=>Po,Grammar:()=>or,GrammarImport:()=>Oo,Group:()=>tn,InferredType:()=>Lo,InfixRule:()=>zt,InfixRuleOperatorList:()=>Ui,InfixRuleOperators:()=>Do,Interface:()=>ha,Keyword:()=>ma,LangiumGrammarAstReflection:()=>gd,LangiumGrammarTerminals:()=>nw,NamedArgument:()=>ga,NegatedToken:()=>rn,Negation:()=>Mo,NumberLiteral:()=>xo,Parameter:()=>ya,ParameterReference:()=>Fo,ParserRule:()=>St,ReferenceType:()=>zi,RegexToken:()=>nn,ReturnType:()=>Go,RuleCall:()=>an,SimpleType:()=>va,StringLiteral:()=>jo,TerminalAlternatives:()=>sn,TerminalElement:()=>it,TerminalGroup:()=>on,TerminalRule:()=>lr,TerminalRuleCall:()=>ln,Type:()=>Bi,TypeAttribute:()=>un,TypeDefinition:()=>cn,UnionType:()=>Uo,UnorderedGroup:()=>Ki,UntilToken:()=>fn,ValueLiteral:()=>dn,Wildcard:()=>Ta,isAbstractElement:()=>vl,isAbstractParserRule:()=>bn,isAbstractRule:()=>wg,isAbstractType:()=>Ig,isAction:()=>kr,isAlternatives:()=>Tl,isArrayLiteral:()=>Ng,isArrayType:()=>Zf,isAssignment:()=>fr,isBooleanLiteral:()=>Qf,isCharacterRange:()=>ed,isCondition:()=>kg,isConjunction:()=>td,isCrossReference:()=>Sn,isDisjunction:()=>rd,isEndOfFile:()=>nd,isGrammar:()=>Pg,isGrammarImport:()=>Og,isGroup:()=>wn,isInferredType:()=>Ts,isInfixRule:()=>Ia,isInfixRuleOperatorList:()=>Lg,isInfixRuleOperators:()=>Dg,isInterface:()=>ad,isKeyword:()=>dr,isNamedArgument:()=>Mg,isNegatedToken:()=>id,isNegation:()=>sd,isNumberLiteral:()=>xg,isParameter:()=>Fg,isParameterReference:()=>od,isParserRule:()=>Ze,isReferenceType:()=>ld,isRegexToken:()=>ud,isReturnType:()=>cd,isRuleCall:()=>pr,isSimpleType:()=>Rl,isStringLiteral:()=>Gg,isTerminalAlternatives:()=>fd,isTerminalElement:()=>jg,isTerminalGroup:()=>dd,isTerminalRule:()=>_t,isTerminalRuleCall:()=>$l,isType:()=>Al,isTypeAttribute:()=>Ug,isTypeDefinition:()=>zg,isUnionType:()=>pd,isUnorderedGroup:()=>El,isUntilToken:()=>hd,isValueLiteral:()=>Bg,isWildcard:()=>md,reflection:()=>U});var nw={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]*/},at={$type:"AbstractElement",cardinality:"cardinality"};function vl(e){return U.isInstance(e,at.$type)}s(vl,"isAbstractElement");var xi={$type:"AbstractParserRule"};function bn(e){return U.isInstance(e,xi.$type)}s(bn,"isAbstractParserRule");var pa={$type:"AbstractRule"};function wg(e){return U.isInstance(e,pa.$type)}s(wg,"isAbstractRule");var ct={$type:"AbstractType"};function Ig(e){return U.isInstance(e,ct.$type)}s(Ig,"isAbstractType");var br={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function kr(e){return U.isInstance(e,br.$type)}s(kr,"isAction");var Fi={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Tl(e){return U.isInstance(e,Fi.$type)}s(Tl,"isAlternatives");var Io={$type:"ArrayLiteral",elements:"elements"};function Ng(e){return U.isInstance(e,Io.$type)}s(Ng,"isArrayLiteral");var No={$type:"ArrayType",elementType:"elementType"};function Zf(e){return U.isInstance(e,No.$type)}s(Zf,"isArrayType");var Sr={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function fr(e){return U.isInstance(e,Sr.$type)}s(fr,"isAssignment");var ko={$type:"BooleanLiteral",true:"true"};function Qf(e){return U.isInstance(e,ko.$type)}s(Qf,"isBooleanLiteral");var wr={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ed(e){return U.isInstance(e,wr.$type)}s(ed,"isCharacterRange");var Ir={$type:"Condition"};function kg(e){return U.isInstance(e,Ir.$type)}s(kg,"isCondition");var Gi={$type:"Conjunction",left:"left",right:"right"};function td(e){return U.isInstance(e,Gi.$type)}s(td,"isConjunction");var Nr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Sn(e){return U.isInstance(e,Nr.$type)}s(Sn,"isCrossReference");var ji={$type:"Disjunction",left:"left",right:"right"};function rd(e){return U.isInstance(e,ji.$type)}s(rd,"isDisjunction");var Po={$type:"EndOfFile",cardinality:"cardinality"};function nd(e){return U.isInstance(e,Po.$type)}s(nd,"isEndOfFile");var or={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function Pg(e){return U.isInstance(e,or.$type)}s(Pg,"isGrammar");var Oo={$type:"GrammarImport",path:"path"};function Og(e){return U.isInstance(e,Oo.$type)}s(Og,"isGrammarImport");var tn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function wn(e){return U.isInstance(e,tn.$type)}s(wn,"isGroup");var Lo={$type:"InferredType",name:"name"};function Ts(e){return U.isInstance(e,Lo.$type)}s(Ts,"isInferredType");var zt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Ia(e){return U.isInstance(e,zt.$type)}s(Ia,"isInfixRule");var Ui={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function Lg(e){return U.isInstance(e,Ui.$type)}s(Lg,"isInfixRuleOperatorList");var Do={$type:"InfixRuleOperators",precedences:"precedences"};function Dg(e){return U.isInstance(e,Do.$type)}s(Dg,"isInfixRuleOperators");var ha={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function ad(e){return U.isInstance(e,ha.$type)}s(ad,"isInterface");var ma={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function dr(e){return U.isInstance(e,ma.$type)}s(dr,"isKeyword");var ga={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Mg(e){return U.isInstance(e,ga.$type)}s(Mg,"isNamedArgument");var rn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function id(e){return U.isInstance(e,rn.$type)}s(id,"isNegatedToken");var Mo={$type:"Negation",value:"value"};function sd(e){return U.isInstance(e,Mo.$type)}s(sd,"isNegation");var xo={$type:"NumberLiteral",value:"value"};function xg(e){return U.isInstance(e,xo.$type)}s(xg,"isNumberLiteral");var ya={$type:"Parameter",name:"name"};function Fg(e){return U.isInstance(e,ya.$type)}s(Fg,"isParameter");var Fo={$type:"ParameterReference",parameter:"parameter"};function od(e){return U.isInstance(e,Fo.$type)}s(od,"isParameterReference");var St={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Ze(e){return U.isInstance(e,St.$type)}s(Ze,"isParserRule");var zi={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function ld(e){return U.isInstance(e,zi.$type)}s(ld,"isReferenceType");var nn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function ud(e){return U.isInstance(e,nn.$type)}s(ud,"isRegexToken");var Go={$type:"ReturnType",name:"name"};function cd(e){return U.isInstance(e,Go.$type)}s(cd,"isReturnType");var an={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function pr(e){return U.isInstance(e,an.$type)}s(pr,"isRuleCall");var va={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Rl(e){return U.isInstance(e,va.$type)}s(Rl,"isSimpleType");var jo={$type:"StringLiteral",value:"value"};function Gg(e){return U.isInstance(e,jo.$type)}s(Gg,"isStringLiteral");var sn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function fd(e){return U.isInstance(e,sn.$type)}s(fd,"isTerminalAlternatives");var it={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function jg(e){return U.isInstance(e,it.$type)}s(jg,"isTerminalElement");var on={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function dd(e){return U.isInstance(e,on.$type)}s(dd,"isTerminalGroup");var lr={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function _t(e){return U.isInstance(e,lr.$type)}s(_t,"isTerminalRule");var ln={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function $l(e){return U.isInstance(e,ln.$type)}s($l,"isTerminalRuleCall");var Bi={$type:"Type",name:"name",type:"type"};function Al(e){return U.isInstance(e,Bi.$type)}s(Al,"isType");var un={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Ug(e){return U.isInstance(e,un.$type)}s(Ug,"isTypeAttribute");var cn={$type:"TypeDefinition"};function zg(e){return U.isInstance(e,cn.$type)}s(zg,"isTypeDefinition");var Uo={$type:"UnionType",types:"types"};function pd(e){return U.isInstance(e,Uo.$type)}s(pd,"isUnionType");var Ki={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function El(e){return U.isInstance(e,Ki.$type)}s(El,"isUnorderedGroup");var fn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function hd(e){return U.isInstance(e,fn.$type)}s(hd,"isUntilToken");var dn={$type:"ValueLiteral"};function Bg(e){return U.isInstance(e,dn.$type)}s(Bg,"isValueLiteral");var Ta={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function md(e){return U.isInstance(e,Ta.$type)}s(md,"isWildcard");var gd=class extends Hf{static{s(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:at.$type,properties:{cardinality:{name:at.cardinality}},superTypes:[]},AbstractParserRule:{name:xi.$type,properties:{},superTypes:[pa.$type,ct.$type]},AbstractRule:{name:pa.$type,properties:{},superTypes:[]},AbstractType:{name:ct.$type,properties:{},superTypes:[]},Action:{name:br.$type,properties:{cardinality:{name:br.cardinality},feature:{name:br.feature},inferredType:{name:br.inferredType},operator:{name:br.operator},type:{name:br.type,referenceType:ct.$type}},superTypes:[at.$type]},Alternatives:{name:Fi.$type,properties:{cardinality:{name:Fi.cardinality},elements:{name:Fi.elements,defaultValue:[]}},superTypes:[at.$type]},ArrayLiteral:{name:Io.$type,properties:{elements:{name:Io.elements,defaultValue:[]}},superTypes:[dn.$type]},ArrayType:{name:No.$type,properties:{elementType:{name:No.elementType}},superTypes:[cn.$type]},Assignment:{name:Sr.$type,properties:{cardinality:{name:Sr.cardinality},feature:{name:Sr.feature},operator:{name:Sr.operator},predicate:{name:Sr.predicate},terminal:{name:Sr.terminal}},superTypes:[at.$type]},BooleanLiteral:{name:ko.$type,properties:{true:{name:ko.true,defaultValue:!1}},superTypes:[Ir.$type,dn.$type]},CharacterRange:{name:wr.$type,properties:{cardinality:{name:wr.cardinality},left:{name:wr.left},lookahead:{name:wr.lookahead},parenthesized:{name:wr.parenthesized,defaultValue:!1},right:{name:wr.right}},superTypes:[it.$type]},Condition:{name:Ir.$type,properties:{},superTypes:[]},Conjunction:{name:Gi.$type,properties:{left:{name:Gi.left},right:{name:Gi.right}},superTypes:[Ir.$type]},CrossReference:{name:Nr.$type,properties:{cardinality:{name:Nr.cardinality},deprecatedSyntax:{name:Nr.deprecatedSyntax,defaultValue:!1},isMulti:{name:Nr.isMulti,defaultValue:!1},terminal:{name:Nr.terminal},type:{name:Nr.type,referenceType:ct.$type}},superTypes:[at.$type]},Disjunction:{name:ji.$type,properties:{left:{name:ji.left},right:{name:ji.right}},superTypes:[Ir.$type]},EndOfFile:{name:Po.$type,properties:{cardinality:{name:Po.cardinality}},superTypes:[at.$type]},Grammar:{name:or.$type,properties:{imports:{name:or.imports,defaultValue:[]},interfaces:{name:or.interfaces,defaultValue:[]},isDeclared:{name:or.isDeclared,defaultValue:!1},name:{name:or.name},rules:{name:or.rules,defaultValue:[]},types:{name:or.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Oo.$type,properties:{path:{name:Oo.path}},superTypes:[]},Group:{name:tn.$type,properties:{cardinality:{name:tn.cardinality},elements:{name:tn.elements,defaultValue:[]},guardCondition:{name:tn.guardCondition},predicate:{name:tn.predicate}},superTypes:[at.$type]},InferredType:{name:Lo.$type,properties:{name:{name:Lo.name}},superTypes:[ct.$type]},InfixRule:{name:zt.$type,properties:{call:{name:zt.call},dataType:{name:zt.dataType},inferredType:{name:zt.inferredType},name:{name:zt.name},operators:{name:zt.operators},parameters:{name:zt.parameters,defaultValue:[]},returnType:{name:zt.returnType,referenceType:ct.$type}},superTypes:[xi.$type]},InfixRuleOperatorList:{name:Ui.$type,properties:{associativity:{name:Ui.associativity},operators:{name:Ui.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Do.$type,properties:{precedences:{name:Do.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ha.$type,properties:{attributes:{name:ha.attributes,defaultValue:[]},name:{name:ha.name},superTypes:{name:ha.superTypes,defaultValue:[],referenceType:ct.$type}},superTypes:[ct.$type]},Keyword:{name:ma.$type,properties:{cardinality:{name:ma.cardinality},predicate:{name:ma.predicate},value:{name:ma.value}},superTypes:[at.$type]},NamedArgument:{name:ga.$type,properties:{calledByName:{name:ga.calledByName,defaultValue:!1},parameter:{name:ga.parameter,referenceType:ya.$type},value:{name:ga.value}},superTypes:[]},NegatedToken:{name:rn.$type,properties:{cardinality:{name:rn.cardinality},lookahead:{name:rn.lookahead},parenthesized:{name:rn.parenthesized,defaultValue:!1},terminal:{name:rn.terminal}},superTypes:[it.$type]},Negation:{name:Mo.$type,properties:{value:{name:Mo.value}},superTypes:[Ir.$type]},NumberLiteral:{name:xo.$type,properties:{value:{name:xo.value}},superTypes:[dn.$type]},Parameter:{name:ya.$type,properties:{name:{name:ya.name}},superTypes:[]},ParameterReference:{name:Fo.$type,properties:{parameter:{name:Fo.parameter,referenceType:ya.$type}},superTypes:[Ir.$type]},ParserRule:{name:St.$type,properties:{dataType:{name:St.dataType},definition:{name:St.definition},entry:{name:St.entry,defaultValue:!1},fragment:{name:St.fragment,defaultValue:!1},inferredType:{name:St.inferredType},name:{name:St.name},parameters:{name:St.parameters,defaultValue:[]},returnType:{name:St.returnType,referenceType:ct.$type}},superTypes:[xi.$type]},ReferenceType:{name:zi.$type,properties:{isMulti:{name:zi.isMulti,defaultValue:!1},referenceType:{name:zi.referenceType}},superTypes:[cn.$type]},RegexToken:{name:nn.$type,properties:{cardinality:{name:nn.cardinality},lookahead:{name:nn.lookahead},parenthesized:{name:nn.parenthesized,defaultValue:!1},regex:{name:nn.regex}},superTypes:[it.$type]},ReturnType:{name:Go.$type,properties:{name:{name:Go.name}},superTypes:[]},RuleCall:{name:an.$type,properties:{arguments:{name:an.arguments,defaultValue:[]},cardinality:{name:an.cardinality},predicate:{name:an.predicate},rule:{name:an.rule,referenceType:pa.$type}},superTypes:[at.$type]},SimpleType:{name:va.$type,properties:{primitiveType:{name:va.primitiveType},stringType:{name:va.stringType},typeRef:{name:va.typeRef,referenceType:ct.$type}},superTypes:[cn.$type]},StringLiteral:{name:jo.$type,properties:{value:{name:jo.value}},superTypes:[dn.$type]},TerminalAlternatives:{name:sn.$type,properties:{cardinality:{name:sn.cardinality},elements:{name:sn.elements,defaultValue:[]},lookahead:{name:sn.lookahead},parenthesized:{name:sn.parenthesized,defaultValue:!1}},superTypes:[it.$type]},TerminalElement:{name:it.$type,properties:{cardinality:{name:it.cardinality},lookahead:{name:it.lookahead},parenthesized:{name:it.parenthesized,defaultValue:!1}},superTypes:[at.$type]},TerminalGroup:{name:on.$type,properties:{cardinality:{name:on.cardinality},elements:{name:on.elements,defaultValue:[]},lookahead:{name:on.lookahead},parenthesized:{name:on.parenthesized,defaultValue:!1}},superTypes:[it.$type]},TerminalRule:{name:lr.$type,properties:{definition:{name:lr.definition},fragment:{name:lr.fragment,defaultValue:!1},hidden:{name:lr.hidden,defaultValue:!1},name:{name:lr.name},type:{name:lr.type}},superTypes:[pa.$type]},TerminalRuleCall:{name:ln.$type,properties:{cardinality:{name:ln.cardinality},lookahead:{name:ln.lookahead},parenthesized:{name:ln.parenthesized,defaultValue:!1},rule:{name:ln.rule,referenceType:lr.$type}},superTypes:[it.$type]},Type:{name:Bi.$type,properties:{name:{name:Bi.name},type:{name:Bi.type}},superTypes:[ct.$type]},TypeAttribute:{name:un.$type,properties:{defaultValue:{name:un.defaultValue},isOptional:{name:un.isOptional,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[]},TypeDefinition:{name:cn.$type,properties:{},superTypes:[]},UnionType:{name:Uo.$type,properties:{types:{name:Uo.types,defaultValue:[]}},superTypes:[cn.$type]},UnorderedGroup:{name:Ki.$type,properties:{cardinality:{name:Ki.cardinality},elements:{name:Ki.elements,defaultValue:[]}},superTypes:[at.$type]},UntilToken:{name:fn.$type,properties:{cardinality:{name:fn.cardinality},lookahead:{name:fn.lookahead},parenthesized:{name:fn.parenthesized,defaultValue:!1},terminal:{name:fn.terminal}},superTypes:[it.$type]},ValueLiteral:{name:dn.$type,properties:{},superTypes:[]},Wildcard:{name:Ta.$type,properties:{cardinality:{name:Ta.cardinality},lookahead:{name:Ta.lookahead},parenthesized:{name:Ta.parenthesized,defaultValue:!1}},superTypes:[it.$type]}}}},U=new gd;function Kg(e){let t=e,r=!1;for(;t;){let n=Cn(t.grammarSource,Ze);if(n&&n.dataType)t=t.container,r=!0;else return r?t:void 0}}s(Kg,"getDatatypeNode");function Na(e){return new ba(e,t=>cr(t)?t.content:[],{includeRoot:!0})}s(Na,"streamCst");function qg(e){return Na(e).filter(_n)}s(qg,"flattenCst");function yd(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}s(yd,"isChildNode");function es(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}s(es,"tokenToRange");function ka(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}s(ka,"toDocumentSegment");var Kt;(function(e){e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside",e[e.Outside=5]="Outside"})(Kt||(Kt={}));function vd(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return Kt.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return Kt.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?Kt.Inside:r?Kt.OverlapBack:n?Kt.OverlapFront:Kt.Outside}s(vd,"compareRange");function Td(e,t){return vd(e,t)>Kt.After}s(Td,"inRange");var Rd=/^[\w\p{L}]$/u;function Wg(e,t,r=Rd){if(e){if(t>0){let n=t-e.offset,a=e.text.charAt(n);r.test(a)||t--}return _l(e,t)}}s(Wg,"findDeclarationNodeAtOffset");function $d(e,t){if(e){let r=_d(e,!0);if(r&&zo(r,t))return r;if(yl(e)){let n=e.content.findIndex(a=>!a.hidden);for(let a=n-1;a>=0;a--){let i=e.content[a];if(zo(i,t))return i}}}}s($d,"findCommentNode");function zo(e,t){return _n(e)&&t.includes(e.tokenType.name)}s(zo,"isCommentNode");function _l(e,t){if(_n(e))return e;if(cr(e)){let r=Ed(e,t,!1);if(r)return _l(r,t)}}s(_l,"findLeafNodeAtOffset");function Ad(e,t){if(_n(e))return e;if(cr(e)){let r=Ed(e,t,!0);if(r)return Ad(r,t)}}s(Ad,"findLeafNodeBeforeOffset");function Ed(e,t,r){let n=0,a=e.content.length-1,i;for(;n<=a;){let o=Math.floor((n+a)/2),l=e.content[o];if(l.offset<=t&&l.end>t)return l;l.end<=t?(i=r?l:void 0,n=o+1):a=o-1}return i}s(Ed,"binarySearch");function _d(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let a=r.content[n];if(t||!a.hidden)return a}e=r}}s(_d,"getPreviousNode");function Vg(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),a=r.content.length-1;for(;n<a;){n++;let i=r.content[n];if(t||!i.hidden)return i}e=r}}s(Vg,"getNextNode");function Hg(e){if(e.range.start.character===0)return e;let t=e.range.start.line,r=e,n;for(;e.container;){let a=e.container,i=n??a.content.indexOf(e);if(i===0?(e=a,n=void 0):(n=i-1,e=a.content[n]),e.range.start.line!==t)break;r=e}return r}s(Hg,"getStartlineNode");function Yg(e,t){let r=Xg(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}s(Yg,"getInteriorNodes");function Xg(e,t){let r=Vc(e),n=Vc(t),a;for(let i=0;i<r.length&&i<n.length;i++){let o=r[i],l=n[i];if(o.parent===l.parent)a={parent:o.parent,a:o.index,b:l.index};else break}return a}s(Xg,"getCommonParent");function Vc(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}s(Vc,"getParentChain");var Cd={};Mr(Cd,{findAssignment:()=>Fd,findNameAssignment:()=>Pl,findNodeForKeyword:()=>xd,findNodeForProperty:()=>Il,findNodesForKeyword:()=>ny,findNodesForKeywordInternal:()=>kl,findNodesForProperty:()=>Md,getActionAtElement:()=>jd,getActionType:()=>zd,getAllReachableRules:()=>wl,getAllRulesUsedForCrossReferences:()=>ry,getCrossReferenceTerminal:()=>Ld,getEntryRule:()=>kd,getExplicitRuleType:()=>$s,getHiddenRules:()=>Pd,getRuleType:()=>Bd,getRuleTypeName:()=>ly,getTypeName:()=>Tn,isArrayCardinality:()=>iy,isArrayOperator:()=>sy,isCommentTerminal:()=>Dd,isDataType:()=>oy,isDataTypeRule:()=>Rs,isOptionalCardinality:()=>ay,terminalRegex:()=>As});var Cl=class extends Error{static{s(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function xr(e,t="Error: Got unexpected value."){throw new Error(t)}s(xr,"assertUnreachable");function bd(e,t="Error: Condition is violated."){if(!e)throw new Error(t)}s(bd,"assertCondition");var Sd={};Mr(Sd,{NEWLINE_REGEXP:()=>Zg,escapeRegExp:()=>Ga,getTerminalParts:()=>ey,isMultilineComment:()=>wd,isWhitespace:()=>Sl,partialMatches:()=>Id,partialRegExp:()=>Nd,whitespaceCharacters:()=>ty});function B(e){return e.charCodeAt(0)}s(B,"cc");function uo(e,t){Array.isArray(e)?e.forEach(function(r){t.push(r)}):t.push(e)}s(uo,"insertToSet");function sa(e,t){if(e[t]===!0)throw"duplicate flag "+t;let r=e[t];e[t]=!0}s(sa,"addFlag");function Hr(e){if(e===void 0)throw Error("Internal Error - Should never get here!");return!0}s(Hr,"ASSERT_EXISTS");function ki(){throw Error("Internal Error - Should never get here!")}s(ki,"ASSERT_NEVER_REACH_HERE");function Hc(e){return e.type==="Character"}s(Hc,"isCharacter");var Bo=[];for(let e=B("0");e<=B("9");e++)Bo.push(e);var Ko=[B("_")].concat(Bo);for(let e=B("a");e<=B("z");e++)Ko.push(e);for(let e=B("A");e<=B("Z");e++)Ko.push(e);var kh=[B(" "),B("\f"),B(`
`),B("\r"),B("	"),B("\v"),B("	"),B("\xA0"),B("\u1680"),B("\u2000"),B("\u2001"),B("\u2002"),B("\u2003"),B("\u2004"),B("\u2005"),B("\u2006"),B("\u2007"),B("\u2008"),B("\u2009"),B("\u200A"),B("\u2028"),B("\u2029"),B("\u202F"),B("\u205F"),B("\u3000"),B("\uFEFF")],aw=/[0-9a-fA-F]/,xs=/[0-9]/,iw=/[1-9]/,Jg=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 t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":sa(r,"global");break;case"i":sa(r,"ignoreCase");break;case"m":sa(r,"multiLine");break;case"u":sa(r,"unicode");break;case"y":sa(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}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 t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}break}}Hr(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return ki()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:n,atMost:a}):t={atLeast:n,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Hr(t);break}if(!(e===!0&&t===void 0)&&Hr(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=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()),Hr(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ki()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[B(`
`),B("\r"),B("\u2028"),B("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Bo;break;case"D":e=Bo,t=!0;break;case"s":e=kh;break;case"S":e=kh,t=!0;break;case"w":e=Ko;break;case"W":e=Ko,t=!0;break}return Hr(e)?{type:"Set",value:e,complement:t}:ki()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=B("\f");break;case"n":e=B(`
`);break;case"r":e=B("\r");break;case"t":e=B("	");break;case"v":e=B("\v");break}return Hr(e)?{type:"Character",value:e}:ki()}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:B("\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:B(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:B(e)}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let r=this.classAtom(),n=r.type==="Character";if(Hc(r)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),i=a.type==="Character";if(Hc(a)){if(a.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:a.value})}else uo(r.value,e),e.push(B("-")),uo(a.value,e)}else uo(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,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:B("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(iw.test(e)===!1)throw Error("Expecting a positive integer");for(;xs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(xs.test(e)===!1)throw Error("Expecting an integer");for(;xs.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:B(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return xs.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 t="";for(let n=0;n<e;n++){let a=this.popChar();if(aw.test(a)===!1)throw Error("Expecting a HexDecimal digits");t+=a}return{type:"Character",value:parseInt(t,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}}},bl=class{static{s(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(n=>{this.visit(n)},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){}},Zg=/\r?\n/gm,Qg=new Jg,sw=class extends bl{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 t=String.fromCharCode(e.value);if(!this.multiline&&t===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=Ga(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!`
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},pn=new sw;function ey(e){try{typeof e!="string"&&(e=e.source),e=`/${e}/`;let t=Qg.pattern(e),r=[];for(let n of t.value.value)pn.reset(e),pn.visit(n),r.push({start:pn.startRegexp,end:pn.endRegex});return r}catch{return[]}}s(ey,"getTerminalParts");function wd(e){try{return typeof e=="string"&&(e=new RegExp(e)),e=e.toString(),pn.reset(e),pn.visit(Qg.pattern(e)),pn.multiline}catch{return!1}}s(wd,"isMultilineComment");var ty=`\f
\r	\v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Sl(e){let t=typeof e=="string"?new RegExp(e):e;return ty.some(r=>t.test(r))}s(Sl,"isWhitespace");function Ga(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}s(Ga,"escapeRegExp");function Id(e,t){let r=Nd(e),n=t.match(r);return!!n&&n[0].length>0}s(Id,"partialMatches");function Nd(e){typeof e=="string"&&(e=new RegExp(e));let t=e,r=e.source,n=0;function a(){let i="",o;function l(c){i+=r.substr(n,c),n+=c}s(l,"appendRaw");function u(c){i+="(?:"+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":t.unicode?r[n+2]==="{"?u(r.indexOf("}",n)-n+1):u(6):u(2);break;case"p":case"P":t.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":":i+="(?:",n+=3,i+=a()+"|$)";break;case"=":i+="(?=",n+=3,i+=a()+")";break;case"!":o=n,n+=3,a(),i+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,a(),i+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),i+=a()+"|$)";break}break}else l(1),i+=a()+"|$)";break;case")":return++n,i;default:u(1);break}return i}return s(a,"process"),new RegExp(a(),e.flags)}s(Nd,"partialRegExp");function kd(e){return e.rules.find(t=>Ze(t)&&t.entry)}s(kd,"getEntryRule");function Pd(e){return e.rules.filter(t=>_t(t)&&t.hidden)}s(Pd,"getHiddenRules");function wl(e,t){let r=new Set,n=kd(e);if(!n)return new Set(e.rules);let a=[n].concat(Pd(e));for(let o of a)Od(o,r,t);let i=new Set;for(let o of e.rules)(r.has(o.name)||_t(o)&&o.hidden)&&i.add(o);return i}s(wl,"getAllReachableRules");function Od(e,t,r){t.add(e.name),Rr(e).forEach(n=>{if(pr(n)||r&&$l(n)){let a=n.rule.ref;a&&!t.has(a.name)&&Od(a,t,r)}})}s(Od,"ruleDfs");function ry(e){let t=new Set;return Rr(e).forEach(r=>{Sn(r)&&(Ze(r.type.ref)&&t.add(r.type.ref),Ts(r.type.ref)&&Ze(r.type.ref.$container)&&t.add(r.type.ref.$container))}),t}s(ry,"getAllRulesUsedForCrossReferences");function Ld(e){if(e.terminal)return e.terminal;if(e.type.ref)return Pl(e.type.ref)?.terminal}s(Ld,"getCrossReferenceTerminal");function Dd(e){return e.hidden&&!Sl(As(e))}s(Dd,"isCommentTerminal");function Md(e,t){return!e||!t?[]:Nl(e,t,e.astNode,!0)}s(Md,"findNodesForProperty");function Il(e,t,r){if(!e||!t)return;let n=Nl(e,t,e.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(Il,"findNodeForProperty");function Nl(e,t,r,n){if(!n){let a=Cn(e.grammarSource,fr);if(a&&a.feature===t)return[e]}return cr(e)&&e.astNode===r?e.content.flatMap(a=>Nl(a,t,r,!1)):[]}s(Nl,"findNodesForPropertyInternal");function ny(e,t){return e?kl(e,t,e?.astNode):[]}s(ny,"findNodesForKeyword");function xd(e,t,r){if(!e)return;let n=kl(e,t,e?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}s(xd,"findNodeForKeyword");function kl(e,t,r){if(e.astNode!==r)return[];if(dr(e.grammarSource)&&e.grammarSource.value===t)return[e];let n=Na(e).iterator(),a,i=[];do if(a=n.next(),!a.done){let o=a.value;o.astNode===r?dr(o.grammarSource)&&o.grammarSource.value===t&&i.push(o):n.prune()}while(!a.done);return i}s(kl,"findNodesForKeywordInternal");function Fd(e){let t=e.astNode;for(;t===e.container?.astNode;){let r=Cn(e.grammarSource,fr);if(r)return r;e=e.container}}s(Fd,"findAssignment");function Pl(e){let t=e;return Ts(t)&&(kr(t.$container)?t=t.$container.$container:bn(t.$container)?t=t.$container:xr(t.$container)),Gd(e,t,new Map)}s(Pl,"findNameAssignment");function Gd(e,t,r){function n(a,i){let o;return Cn(a,fr)||(o=Gd(i,i,r)),r.set(e,o),o}if(s(n,"go"),r.has(e))return r.get(e);r.set(e,void 0);for(let a of Rr(t)){if(fr(a)&&a.feature.toLowerCase()==="name")return r.set(e,a),a;if(pr(a)&&Ze(a.rule.ref))return n(a,a.rule.ref);if(Rl(a)&&a.typeRef?.ref)return n(a,a.typeRef.ref)}}s(Gd,"findNameAssignmentInternal");function jd(e){let t=e.$container;if(wn(t)){let r=t.elements,n=r.indexOf(e);for(let a=n-1;a>=0;a--){let i=r[a];if(kr(i))return i;{let o=Rr(r[a]).find(kr);if(o)return o}}}if(vl(t))return jd(t)}s(jd,"getActionAtElement");function ay(e,t){return e==="?"||e==="*"||wn(t)&&!!t.guardCondition}s(ay,"isOptionalCardinality");function iy(e){return e==="*"||e==="+"}s(iy,"isArrayCardinality");function sy(e){return e==="+="}s(sy,"isArrayOperator");function Rs(e){return Ud(e,new Set)}s(Rs,"isDataTypeRule");function Ud(e,t){if(t.has(e))return!0;t.add(e);for(let r of Rr(e))if(pr(r)){if(!r.rule.ref||Ze(r.rule.ref)&&!Ud(r.rule.ref,t)||Ia(r.rule.ref))return!1}else{if(fr(r))return!1;if(kr(r))return!1}return!!e.definition}s(Ud,"isDataTypeRuleInternal");function oy(e){return qo(e.type,new Set)}s(oy,"isDataType");function qo(e,t){if(t.has(e))return!0;if(t.add(e),Zf(e))return!1;if(ld(e))return!1;if(pd(e))return e.types.every(r=>qo(r,t));if(Rl(e)){if(e.primitiveType!==void 0)return!0;if(e.stringType!==void 0)return!0;if(e.typeRef!==void 0){let r=e.typeRef.ref;return Al(r)?qo(r.type,t):!1}else return!1}else return!1}s(qo,"isDataTypeInternal");function $s(e){if(!_t(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}s($s,"getExplicitRuleType");function Tn(e){if(bn(e))return Ze(e)&&Rs(e)?e.name:$s(e)??e.name;if(ad(e)||Al(e)||cd(e))return e.name;if(kr(e)){let t=zd(e);if(t)return t}else if(Ts(e))return e.name;throw new Error("Cannot get name of Unknown Type")}s(Tn,"getTypeName");function zd(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return Tn(e.type.ref)}s(zd,"getActionType");function ly(e){return _t(e)?e.type?.name??"string":Ze(e)&&Rs(e)?e.name:$s(e)??e.name}s(ly,"getRuleTypeName");function Bd(e){return _t(e)?e.type?.name??"string":$s(e)??e.name}s(Bd,"getRuleType");function As(e){let t={s:!1,i:!1,u:!1},r=In(e.definition,t),n=Object.entries(t).filter(([,a])=>a).map(([a])=>a).join("");return new RegExp(r,n)}s(As,"terminalRegex");var Kd=/[\s\S]/.source;function In(e,t){if(fd(e))return uy(e);if(dd(e))return cy(e);if(ed(e))return py(e);if($l(e)){let r=e.rule.ref;if(!r)throw new Error("Missing rule reference.");return Ht(In(r.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}else{if(id(e))return dy(e);if(hd(e))return fy(e);if(ud(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),a=e.regex.substring(r+1);return t&&(t.i=a.includes("i"),t.s=a.includes("s"),t.u=a.includes("u")),Ht(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else{if(md(e))return Ht(Kd,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}}}s(In,"abstractElementToRegex");function uy(e){return Ht(e.elements.map(t=>In(t)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}s(uy,"terminalAlternativesToRegex");function cy(e){return Ht(e.elements.map(t=>In(t)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}s(cy,"terminalGroupToRegex");function fy(e){return Ht(`${Kd}*?${In(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}s(fy,"untilTokenToRegex");function dy(e){return Ht(`(?!${In(e.terminal)})${Kd}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}s(dy,"negateTokenToRegex");function py(e){return e.right?Ht(`[${co(e.left)}-${co(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):Ht(co(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}s(py,"characterRangeToRegex");function co(e){return Ga(e.value)}s(co,"keywordToRegex");function Ht(e,t){return(t.parenthesized||t.lookahead||t.wrap!==!1)&&(e=`(${t.lookahead??(t.parenthesized?"":"?:")}${e})`),t.cardinality?`${e}${t.cardinality}`:e}s(Ht,"withCardinality");function qd(e){let t=[],r=e.Grammar;for(let n of r.rules)_t(n)&&Dd(n)&&wd(As(n))&&t.push(n.name);return{multilineCommentRules:t,nameRegexp:Rd}}s(qd,"createGrammarConfig");var ow=typeof global=="object"&&global&&global.Object===Object&&global,hy=ow,lw=typeof self=="object"&&self&&self.Object===Object&&self,uw=hy||lw||Function("return this")(),Xt=uw,cw=Xt.Symbol,At=cw,my=Object.prototype,fw=my.hasOwnProperty,dw=my.toString,mi=At?At.toStringTag:void 0;function gy(e){var t=fw.call(e,mi),r=e[mi];try{e[mi]=void 0;var n=!0}catch{}var a=dw.call(e);return n&&(t?e[mi]=r:delete e[mi]),a}s(gy,"getRawTag");var pw=gy,hw=Object.prototype,mw=hw.toString;function yy(e){return mw.call(e)}s(yy,"objectToString");var gw=yy,yw="[object Null]",vw="[object Undefined]",Ph=At?At.toStringTag:void 0;function vy(e){return e==null?e===void 0?vw:yw:Ph&&Ph in Object(e)?pw(e):gw(e)}s(vy,"baseGetTag");var Fr=vy;function Ty(e){return e!=null&&typeof e=="object"}s(Ty,"isObjectLike");var Lt=Ty,Tw="[object Symbol]";function Ry(e){return typeof e=="symbol"||Lt(e)&&Fr(e)==Tw}s(Ry,"isSymbol");var Ol=Ry;function $y(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}s($y,"arrayMap");var Es=$y,Rw=Array.isArray,te=Rw,$w=1/0,Oh=At?At.prototype:void 0,Lh=Oh?Oh.toString:void 0;function Wd(e){if(typeof e=="string")return e;if(te(e))return Es(e,Wd)+"";if(Ol(e))return Lh?Lh.call(e):"";var t=e+"";return t=="0"&&1/e==-$w?"-0":t}s(Wd,"baseToString");var Aw=Wd,Ew=/\s/;function Ay(e){for(var t=e.length;t--&&Ew.test(e.charAt(t)););return t}s(Ay,"trimmedEndIndex");var _w=Ay,Cw=/^\s+/;function Ey(e){return e&&e.slice(0,_w(e)+1).replace(Cw,"")}s(Ey,"baseTrim");var bw=Ey;function _y(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}s(_y,"isObject");var Et=_y,Dh=NaN,Sw=/^[-+]0x[0-9a-f]+$/i,ww=/^0b[01]+$/i,Iw=/^0o[0-7]+$/i,Nw=parseInt;function Cy(e){if(typeof e=="number")return e;if(Ol(e))return Dh;if(Et(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Et(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=bw(e);var r=ww.test(e);return r||Iw.test(e)?Nw(e.slice(2),r?2:8):Sw.test(e)?Dh:+e}s(Cy,"toNumber");var kw=Cy,Mh=1/0,Pw=17976931348623157e292;function by(e){if(!e)return e===0?e:0;if(e=kw(e),e===Mh||e===-Mh){var t=e<0?-1:1;return t*Pw}return e===e?e:0}s(by,"toFinite");var Ow=by;function Sy(e){var t=Ow(e),r=t%1;return t===t?r?t-r:t:0}s(Sy,"toInteger");var _s=Sy;function wy(e){return e}s(wy,"identity");var Pa=wy,Lw="[object AsyncFunction]",Dw="[object Function]",Mw="[object GeneratorFunction]",xw="[object Proxy]";function Iy(e){if(!Et(e))return!1;var t=Fr(e);return t==Dw||t==Mw||t==Lw||t==xw}s(Iy,"isFunction");var $r=Iy,Fw=Xt["__core-js_shared__"],Cu=Fw,xh=(function(){var e=/[^.]+$/.exec(Cu&&Cu.keys&&Cu.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Ny(e){return!!xh&&xh in e}s(Ny,"isMasked");var Gw=Ny,jw=Function.prototype,Uw=jw.toString;function ky(e){if(e!=null){try{return Uw.call(e)}catch{}try{return e+""}catch{}}return""}s(ky,"toSource");var Nn=ky,zw=/[\\^$.*+?()[\]{}|]/g,Bw=/^\[object .+?Constructor\]$/,Kw=Function.prototype,qw=Object.prototype,Ww=Kw.toString,Vw=qw.hasOwnProperty,Hw=RegExp("^"+Ww.call(Vw).replace(zw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Py(e){if(!Et(e)||Gw(e))return!1;var t=$r(e)?Hw:Bw;return t.test(Nn(e))}s(Py,"baseIsNative");var Yw=Py;function Oy(e,t){return e?.[t]}s(Oy,"getValue");var Xw=Oy;function Ly(e,t){var r=Xw(e,t);return Yw(r)?r:void 0}s(Ly,"getNative");var kn=Ly,Jw=kn(Xt,"WeakMap"),Yc=Jw,Fh=Object.create,Zw=(function(){function e(){}return s(e,"object"),function(t){if(!Et(t))return{};if(Fh)return Fh(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}})(),Qw=Zw;function Dy(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}s(Dy,"apply");var eI=Dy;function My(){}s(My,"noop");var De=My;function xy(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}s(xy,"copyArray");var tI=xy,rI=800,nI=16,aI=Date.now;function Fy(e){var t=0,r=0;return function(){var n=aI(),a=nI-(n-r);if(r=n,a>0){if(++t>=rI)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}s(Fy,"shortOut");var iI=Fy;function Gy(e){return function(){return e}}s(Gy,"constant");var sI=Gy,oI=(function(){try{var e=kn(Object,"defineProperty");return e({},"",{}),e}catch{}})(),Wo=oI,lI=Wo?function(e,t){return Wo(e,"toString",{configurable:!0,enumerable:!1,value:sI(t),writable:!0})}:Pa,uI=lI,cI=iI(uI),fI=cI;function jy(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}s(jy,"arrayEach");var Uy=jy;function zy(e,t,r,n){for(var a=e.length,i=r+(n?1:-1);n?i--:++i<a;)if(t(e[i],i,e))return i;return-1}s(zy,"baseFindIndex");var By=zy;function Ky(e){return e!==e}s(Ky,"baseIsNaN");var dI=Ky;function qy(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}s(qy,"strictIndexOf");var pI=qy;function Wy(e,t,r){return t===t?pI(e,t,r):By(e,dI,r)}s(Wy,"baseIndexOf");var Vd=Wy;function Vy(e,t){var r=e==null?0:e.length;return!!r&&Vd(e,t,0)>-1}s(Vy,"arrayIncludes");var Hy=Vy,hI=9007199254740991,mI=/^(?:0|[1-9]\d*)$/;function Yy(e,t){var r=typeof e;return t=t??hI,!!t&&(r=="number"||r!="symbol"&&mI.test(e))&&e>-1&&e%1==0&&e<t}s(Yy,"isIndex");var Ll=Yy;function Xy(e,t,r){t=="__proto__"&&Wo?Wo(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}s(Xy,"baseAssignValue");var Hd=Xy;function Jy(e,t){return e===t||e!==e&&t!==t}s(Jy,"eq");var Cs=Jy,gI=Object.prototype,yI=gI.hasOwnProperty;function Zy(e,t,r){var n=e[t];(!(yI.call(e,t)&&Cs(n,r))||r===void 0&&!(t in e))&&Hd(e,t,r)}s(Zy,"assignValue");var Dl=Zy;function Qy(e,t,r,n){var a=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var l=t[i],u=n?n(r[l],e[l],l,r,e):void 0;u===void 0&&(u=e[l]),a?Hd(r,l,u):Dl(r,l,u)}return r}s(Qy,"copyObject");var bs=Qy,Gh=Math.max;function ev(e,t,r){return t=Gh(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=Gh(n.length-t,0),o=Array(i);++a<i;)o[a]=n[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=n[a];return l[t]=r(o),eI(e,this,l)}}s(ev,"overRest");var vI=ev;function tv(e,t){return fI(vI(e,t,Pa),e+"")}s(tv,"baseRest");var Yd=tv,TI=9007199254740991;function rv(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=TI}s(rv,"isLength");var Xd=rv;function nv(e){return e!=null&&Xd(e.length)&&!$r(e)}s(nv,"isArrayLike");var Jt=nv;function av(e,t,r){if(!Et(r))return!1;var n=typeof t;return(n=="number"?Jt(r)&&Ll(t,r.length):n=="string"&&t in r)?Cs(r[t],e):!1}s(av,"isIterateeCall");var Ml=av;function iv(e){return Yd(function(t,r){var n=-1,a=r.length,i=a>1?r[a-1]:void 0,o=a>2?r[2]:void 0;for(i=e.length>3&&typeof i=="function"?(a--,i):void 0,o&&Ml(r[0],r[1],o)&&(i=a<3?void 0:i,a=1),t=Object(t);++n<a;){var l=r[n];l&&e(t,l,n,i)}return t})}s(iv,"createAssigner");var RI=iv,$I=Object.prototype;function sv(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||$I;return e===r}s(sv,"isPrototype");var Ss=sv;function ov(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}s(ov,"baseTimes");var AI=ov,EI="[object Arguments]";function lv(e){return Lt(e)&&Fr(e)==EI}s(lv,"baseIsArguments");var jh=lv,uv=Object.prototype,_I=uv.hasOwnProperty,CI=uv.propertyIsEnumerable,bI=jh((function(){return arguments})())?jh:function(e){return Lt(e)&&_I.call(e,"callee")&&!CI.call(e,"callee")},xl=bI;function cv(){return!1}s(cv,"stubFalse");var SI=cv,fv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Uh=fv&&typeof module=="object"&&module&&!module.nodeType&&module,wI=Uh&&Uh.exports===fv,zh=wI?Xt.Buffer:void 0,II=zh?zh.isBuffer:void 0,NI=II||SI,ts=NI,kI="[object Arguments]",PI="[object Array]",OI="[object Boolean]",LI="[object Date]",DI="[object Error]",MI="[object Function]",xI="[object Map]",FI="[object Number]",GI="[object Object]",jI="[object RegExp]",UI="[object Set]",zI="[object String]",BI="[object WeakMap]",KI="[object ArrayBuffer]",qI="[object DataView]",WI="[object Float32Array]",VI="[object Float64Array]",HI="[object Int8Array]",YI="[object Int16Array]",XI="[object Int32Array]",JI="[object Uint8Array]",ZI="[object Uint8ClampedArray]",QI="[object Uint16Array]",eN="[object Uint32Array]",ge={};ge[WI]=ge[VI]=ge[HI]=ge[YI]=ge[XI]=ge[JI]=ge[ZI]=ge[QI]=ge[eN]=!0;ge[kI]=ge[PI]=ge[KI]=ge[OI]=ge[qI]=ge[LI]=ge[DI]=ge[MI]=ge[xI]=ge[FI]=ge[GI]=ge[jI]=ge[UI]=ge[zI]=ge[BI]=!1;function dv(e){return Lt(e)&&Xd(e.length)&&!!ge[Fr(e)]}s(dv,"baseIsTypedArray");var tN=dv;function pv(e){return function(t){return e(t)}}s(pv,"baseUnary");var ws=pv,hv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,qi=hv&&typeof module=="object"&&module&&!module.nodeType&&module,rN=qi&&qi.exports===hv,bu=rN&&hy.process,nN=(function(){try{var e=qi&&qi.require&&qi.require("util").types;return e||bu&&bu.binding&&bu.binding("util")}catch{}})(),Pr=nN,Bh=Pr&&Pr.isTypedArray,aN=Bh?ws(Bh):tN,Jd=aN,iN=Object.prototype,sN=iN.hasOwnProperty;function mv(e,t){var r=te(e),n=!r&&xl(e),a=!r&&!n&&ts(e),i=!r&&!n&&!a&&Jd(e),o=r||n||a||i,l=o?AI(e.length,String):[],u=l.length;for(var c in e)(t||sN.call(e,c))&&!(o&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Ll(c,u)))&&l.push(c);return l}s(mv,"arrayLikeKeys");var gv=mv;function yv(e,t){return function(r){return e(t(r))}}s(yv,"overArg");var vv=yv,oN=vv(Object.keys,Object),lN=oN,uN=Object.prototype,cN=uN.hasOwnProperty;function Tv(e){if(!Ss(e))return lN(e);var t=[];for(var r in Object(e))cN.call(e,r)&&r!="constructor"&&t.push(r);return t}s(Tv,"baseKeys");var Rv=Tv;function $v(e){return Jt(e)?gv(e):Rv(e)}s($v,"keys");var dt=$v,fN=Object.prototype,dN=fN.hasOwnProperty,pN=RI(function(e,t){if(Ss(t)||Jt(t)){bs(t,dt(t),e);return}for(var r in t)dN.call(t,r)&&Dl(e,r,t[r])}),pt=pN;function Av(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}s(Av,"nativeKeysIn");var hN=Av,mN=Object.prototype,gN=mN.hasOwnProperty;function Ev(e){if(!Et(e))return hN(e);var t=Ss(e),r=[];for(var n in e)n=="constructor"&&(t||!gN.call(e,n))||r.push(n);return r}s(Ev,"baseKeysIn");var yN=Ev;function _v(e){return Jt(e)?gv(e,!0):yN(e)}s(_v,"keysIn");var Fl=_v,vN=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,TN=/^\w*$/;function Cv(e,t){if(te(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Ol(e)?!0:TN.test(e)||!vN.test(e)||t!=null&&e in Object(t)}s(Cv,"isKey");var Zd=Cv,RN=kn(Object,"create"),rs=RN;function bv(){this.__data__=rs?rs(null):{},this.size=0}s(bv,"hashClear");var $N=bv;function Sv(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}s(Sv,"hashDelete");var AN=Sv,EN="__lodash_hash_undefined__",_N=Object.prototype,CN=_N.hasOwnProperty;function wv(e){var t=this.__data__;if(rs){var r=t[e];return r===EN?void 0:r}return CN.call(t,e)?t[e]:void 0}s(wv,"hashGet");var bN=wv,SN=Object.prototype,wN=SN.hasOwnProperty;function Iv(e){var t=this.__data__;return rs?t[e]!==void 0:wN.call(t,e)}s(Iv,"hashHas");var IN=Iv,NN="__lodash_hash_undefined__";function Nv(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=rs&&t===void 0?NN:t,this}s(Nv,"hashSet");var kN=Nv;function Pn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(Pn,"Hash");Pn.prototype.clear=$N;Pn.prototype.delete=AN;Pn.prototype.get=bN;Pn.prototype.has=IN;Pn.prototype.set=kN;var Kh=Pn;function kv(){this.__data__=[],this.size=0}s(kv,"listCacheClear");var PN=kv;function Pv(e,t){for(var r=e.length;r--;)if(Cs(e[r][0],t))return r;return-1}s(Pv,"assocIndexOf");var Gl=Pv,ON=Array.prototype,LN=ON.splice;function Ov(e){var t=this.__data__,r=Gl(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():LN.call(t,r,1),--this.size,!0}s(Ov,"listCacheDelete");var DN=Ov;function Lv(e){var t=this.__data__,r=Gl(t,e);return r<0?void 0:t[r][1]}s(Lv,"listCacheGet");var MN=Lv;function Dv(e){return Gl(this.__data__,e)>-1}s(Dv,"listCacheHas");var xN=Dv;function Mv(e,t){var r=this.__data__,n=Gl(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}s(Mv,"listCacheSet");var FN=Mv;function On(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(On,"ListCache");On.prototype.clear=PN;On.prototype.delete=DN;On.prototype.get=MN;On.prototype.has=xN;On.prototype.set=FN;var jl=On,GN=kn(Xt,"Map"),ns=GN;function xv(){this.size=0,this.__data__={hash:new Kh,map:new(ns||jl),string:new Kh}}s(xv,"mapCacheClear");var jN=xv;function Fv(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}s(Fv,"isKeyable");var UN=Fv;function Gv(e,t){var r=e.__data__;return UN(t)?r[typeof t=="string"?"string":"hash"]:r.map}s(Gv,"getMapData");var Ul=Gv;function jv(e){var t=Ul(this,e).delete(e);return this.size-=t?1:0,t}s(jv,"mapCacheDelete");var zN=jv;function Uv(e){return Ul(this,e).get(e)}s(Uv,"mapCacheGet");var BN=Uv;function zv(e){return Ul(this,e).has(e)}s(zv,"mapCacheHas");var KN=zv;function Bv(e,t){var r=Ul(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}s(Bv,"mapCacheSet");var qN=Bv;function Ln(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(Ln,"MapCache");Ln.prototype.clear=jN;Ln.prototype.delete=zN;Ln.prototype.get=BN;Ln.prototype.has=KN;Ln.prototype.set=qN;var zl=Ln,WN="Expected a function";function Bl(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(WN);var r=s(function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;if(i.has(a))return i.get(a);var o=e.apply(this,n);return r.cache=i.set(a,o)||i,o},"memoized");return r.cache=new(Bl.Cache||zl),r}s(Bl,"memoize");Bl.Cache=zl;var VN=Bl,HN=500;function Kv(e){var t=VN(e,function(n){return r.size===HN&&r.clear(),n}),r=t.cache;return t}s(Kv,"memoizeCapped");var YN=Kv,XN=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,JN=/\\(\\)?/g,ZN=YN(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(XN,function(r,n,a,i){t.push(a?i.replace(JN,"$1"):n||r)}),t}),QN=ZN;function qv(e){return e==null?"":Aw(e)}s(qv,"toString");var ek=qv;function Wv(e,t){return te(e)?e:Zd(e,t)?[e]:QN(ek(e))}s(Wv,"castPath");var Kl=Wv,tk=1/0;function Vv(e){if(typeof e=="string"||Ol(e))return e;var t=e+"";return t=="0"&&1/e==-tk?"-0":t}s(Vv,"toKey");var Is=Vv;function Hv(e,t){t=Kl(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Is(t[r++])];return r&&r==n?e:void 0}s(Hv,"baseGet");var Qd=Hv;function Yv(e,t,r){var n=e==null?void 0:Qd(e,t);return n===void 0?r:n}s(Yv,"get");var rk=Yv;function Xv(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}s(Xv,"arrayPush");var ep=Xv,qh=At?At.isConcatSpreadable:void 0;function Jv(e){return te(e)||xl(e)||!!(qh&&e&&e[qh])}s(Jv,"isFlattenable");var nk=Jv;function tp(e,t,r,n,a){var i=-1,o=e.length;for(r||(r=nk),a||(a=[]);++i<o;){var l=e[i];t>0&&r(l)?t>1?tp(l,t-1,r,n,a):ep(a,l):n||(a[a.length]=l)}return a}s(tp,"baseFlatten");var rp=tp;function Zv(e){var t=e==null?0:e.length;return t?rp(e,1):[]}s(Zv,"flatten");var Pt=Zv,ak=vv(Object.getPrototypeOf,Object),Qv=ak;function eT(e,t,r){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(a);++n<a;)i[n]=e[n+t];return i}s(eT,"baseSlice");var tT=eT;function rT(e,t,r,n){var a=-1,i=e==null?0:e.length;for(n&&i&&(r=e[++a]);++a<i;)r=t(r,e[a],a,e);return r}s(rT,"arrayReduce");var ik=rT;function nT(){this.__data__=new jl,this.size=0}s(nT,"stackClear");var sk=nT;function aT(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}s(aT,"stackDelete");var ok=aT;function iT(e){return this.__data__.get(e)}s(iT,"stackGet");var lk=iT;function sT(e){return this.__data__.has(e)}s(sT,"stackHas");var uk=sT,ck=200;function oT(e,t){var r=this.__data__;if(r instanceof jl){var n=r.__data__;if(!ns||n.length<ck-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new zl(n)}return r.set(e,t),this.size=r.size,this}s(oT,"stackSet");var fk=oT;function Dn(e){var t=this.__data__=new jl(e);this.size=t.size}s(Dn,"Stack");Dn.prototype.clear=sk;Dn.prototype.delete=ok;Dn.prototype.get=lk;Dn.prototype.has=uk;Dn.prototype.set=fk;var Wi=Dn;function lT(e,t){return e&&bs(t,dt(t),e)}s(lT,"baseAssign");var dk=lT;function uT(e,t){return e&&bs(t,Fl(t),e)}s(uT,"baseAssignIn");var pk=uT,cT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wh=cT&&typeof module=="object"&&module&&!module.nodeType&&module,hk=Wh&&Wh.exports===cT,Vh=hk?Xt.Buffer:void 0,Hh=Vh?Vh.allocUnsafe:void 0;function fT(e,t){if(t)return e.slice();var r=e.length,n=Hh?Hh(r):new e.constructor(r);return e.copy(n),n}s(fT,"cloneBuffer");var mk=fT;function dT(e,t){for(var r=-1,n=e==null?0:e.length,a=0,i=[];++r<n;){var o=e[r];t(o,r,e)&&(i[a++]=o)}return i}s(dT,"arrayFilter");var np=dT;function pT(){return[]}s(pT,"stubArray");var hT=pT,gk=Object.prototype,yk=gk.propertyIsEnumerable,Yh=Object.getOwnPropertySymbols,vk=Yh?function(e){return e==null?[]:(e=Object(e),np(Yh(e),function(t){return yk.call(e,t)}))}:hT,ap=vk;function mT(e,t){return bs(e,ap(e),t)}s(mT,"copySymbols");var Tk=mT,Rk=Object.getOwnPropertySymbols,$k=Rk?function(e){for(var t=[];e;)ep(t,ap(e)),e=Qv(e);return t}:hT,gT=$k;function yT(e,t){return bs(e,gT(e),t)}s(yT,"copySymbolsIn");var Ak=yT;function vT(e,t,r){var n=t(e);return te(e)?n:ep(n,r(e))}s(vT,"baseGetAllKeys");var TT=vT;function RT(e){return TT(e,dt,ap)}s(RT,"getAllKeys");var Xc=RT;function $T(e){return TT(e,Fl,gT)}s($T,"getAllKeysIn");var AT=$T,Ek=kn(Xt,"DataView"),Jc=Ek,_k=kn(Xt,"Promise"),Zc=_k,Ck=kn(Xt,"Set"),Aa=Ck,Xh="[object Map]",bk="[object Object]",Jh="[object Promise]",Zh="[object Set]",Qh="[object WeakMap]",em="[object DataView]",Sk=Nn(Jc),wk=Nn(ns),Ik=Nn(Zc),Nk=Nn(Aa),kk=Nn(Yc),Yr=Fr;(Jc&&Yr(new Jc(new ArrayBuffer(1)))!=em||ns&&Yr(new ns)!=Xh||Zc&&Yr(Zc.resolve())!=Jh||Aa&&Yr(new Aa)!=Zh||Yc&&Yr(new Yc)!=Qh)&&(Yr=s(function(e){var t=Fr(e),r=t==bk?e.constructor:void 0,n=r?Nn(r):"";if(n)switch(n){case Sk:return em;case wk:return Xh;case Ik:return Jh;case Nk:return Zh;case kk:return Qh}return t},"getTag"));var Oa=Yr,Pk=Object.prototype,Ok=Pk.hasOwnProperty;function ET(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&Ok.call(e,"index")&&(r.index=e.index,r.input=e.input),r}s(ET,"initCloneArray");var Lk=ET,Dk=Xt.Uint8Array,Vo=Dk;function _T(e){var t=new e.constructor(e.byteLength);return new Vo(t).set(new Vo(e)),t}s(_T,"cloneArrayBuffer");var ip=_T;function CT(e,t){var r=t?ip(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}s(CT,"cloneDataView");var Mk=CT,xk=/\w*$/;function bT(e){var t=new e.constructor(e.source,xk.exec(e));return t.lastIndex=e.lastIndex,t}s(bT,"cloneRegExp");var Fk=bT,tm=At?At.prototype:void 0,rm=tm?tm.valueOf:void 0;function ST(e){return rm?Object(rm.call(e)):{}}s(ST,"cloneSymbol");var Gk=ST;function wT(e,t){var r=t?ip(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}s(wT,"cloneTypedArray");var jk=wT,Uk="[object Boolean]",zk="[object Date]",Bk="[object Map]",Kk="[object Number]",qk="[object RegExp]",Wk="[object Set]",Vk="[object String]",Hk="[object Symbol]",Yk="[object ArrayBuffer]",Xk="[object DataView]",Jk="[object Float32Array]",Zk="[object Float64Array]",Qk="[object Int8Array]",eP="[object Int16Array]",tP="[object Int32Array]",rP="[object Uint8Array]",nP="[object Uint8ClampedArray]",aP="[object Uint16Array]",iP="[object Uint32Array]";function IT(e,t,r){var n=e.constructor;switch(t){case Yk:return ip(e);case Uk:case zk:return new n(+e);case Xk:return Mk(e,r);case Jk:case Zk:case Qk:case eP:case tP:case rP:case nP:case aP:case iP:return jk(e,r);case Bk:return new n;case Kk:case Vk:return new n(e);case qk:return Fk(e);case Wk:return new n;case Hk:return Gk(e)}}s(IT,"initCloneByTag");var sP=IT;function NT(e){return typeof e.constructor=="function"&&!Ss(e)?Qw(Qv(e)):{}}s(NT,"initCloneObject");var oP=NT,lP="[object Map]";function kT(e){return Lt(e)&&Oa(e)==lP}s(kT,"baseIsMap");var uP=kT,nm=Pr&&Pr.isMap,cP=nm?ws(nm):uP,fP=cP,dP="[object Set]";function PT(e){return Lt(e)&&Oa(e)==dP}s(PT,"baseIsSet");var pP=PT,am=Pr&&Pr.isSet,hP=am?ws(am):pP,mP=hP,gP=1,yP=2,vP=4,OT="[object Arguments]",TP="[object Array]",RP="[object Boolean]",$P="[object Date]",AP="[object Error]",LT="[object Function]",EP="[object GeneratorFunction]",_P="[object Map]",CP="[object Number]",DT="[object Object]",bP="[object RegExp]",SP="[object Set]",wP="[object String]",IP="[object Symbol]",NP="[object WeakMap]",kP="[object ArrayBuffer]",PP="[object DataView]",OP="[object Float32Array]",LP="[object Float64Array]",DP="[object Int8Array]",MP="[object Int16Array]",xP="[object Int32Array]",FP="[object Uint8Array]",GP="[object Uint8ClampedArray]",jP="[object Uint16Array]",UP="[object Uint32Array]",fe={};fe[OT]=fe[TP]=fe[kP]=fe[PP]=fe[RP]=fe[$P]=fe[OP]=fe[LP]=fe[DP]=fe[MP]=fe[xP]=fe[_P]=fe[CP]=fe[DT]=fe[bP]=fe[SP]=fe[wP]=fe[IP]=fe[FP]=fe[GP]=fe[jP]=fe[UP]=!0;fe[AP]=fe[LT]=fe[NP]=!1;function Vi(e,t,r,n,a,i){var o,l=t&gP,u=t&yP,c=t&vP;if(r&&(o=a?r(e,n,a,i):r(e)),o!==void 0)return o;if(!Et(e))return e;var f=te(e);if(f){if(o=Lk(e),!l)return tI(e,o)}else{var d=Oa(e),h=d==LT||d==EP;if(ts(e))return mk(e,l);if(d==DT||d==OT||h&&!a){if(o=u||h?{}:oP(e),!l)return u?Ak(e,pk(o,e)):Tk(e,dk(o,e))}else{if(!fe[d])return a?e:{};o=sP(e,d,l)}}i||(i=new Wi);var y=i.get(e);if(y)return y;i.set(e,o),mP(e)?e.forEach(function(I){o.add(Vi(I,t,r,I,e,i))}):fP(e)&&e.forEach(function(I,w){o.set(w,Vi(I,t,r,w,e,i))});var v=c?u?AT:Xc:u?Fl:dt,S=f?void 0:v(e);return Uy(S||e,function(I,w){S&&(w=I,I=e[w]),Dl(o,w,Vi(I,t,r,w,e,i))}),o}s(Vi,"baseClone");var zP=Vi,BP=4;function MT(e){return zP(e,BP)}s(MT,"clone");var We=MT;function xT(e){for(var t=-1,r=e==null?0:e.length,n=0,a=[];++t<r;){var i=e[t];i&&(a[n++]=i)}return a}s(xT,"compact");var Ns=xT,KP="__lodash_hash_undefined__";function FT(e){return this.__data__.set(e,KP),this}s(FT,"setCacheAdd");var qP=FT;function GT(e){return this.__data__.has(e)}s(GT,"setCacheHas");var WP=GT;function as(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new zl;++t<r;)this.add(e[t])}s(as,"SetCache");as.prototype.add=as.prototype.push=qP;as.prototype.has=WP;var sp=as;function jT(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}s(jT,"arraySome");var UT=jT;function zT(e,t){return e.has(t)}s(zT,"cacheHas");var op=zT,VP=1,HP=2;function BT(e,t,r,n,a,i){var o=r&VP,l=e.length,u=t.length;if(l!=u&&!(o&&u>l))return!1;var c=i.get(e),f=i.get(t);if(c&&f)return c==t&&f==e;var d=-1,h=!0,y=r&HP?new sp:void 0;for(i.set(e,t),i.set(t,e);++d<l;){var v=e[d],S=t[d];if(n)var I=o?n(S,v,d,t,e,i):n(v,S,d,e,t,i);if(I!==void 0){if(I)continue;h=!1;break}if(y){if(!UT(t,function(w,b){if(!op(y,b)&&(v===w||a(v,w,r,n,i)))return y.push(b)})){h=!1;break}}else if(!(v===S||a(v,S,r,n,i))){h=!1;break}}return i.delete(e),i.delete(t),h}s(BT,"equalArrays");var KT=BT;function qT(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}s(qT,"mapToArray");var YP=qT;function WT(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}s(WT,"setToArray");var lp=WT,XP=1,JP=2,ZP="[object Boolean]",QP="[object Date]",e0="[object Error]",t0="[object Map]",r0="[object Number]",n0="[object RegExp]",a0="[object Set]",i0="[object String]",s0="[object Symbol]",o0="[object ArrayBuffer]",l0="[object DataView]",im=At?At.prototype:void 0,Su=im?im.valueOf:void 0;function VT(e,t,r,n,a,i,o){switch(r){case l0:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case o0:return!(e.byteLength!=t.byteLength||!i(new Vo(e),new Vo(t)));case ZP:case QP:case r0:return Cs(+e,+t);case e0:return e.name==t.name&&e.message==t.message;case n0:case i0:return e==t+"";case t0:var l=YP;case a0:var u=n&XP;if(l||(l=lp),e.size!=t.size&&!u)return!1;var c=o.get(e);if(c)return c==t;n|=JP,o.set(e,t);var f=KT(l(e),l(t),n,a,i,o);return o.delete(e),f;case s0:if(Su)return Su.call(e)==Su.call(t)}return!1}s(VT,"equalByTag");var u0=VT,c0=1,f0=Object.prototype,d0=f0.hasOwnProperty;function HT(e,t,r,n,a,i){var o=r&c0,l=Xc(e),u=l.length,c=Xc(t),f=c.length;if(u!=f&&!o)return!1;for(var d=u;d--;){var h=l[d];if(!(o?h in t:d0.call(t,h)))return!1}var y=i.get(e),v=i.get(t);if(y&&v)return y==t&&v==e;var S=!0;i.set(e,t),i.set(t,e);for(var I=o;++d<u;){h=l[d];var w=e[h],b=t[h];if(n)var E=o?n(b,w,h,t,e,i):n(w,b,h,e,t,i);if(!(E===void 0?w===b||a(w,b,r,n,i):E)){S=!1;break}I||(I=h=="constructor")}if(S&&!I){var k=e.constructor,G=t.constructor;k!=G&&"constructor"in e&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof G=="function"&&G instanceof G)&&(S=!1)}return i.delete(e),i.delete(t),S}s(HT,"equalObjects");var p0=HT,h0=1,sm="[object Arguments]",om="[object Array]",Fs="[object Object]",m0=Object.prototype,lm=m0.hasOwnProperty;function YT(e,t,r,n,a,i){var o=te(e),l=te(t),u=o?om:Oa(e),c=l?om:Oa(t);u=u==sm?Fs:u,c=c==sm?Fs:c;var f=u==Fs,d=c==Fs,h=u==c;if(h&&ts(e)){if(!ts(t))return!1;o=!0,f=!1}if(h&&!f)return i||(i=new Wi),o||Jd(e)?KT(e,t,r,n,a,i):u0(e,t,u,r,n,a,i);if(!(r&h0)){var y=f&&lm.call(e,"__wrapped__"),v=d&&lm.call(t,"__wrapped__");if(y||v){var S=y?e.value():e,I=v?t.value():t;return i||(i=new Wi),a(S,I,r,n,i)}}return h?(i||(i=new Wi),p0(e,t,r,n,a,i)):!1}s(YT,"baseIsEqualDeep");var g0=YT;function up(e,t,r,n,a){return e===t?!0:e==null||t==null||!Lt(e)&&!Lt(t)?e!==e&&t!==t:g0(e,t,r,n,up,a)}s(up,"baseIsEqual");var XT=up,y0=1,v0=2;function JT(e,t,r,n){var a=r.length,i=a,o=!n;if(e==null)return!i;for(e=Object(e);a--;){var l=r[a];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<i;){l=r[a];var u=l[0],c=e[u],f=l[1];if(o&&l[2]){if(c===void 0&&!(u in e))return!1}else{var d=new Wi;if(n)var h=n(c,f,u,e,t,d);if(!(h===void 0?XT(f,c,y0|v0,n,d):h))return!1}}return!0}s(JT,"baseIsMatch");var T0=JT;function ZT(e){return e===e&&!Et(e)}s(ZT,"isStrictComparable");var QT=ZT;function eR(e){for(var t=dt(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,QT(a)]}return t}s(eR,"getMatchData");var R0=eR;function tR(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}s(tR,"matchesStrictComparable");var rR=tR;function nR(e){var t=R0(e);return t.length==1&&t[0][2]?rR(t[0][0],t[0][1]):function(r){return r===e||T0(r,e,t)}}s(nR,"baseMatches");var $0=nR;function aR(e,t){return e!=null&&t in Object(e)}s(aR,"baseHasIn");var A0=aR;function iR(e,t,r){t=Kl(t,e);for(var n=-1,a=t.length,i=!1;++n<a;){var o=Is(t[n]);if(!(i=e!=null&&r(e,o)))break;e=e[o]}return i||++n!=a?i:(a=e==null?0:e.length,!!a&&Xd(a)&&Ll(o,a)&&(te(e)||xl(e)))}s(iR,"hasPath");var sR=iR;function oR(e,t){return e!=null&&sR(e,t,A0)}s(oR,"hasIn");var E0=oR,_0=1,C0=2;function lR(e,t){return Zd(e)&&QT(t)?rR(Is(e),t):function(r){var n=rk(r,e);return n===void 0&&n===t?E0(r,e):XT(t,n,_0|C0)}}s(lR,"baseMatchesProperty");var b0=lR;function uR(e){return function(t){return t?.[e]}}s(uR,"baseProperty");var S0=uR;function cR(e){return function(t){return Qd(t,e)}}s(cR,"basePropertyDeep");var w0=cR;function fR(e){return Zd(e)?S0(Is(e)):w0(e)}s(fR,"property");var I0=fR;function dR(e){return typeof e=="function"?e:e==null?Pa:typeof e=="object"?te(e)?b0(e[0],e[1]):$0(e):I0(e)}s(dR,"baseIteratee");var Zt=dR;function pR(e,t,r,n){for(var a=-1,i=e==null?0:e.length;++a<i;){var o=e[a];t(n,o,r(o),e)}return n}s(pR,"arrayAggregator");var N0=pR;function hR(e){return function(t,r,n){for(var a=-1,i=Object(t),o=n(t),l=o.length;l--;){var u=o[e?l:++a];if(r(i[u],u,i)===!1)break}return t}}s(hR,"createBaseFor");var k0=hR,P0=k0(),O0=P0;function mR(e,t){return e&&O0(e,t,dt)}s(mR,"baseForOwn");var L0=mR;function gR(e,t){return function(r,n){if(r==null)return r;if(!Jt(r))return e(r,n);for(var a=r.length,i=t?a:-1,o=Object(r);(t?i--:++i<a)&&n(o[i],i,o)!==!1;);return r}}s(gR,"createBaseEach");var D0=gR,M0=D0(L0),Mn=M0;function yR(e,t,r,n){return Mn(e,function(a,i,o){t(n,a,r(a),o)}),n}s(yR,"baseAggregator");var x0=yR;function vR(e,t){return function(r,n){var a=te(r)?N0:x0,i=t?t():{};return a(r,e,Zt(n,2),i)}}s(vR,"createAggregator");var F0=vR,TR=Object.prototype,G0=TR.hasOwnProperty,j0=Yd(function(e,t){e=Object(e);var r=-1,n=t.length,a=n>2?t[2]:void 0;for(a&&Ml(t[0],t[1],a)&&(n=1);++r<n;)for(var i=t[r],o=Fl(i),l=-1,u=o.length;++l<u;){var c=o[l],f=e[c];(f===void 0||Cs(f,TR[c])&&!G0.call(e,c))&&(e[c]=i[c])}return e}),cp=j0;function RR(e){return Lt(e)&&Jt(e)}s(RR,"isArrayLikeObject");var um=RR;function $R(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}s($R,"arrayIncludesWith");var AR=$R,U0=200;function ER(e,t,r,n){var a=-1,i=Hy,o=!0,l=e.length,u=[],c=t.length;if(!l)return u;r&&(t=Es(t,ws(r))),n?(i=AR,o=!1):t.length>=U0&&(i=op,o=!1,t=new sp(t));e:for(;++a<l;){var f=e[a],d=r==null?f:r(f);if(f=n||f!==0?f:0,o&&d===d){for(var h=c;h--;)if(t[h]===d)continue e;u.push(f)}else i(t,d,n)||u.push(f)}return u}s(ER,"baseDifference");var z0=ER,B0=Yd(function(e,t){return um(e)?z0(e,rp(t,1,um,!0)):[]}),ql=B0;function _R(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}s(_R,"last");var Rn=_R;function CR(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:_s(t),tT(e,t<0?0:t,n)):[]}s(CR,"drop");var Ke=CR;function bR(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:_s(t),t=n-t,tT(e,0,t<0?0:t)):[]}s(bR,"dropRight");var is=bR;function SR(e){return typeof e=="function"?e:Pa}s(SR,"castFunction");var K0=SR;function wR(e,t){var r=te(e)?Uy:Mn;return r(e,K0(t))}s(wR,"forEach");var K=wR;function IR(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}s(IR,"arrayEvery");var q0=IR;function NR(e,t){var r=!0;return Mn(e,function(n,a,i){return r=!!t(n,a,i),r}),r}s(NR,"baseEvery");var W0=NR;function kR(e,t,r){var n=te(e)?q0:W0;return r&&Ml(e,t,r)&&(t=void 0),n(e,Zt(t,3))}s(kR,"every");var Ot=kR;function PR(e,t){var r=[];return Mn(e,function(n,a,i){t(n,a,i)&&r.push(n)}),r}s(PR,"baseFilter");var OR=PR;function LR(e,t){var r=te(e)?np:OR;return r(e,Zt(t,3))}s(LR,"filter");var Ct=LR;function DR(e){return function(t,r,n){var a=Object(t);if(!Jt(t)){var i=Zt(r,3);t=dt(t),r=s(function(l){return i(a[l],l,a)},"predicate")}var o=e(t,r,n);return o>-1?a[i?t[o]:o]:void 0}}s(DR,"createFind");var V0=DR,H0=Math.max;function MR(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:_s(r);return a<0&&(a=H0(n+a,0)),By(e,Zt(t,3),a)}s(MR,"findIndex");var Y0=MR,X0=V0(Y0),La=X0;function xR(e){return e&&e.length?e[0]:void 0}s(xR,"head");var Dt=xR;function FR(e,t){var r=-1,n=Jt(e)?Array(e.length):[];return Mn(e,function(a,i,o){n[++r]=t(a,i,o)}),n}s(FR,"baseMap");var J0=FR;function GR(e,t){var r=te(e)?Es:J0;return r(e,Zt(t,3))}s(GR,"map");var F=GR;function jR(e,t){return rp(F(e,t),1)}s(jR,"flatMap");var $t=jR,Z0=Object.prototype,Q0=Z0.hasOwnProperty,eO=F0(function(e,t,r){Q0.call(e,r)?e[r].push(t):Hd(e,r,[t])}),tO=eO,rO=Object.prototype,nO=rO.hasOwnProperty;function UR(e,t){return e!=null&&nO.call(e,t)}s(UR,"baseHas");var aO=UR;function zR(e,t){return e!=null&&sR(e,t,aO)}s(zR,"has");var z=zR,iO="[object String]";function BR(e){return typeof e=="string"||!te(e)&&Lt(e)&&Fr(e)==iO}s(BR,"isString");var st=BR;function KR(e,t){return Es(t,function(r){return e[r]})}s(KR,"baseValues");var sO=KR;function qR(e){return e==null?[]:sO(e,dt(e))}s(qR,"values");var Me=qR,oO=Math.max;function WR(e,t,r,n){e=Jt(e)?e:Me(e),r=r&&!n?_s(r):0;var a=e.length;return r<0&&(r=oO(a+r,0)),st(e)?r<=a&&e.indexOf(t,r)>-1:!!a&&Vd(e,t,r)>-1}s(WR,"includes");var rt=WR,lO=Math.max;function VR(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:_s(r);return a<0&&(a=lO(n+a,0)),Vd(e,t,a)}s(VR,"indexOf");var cm=VR,uO="[object Map]",cO="[object Set]",fO=Object.prototype,dO=fO.hasOwnProperty;function HR(e){if(e==null)return!0;if(Jt(e)&&(te(e)||typeof e=="string"||typeof e.splice=="function"||ts(e)||Jd(e)||xl(e)))return!e.length;var t=Oa(e);if(t==uO||t==cO)return!e.size;if(Ss(e))return!Rv(e).length;for(var r in e)if(dO.call(e,r))return!1;return!0}s(HR,"isEmpty");var pe=HR,pO="[object RegExp]";function YR(e){return Lt(e)&&Fr(e)==pO}s(YR,"baseIsRegExp");var hO=YR,fm=Pr&&Pr.isRegExp,mO=fm?ws(fm):hO,hr=mO;function XR(e){return e===void 0}s(XR,"isUndefined");var mr=XR,gO="Expected a function";function JR(e){if(typeof e!="function")throw new TypeError(gO);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}s(JR,"negate");var yO=JR;function ZR(e,t,r,n){if(!Et(e))return e;t=Kl(t,e);for(var a=-1,i=t.length,o=i-1,l=e;l!=null&&++a<i;){var u=Is(t[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(a!=o){var f=l[u];c=n?n(f,u,l):void 0,c===void 0&&(c=Et(f)?f:Ll(t[a+1])?[]:{})}Dl(l,u,c),l=l[u]}return e}s(ZR,"baseSet");var vO=ZR;function QR(e,t,r){for(var n=-1,a=t.length,i={};++n<a;){var o=t[n],l=Qd(e,o);r(l,o)&&vO(i,Kl(o,e),l)}return i}s(QR,"basePickBy");var TO=QR;function e$(e,t){if(e==null)return{};var r=Es(AT(e),function(n){return[n]});return t=Zt(t),TO(e,r,function(n,a){return t(n,a[0])})}s(e$,"pickBy");var Mt=e$;function t$(e,t,r,n,a){return a(e,function(i,o,l){r=n?(n=!1,i):t(r,i,o,l)}),r}s(t$,"baseReduce");var RO=t$;function r$(e,t,r){var n=te(e)?ik:RO,a=arguments.length<3;return n(e,Zt(t,4),r,a,Mn)}s(r$,"reduce");var ht=r$;function n$(e,t){var r=te(e)?np:OR;return r(e,yO(Zt(t,3)))}s(n$,"reject");var Wl=n$;function a$(e,t){var r;return Mn(e,function(n,a,i){return r=t(n,a,i),!r}),!!r}s(a$,"baseSome");var $O=a$;function i$(e,t,r){var n=te(e)?UT:$O;return r&&Ml(e,t,r)&&(t=void 0),n(e,Zt(t,3))}s(i$,"some");var s$=i$,AO=1/0,EO=Aa&&1/lp(new Aa([,-0]))[1]==AO?function(e){return new Aa(e)}:De,_O=EO,CO=200;function o$(e,t,r){var n=-1,a=Hy,i=e.length,o=!0,l=[],u=l;if(r)o=!1,a=AR;else if(i>=CO){var c=t?null:_O(e);if(c)return lp(c);o=!1,a=op,u=new sp}else u=t?[]:l;e:for(;++n<i;){var f=e[n],d=t?t(f):f;if(f=r||f!==0?f:0,o&&d===d){for(var h=u.length;h--;)if(u[h]===d)continue e;t&&u.push(d),l.push(f)}else a(u,d,r)||(u!==l&&u.push(d),l.push(f))}return l}s(o$,"baseUniq");var bO=o$;function l$(e){return e&&e.length?bO(e):[]}s(l$,"uniq");var fp=l$;function Ho(e){console&&console.error&&console.error(`Error: ${e}`)}s(Ho,"PRINT_ERROR");function dp(e){console&&console.warn&&console.warn(`Warning: ${e}`)}s(dp,"PRINT_WARNING");function pp(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}s(pp,"timer");function hp(e){function t(){}s(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return s(n,"fakeAccess"),n(),n(),e;(0,eval)(e)}s(hp,"toFastProperties");function u$(e){return c$(e)?e.LABEL:e.name}s(u$,"tokenLabel");function c$(e){return st(e.LABEL)&&e.LABEL!==""}s(c$,"hasTokenLabel");var Qt=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),K(this.definition,t=>{t.accept(e)})}},Qe=class extends Qt{static{s(this,"NonTerminal")}constructor(e){super([]),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},ja=class extends Qt{static{s(this,"Rule")}constructor(e){super(e.definition),this.orgText="",pt(this,Mt(e,t=>t!==void 0))}},ot=class extends Qt{static{s(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,pt(this,Mt(e,t=>t!==void 0))}},qe=class extends Qt{static{s(this,"Option")}constructor(e){super(e.definition),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}},mt=class extends Qt{static{s(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}},gt=class extends Qt{static{s(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}},be=class extends Qt{static{s(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}},lt=class extends Qt{static{s(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,pt(this,Mt(e,t=>t!==void 0))}},ut=class extends Qt{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,pt(this,Mt(e,t=>t!==void 0))}},ve=class{static{s(this,"Terminal")}constructor(e){this.idx=1,pt(this,Mt(e,t=>t!==void 0))}accept(e){e.visit(this)}};function f$(e){return F(e,Hi)}s(f$,"serializeGrammar");function Hi(e){function t(r){return F(r,Hi)}if(s(t,"convertDefinition"),e instanceof Qe){let r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return st(e.label)&&(r.label=e.label),r}else{if(e instanceof ot)return{type:"Alternative",definition:t(e.definition)};if(e instanceof qe)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof mt)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof gt)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:Hi(new ve({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof lt)return{type:"RepetitionWithSeparator",idx:e.idx,separator:Hi(new ve({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof be)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof ut)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof ve){let r={type:"Terminal",name:e.terminalType.name,label:u$(e.terminalType),idx:e.idx};st(e.label)&&(r.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(r.pattern=hr(n)?n.source:n),r}else{if(e instanceof ja)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}}}s(Hi,"serializeProduction");var Ua=class{static{s(this,"GAstVisitor")}visit(e){let t=e;switch(t.constructor){case Qe:return this.visitNonTerminal(t);case ot:return this.visitAlternative(t);case qe:return this.visitOption(t);case mt:return this.visitRepetitionMandatory(t);case gt:return this.visitRepetitionMandatoryWithSeparator(t);case lt:return this.visitRepetitionWithSeparator(t);case be:return this.visitRepetition(t);case ut:return this.visitAlternation(t);case ve:return this.visitTerminal(t);case ja:return this.visitRule(t);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 d$(e){return e instanceof ot||e instanceof qe||e instanceof be||e instanceof mt||e instanceof gt||e instanceof lt||e instanceof ve||e instanceof ja}s(d$,"isSequenceProd");function ss(e,t=[]){return e instanceof qe||e instanceof be||e instanceof lt?!0:e instanceof ut?s$(e.definition,n=>ss(n,t)):e instanceof Qe&&rt(t,e)?!1:e instanceof Qt?(e instanceof Qe&&t.push(e),Ot(e.definition,n=>ss(n,t))):!1}s(ss,"isOptionalProd");function p$(e){return e instanceof ut}s(p$,"isBranchingProd");function wt(e){if(e instanceof Qe)return"SUBRULE";if(e instanceof qe)return"OPTION";if(e instanceof ut)return"OR";if(e instanceof mt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof lt)return"MANY_SEP";if(e instanceof be)return"MANY";if(e instanceof ve)return"CONSUME";throw Error("non exhaustive match")}s(wt,"getProductionDslName");var Vl=class{static{s(this,"RestWalker")}walk(e,t=[]){K(e.definition,(r,n)=>{let a=Ke(e.definition,n+1);if(r instanceof Qe)this.walkProdRef(r,a,t);else if(r instanceof ve)this.walkTerminal(r,a,t);else if(r instanceof ot)this.walkFlat(r,a,t);else if(r instanceof qe)this.walkOption(r,a,t);else if(r instanceof mt)this.walkAtLeastOne(r,a,t);else if(r instanceof gt)this.walkAtLeastOneSep(r,a,t);else if(r instanceof lt)this.walkManySep(r,a,t);else if(r instanceof be)this.walkMany(r,a,t);else if(r instanceof ut)this.walkOr(r,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new qe({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=Qc(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new qe({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=Qc(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);K(e.definition,a=>{let i=new ot({definition:[a]});this.walk(i,n)})}};function Qc(e,t,r){return[new qe({definition:[new ve({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}s(Qc,"restForRepetitionWithSeparator");function za(e){if(e instanceof Qe)return za(e.referencedRule);if(e instanceof ve)return g$(e);if(d$(e))return h$(e);if(p$(e))return m$(e);throw Error("non exhaustive match")}s(za,"first");function h$(e){let t=[],r=e.definition,n=0,a=r.length>n,i,o=!0;for(;a&&o;)i=r[n],o=ss(i),t=t.concat(za(i)),n=n+1,a=r.length>n;return fp(t)}s(h$,"firstForSequence");function m$(e){let t=F(e.definition,r=>za(r));return fp(Pt(t))}s(m$,"firstForBranching");function g$(e){return[e.terminalType]}s(g$,"firstForTerminal");var y$="_~IN~_",SO=class extends Vl{static{s(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=T$(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(r),i=new ot({definition:a}),o=za(i);this.follows[n]=o}};function v$(e){let t={};return K(e,r=>{let n=new SO(r).startWalking();pt(t,n)}),t}s(v$,"computeAllProdsFollows");function T$(e,t){return e.name+t+y$}s(T$,"buildBetweenProdsFollowPrefix");var fo={},wO=new Jg;function ks(e){let t=e.toString();if(fo.hasOwnProperty(t))return fo[t];{let r=wO.pattern(t);return fo[t]=r,r}}s(ks,"getRegExpAst");function R$(){fo={}}s(R$,"clearRegExpParserCache");var $$="Complement Sets are not supported for first char optimization",Yo=`Unable to use "first char" lexer optimizations:
`;function A$(e,t=!1){try{let r=ks(e);return Xo(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===$$)t&&dp(`${Yo}	Unable to optimize: < ${e.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="";t&&(n=`
	This will disable the lexer's first char optimizations.
	See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Ho(`${Yo}
	Failed parsing: < ${e.toString()} >
	Using the @chevrotain/regexp-to-ast library
	Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}s(A$,"getOptimizedStartCodesIndices");function Xo(e,t,r){switch(e.type){case"Disjunction":for(let a=0;a<e.value.length;a++)Xo(e.value[a],t,r);break;case"Alternative":let n=e.value;for(let a=0;a<n.length;a++){let i=n[a];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=i;switch(o.type){case"Character":Pi(o.value,t,r);break;case"Set":if(o.complement===!0)throw Error($$);K(o.value,u=>{if(typeof u=="number")Pi(u,t,r);else{let c=u;if(r===!0)for(let f=c.from;f<=c.to;f++)Pi(f,t,r);else{for(let f=c.from;f<=c.to&&f<Li;f++)Pi(f,t,r);if(c.to>=Li){let f=c.from>=Li?c.from:Li,d=c.to,h=gr(f),y=gr(d);for(let v=h;v<=y;v++)t[v]=v}}}});break;case"Group":Xo(o.value,t,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Jo(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Me(t)}s(Xo,"firstCharOptimizedIndices");function Pi(e,t,r){let n=gr(e);t[n]=n,r===!0&&E$(e,t)}s(Pi,"addOptimizedIdxToResult");function E$(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let a=gr(n.charCodeAt(0));t[a]=a}else{let a=r.toLowerCase();if(a!==r){let i=gr(a.charCodeAt(0));t[i]=i}}}s(E$,"handleIgnoreCase");function ef(e,t){return La(e.value,r=>{if(typeof r=="number")return rt(t,r);{let n=r;return La(t,a=>n.from<=a&&a<=n.to)!==void 0}})}s(ef,"findCode");function Jo(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?te(e.value)?Ot(e.value,Jo):Jo(e.value):!1}s(Jo,"isWholeOptional");var IO=class extends bl{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){rt(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?ef(e,this.targetCharCodes)===void 0&&(this.found=!0):ef(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Hl(e,t){if(t instanceof RegExp){let r=ks(t),n=new IO(e);return n.visit(r),n.found}else return La(t,r=>rt(e,r.charCodeAt(0)))!==void 0}s(Hl,"canMatchCharCode");var $n="PATTERN",Oi="defaultMode",Gs="modes",_$=typeof new RegExp("(?:)").sticky=="boolean";function C$(e,t){t=cp(t,{useSticky:_$,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:s((b,E)=>E(),"tracer")});let r=t.tracer;r("initCharCodeToOptimizedIndexMap",()=>{W$()});let n;r("Reject Lexer.NA",()=>{n=Wl(e,b=>b[$n]===Je.NA)});let a=!1,i;r("Transform Patterns",()=>{a=!1,i=F(n,b=>{let E=b[$n];if(hr(E)){let k=E.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!E.ignoreCase?k:k.length===2&&k[0]==="\\"&&!rt(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:t.useSticky?rf(E):tf(E)}else{if($r(E))return a=!0,{exec:E};if(typeof E=="object")return a=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let k=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),G=new RegExp(k);return t.useSticky?rf(G):tf(G)}}else throw Error("non exhaustive match")}})});let o,l,u,c,f;r("misc mapping",()=>{o=F(n,b=>b.tokenTypeIdx),l=F(n,b=>{let E=b.GROUP;if(E!==Je.SKIPPED){if(st(E))return E;if(mr(E))return!1;throw Error("non exhaustive match")}}),u=F(n,b=>{let E=b.LONGER_ALT;if(E)return te(E)?F(E,G=>cm(n,G)):[cm(n,E)]}),c=F(n,b=>b.PUSH_MODE),f=F(n,b=>z(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=yp(t.lineTerminatorCharacters);d=F(n,E=>!1),t.positionTracking!=="onlyOffset"&&(d=F(n,E=>z(E,"LINE_BREAKS")?!!E.LINE_BREAKS:gp(E,b)===!1&&Hl(b,E.PATTERN)))});let h,y,v,S;r("Misc Mapping #2",()=>{h=F(n,mp),y=F(i,K$),v=ht(n,(b,E)=>{let k=E.GROUP;return st(k)&&k!==Je.SKIPPED&&(b[k]=[]),b},{}),S=F(i,(b,E)=>({pattern:i[E],longerAlt:u[E],canLineTerminator:d[E],isCustom:h[E],short:y[E],group:l[E],push:c[E],pop:f[E],tokenTypeIdx:o[E],tokenType:n[E]}))});let I=!0,w=[];return t.safeMode||r("First Char Optimization",()=>{w=ht(n,(b,E,k)=>{if(typeof E.PATTERN=="string"){let G=E.PATTERN.charCodeAt(0),Q=gr(G);po(b,Q,S[k])}else if(te(E.START_CHARS_HINT)){let G;K(E.START_CHARS_HINT,Q=>{let Y=typeof Q=="string"?Q.charCodeAt(0):Q,ue=gr(Y);G!==ue&&(G=ue,po(b,ue,S[k]))})}else if(hr(E.PATTERN))if(E.PATTERN.unicode)I=!1,t.ensureOptimizations&&Ho(`${Yo}	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 G=A$(E.PATTERN,t.ensureOptimizations);pe(G)&&(I=!1),K(G,Q=>{po(b,Q,S[k])})}else t.ensureOptimizations&&Ho(`${Yo}	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`),I=!1;return b},[])}),{emptyGroups:v,patternIdxToConfig:S,charCodeToPatternIdxToConfig:w,hasCustom:a,canBeOptimized:I}}s(C$,"analyzeTokenTypes");function b$(e,t){let r=[],n=w$(e);r=r.concat(n.errors);let a=I$(n.valid),i=a.valid;return r=r.concat(a.errors),r=r.concat(S$(i)),r=r.concat(D$(i)),r=r.concat(M$(i,t)),r=r.concat(x$(i)),r}s(b$,"validatePatterns");function S$(e){let t=[],r=Ct(e,n=>hr(n[$n]));return t=t.concat(N$(r)),t=t.concat(P$(r)),t=t.concat(O$(r)),t=t.concat(L$(r)),t=t.concat(k$(r)),t}s(S$,"validateRegExpPattern");function w$(e){let t=Ct(e,a=>!z(a,$n)),r=F(t,a=>({message:"Token Type: ->"+a.name+"<- missing static 'PATTERN' property",type:Se.MISSING_PATTERN,tokenTypes:[a]})),n=ql(e,t);return{errors:r,valid:n}}s(w$,"findMissingPatterns");function I$(e){let t=Ct(e,a=>{let i=a[$n];return!hr(i)&&!$r(i)&&!z(i,"exec")&&!st(i)}),r=F(t,a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Se.INVALID_PATTERN,tokenTypes:[a]})),n=ql(e,t);return{errors:r,valid:n}}s(I$,"findInvalidPatterns");var NO=/[^\\][$]/;function N$(e){class t extends bl{static{s(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(i){this.found=!0}}let r=Ct(e,a=>{let i=a.PATTERN;try{let o=ks(i),l=new t;return l.visit(o),l.found}catch{return NO.test(i.source)}});return F(r,a=>({message:`Unexpected RegExp Anchor Error:
	Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
	See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS	for details.`,type:Se.EOI_ANCHOR_FOUND,tokenTypes:[a]}))}s(N$,"findEndOfInputAnchor");function k$(e){let t=Ct(e,n=>n.PATTERN.test(""));return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Se.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}s(k$,"findEmptyMatchRegExps");var kO=/[^\\[][\^]|^\^/;function P$(e){class t extends bl{static{s(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(i){this.found=!0}}let r=Ct(e,a=>{let i=a.PATTERN;try{let o=ks(i),l=new t;return l.visit(o),l.found}catch{return kO.test(i.source)}});return F(r,a=>({message:`Unexpected RegExp Anchor Error:
	Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
	See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS	for details.`,type:Se.SOI_ANCHOR_FOUND,tokenTypes:[a]}))}s(P$,"findStartOfInputAnchor");function O$(e){let t=Ct(e,n=>{let a=n[$n];return a instanceof RegExp&&(a.multiline||a.global)});return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Se.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}s(O$,"findUnsupportedFlags");function L$(e){let t=[],r=F(e,i=>ht(e,(o,l)=>(i.PATTERN.source===l.PATTERN.source&&!rt(t,l)&&l.PATTERN!==Je.NA&&(t.push(l),o.push(l)),o),[]));r=Ns(r);let n=Ct(r,i=>i.length>1);return F(n,i=>{let o=F(i,u=>u.name);return{message:`The same RegExp pattern ->${Dt(i).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:Se.DUPLICATE_PATTERNS_FOUND,tokenTypes:i}})}s(L$,"findDuplicatePatterns");function D$(e){let t=Ct(e,n=>{if(!z(n,"GROUP"))return!1;let a=n.GROUP;return a!==Je.SKIPPED&&a!==Je.NA&&!st(a)});return F(t,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Se.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}s(D$,"findInvalidGroupType");function M$(e,t){let r=Ct(e,a=>a.PUSH_MODE!==void 0&&!rt(t,a.PUSH_MODE));return F(r,a=>({message:`Token Type: ->${a.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${a.PUSH_MODE}<-which does not exist`,type:Se.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[a]}))}s(M$,"findModesThatDoNotExist");function x$(e){let t=[],r=ht(e,(n,a,i)=>{let o=a.PATTERN;return o===Je.NA||(st(o)?n.push({str:o,idx:i,tokenType:a}):hr(o)&&G$(o)&&n.push({str:o.source,idx:i,tokenType:a})),n},[]);return K(e,(n,a)=>{K(r,({str:i,idx:o,tokenType:l})=>{if(a<o&&F$(i,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`;t.push({message:u,type:Se.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),t}s(x$,"findUnreachablePatterns");function F$(e,t){if(hr(t)){if(j$(t))return!1;let r=t.exec(e);return r!==null&&r.index===0}else{if($r(t))return t(e,0,[],{});if(z(t,"exec"))return t.exec(e,0,[],{});if(typeof t=="string")return t===e;throw Error("non exhaustive match")}}s(F$,"tryToMatchStrToPattern");function G$(e){return La([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>e.source.indexOf(r)!==-1)===void 0}s(G$,"noMetaChar");function j$(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}s(j$,"usesLookAheadOrBehind");function tf(e){let t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}s(tf,"addStartOfInput");function rf(e){let t=e.ignoreCase?"iy":"y";return new RegExp(`${e.source}`,t)}s(rf,"addStickyFlag");function U$(e,t,r){let n=[];return z(e,Oi)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Oi+`> property in its definition
`,type:Se.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),z(e,Gs)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Gs+`> property in its definition
`,type:Se.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),z(e,Gs)&&z(e,Oi)&&!z(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Oi}: <${e.defaultMode}>which does not exist
`,type:Se.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),z(e,Gs)&&K(e.modes,(a,i)=>{K(a,(o,l)=>{if(mr(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${l}>
`,type:Se.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(z(o,"LONGER_ALT")){let u=te(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];K(u,c=>{!mr(c)&&!rt(a,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${i}>
`,type:Se.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}s(U$,"performRuntimeChecks");function z$(e,t,r){let n=[],a=!1,i=Ns(Pt(Me(e.modes))),o=Wl(i,u=>u[$n]===Je.NA),l=yp(r);return t&&K(o,u=>{let c=gp(u,l);if(c!==!1){let d={message:q$(u,c),type:c.issue,tokenType:u};n.push(d)}else z(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(a=!0):Hl(l,u.PATTERN)&&(a=!0)}),t&&!a&&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:Se.NO_LINE_BREAKS_FLAGS}),n}s(z$,"performWarningRuntimeChecks");function B$(e){let t={},r=dt(e);return K(r,n=>{let a=e[n];if(te(a))t[n]=[];else throw Error("non exhaustive match")}),t}s(B$,"cloneEmptyGroups");function mp(e){let t=e.PATTERN;if(hr(t))return!1;if($r(t))return!0;if(z(t,"exec"))return!0;if(st(t))return!1;throw Error("non exhaustive match")}s(mp,"isCustomPattern");function K$(e){return st(e)&&e.length===1?e.charCodeAt(0):!1}s(K$,"isShortPattern");var PO={test:s(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let n=e.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return e.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function gp(e,t){if(z(e,"LINE_BREAKS"))return!1;if(hr(e.PATTERN)){try{Hl(t,e.PATTERN)}catch(r){return{issue:Se.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(st(e.PATTERN))return!1;if(mp(e))return{issue:Se.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}s(gp,"checkLineBreaksIssues");function q$(e,t){if(t.issue===Se.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
	The problem is in the <${e.name}> Token Type
	 Root cause: ${t.errMsg}.
	For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===Se.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
	The problem is in the <${e.name}> Token Type
	For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}s(q$,"buildLineBreakIssueMessage");function yp(e){return F(e,r=>st(r)?r.charCodeAt(0):r)}s(yp,"getCharCodes");function po(e,t,r){e[t]===void 0?e[t]=[r]:e[t].push(r)}s(po,"addToMapOfArrays");var Li=256,ho=[];function gr(e){return e<Li?e:ho[e]}s(gr,"charCodeToOptimizedIndex");function W$(){if(pe(ho)){ho=new Array(65536);for(let e=0;e<65536;e++)ho[e]=e>255?255+~~(e/255):e}}s(W$,"initCharCodeToOptimizedIndexMap");function Ba(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[r]===!0}s(Ba,"tokenStructuredMatcher");function os(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}s(os,"tokenStructuredMatcherNoCategories");var dm=1,V$={};function Ka(e){let t=H$(e);Y$(t),J$(t),X$(t),K(t,r=>{r.isParent=r.categoryMatches.length>0})}s(Ka,"augmentTokenTypes");function H$(e){let t=We(e),r=e,n=!0;for(;n;){r=Ns(Pt(F(r,i=>i.CATEGORIES)));let a=ql(r,t);t=t.concat(a),pe(a)?n=!1:r=a}return t}s(H$,"expandCategories");function Y$(e){K(e,t=>{Tp(t)||(V$[dm]=t,t.tokenTypeIdx=dm++),nf(t)&&!te(t.CATEGORIES)&&(t.CATEGORIES=[t.CATEGORIES]),nf(t)||(t.CATEGORIES=[]),Z$(t)||(t.categoryMatches=[]),Q$(t)||(t.categoryMatchesMap={})})}s(Y$,"assignTokenDefaultProps");function X$(e){K(e,t=>{t.categoryMatches=[],K(t.categoryMatchesMap,(r,n)=>{t.categoryMatches.push(V$[n].tokenTypeIdx)})})}s(X$,"assignCategoriesTokensProp");function J$(e){K(e,t=>{vp([],t)})}s(J$,"assignCategoriesMapProp");function vp(e,t){K(e,r=>{t.categoryMatchesMap[r.tokenTypeIdx]=!0}),K(t.CATEGORIES,r=>{let n=e.concat(t);rt(n,r)||vp(n,r)})}s(vp,"singleAssignCategoriesToksMap");function Tp(e){return z(e,"tokenTypeIdx")}s(Tp,"hasShortKeyProperty");function nf(e){return z(e,"CATEGORIES")}s(nf,"hasCategoriesProperty");function Z$(e){return z(e,"categoryMatches")}s(Z$,"hasExtendingTokensTypesProperty");function Q$(e){return z(e,"categoryMatchesMap")}s(Q$,"hasExtendingTokensTypesMapProperty");function eA(e){return z(e,"tokenTypeIdx")}s(eA,"isTokenType");var af={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,r,n,a,i){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`}},Se;(function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Se||(Se={}));var Di={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:af,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Di);var Je=class{static{s(this,"Lexer")}constructor(e,t=Di){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=(n,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let i=new Array(this.traceInitIndent+1).join("	");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${i}--> <${n}>`);let{time:o,value:l}=pp(a),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${i}<-- <${n}> time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof t=="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=pt({},Di,t);let r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let n,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Di.lineTerminatorsPattern)this.config.lineTerminatorsPattern=PO;else if(this.config.lineTerminatorCharacters===Di.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(t.safeMode&&t.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),te(e)?n={modes:{defaultMode:We(e)},defaultMode:Oi}:(a=!1,n=We(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(U$(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(z$(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},K(n.modes,(o,l)=>{n.modes[l]=Wl(o,u=>mr(u))});let i=dt(n.modes);if(K(n.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(b$(o,i))}),pe(this.lexerDefinitionErrors)){Ka(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=C$(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=pt({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=n.defaultMode,!pe(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let l=F(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+l)}K(this.lexerDefinitionWarning,o=>{dp(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(_$?(this.chopInput=Pa,this.match=this.matchWithTest):(this.updateLastIndex=De,this.match=this.matchWithExec),a&&(this.handleModes=De),this.trackStartLines===!1&&(this.computeNewColumn=Pa),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=De),/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 o=ht(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(t.ensureOptimizations&&!pe(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
	 Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
	 Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{R$()}),this.TRACE_INIT("toFastProperties",()=>{hp(this)})})}tokenize(e,t=this.defaultMode){if(!pe(this.lexerDefinitionErrors)){let n=F(this.lexerDefinitionErrors,a=>a.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+n)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,a,i,o,l,u,c,f,d,h,y,v,S,I,w,b=e,E=b.length,k=0,G=0,Q=this.hasCustom?0:Math.floor(e.length/10),Y=new Array(Q),ue=[],he=this.trackStartLines?1:void 0,Te=this.trackStartLines?1:void 0,P=B$(this.emptyGroups),_=this.trackStartLines,g=this.config.lineTerminatorsPattern,A=0,T=[],R=[],C=[],O=[];Object.freeze(O);let M;function D(){return T}s(D,"getPossiblePatternsSlow");function j(ae){let Oe=gr(ae),je=R[Oe];return je===void 0?O:je}s(j,"getPossiblePatternsOptimized");let q=s(ae=>{if(C.length===1&&ae.tokenType.PUSH_MODE===void 0){let Oe=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ae);ue.push({offset:ae.startOffset,line:ae.startLine,column:ae.startColumn,length:ae.image.length,message:Oe})}else{C.pop();let Oe=Rn(C);T=this.patternIdxToConfig[Oe],R=this.charCodeToPatternIdxToConfig[Oe],A=T.length;let je=this.canModeBeOptimized[Oe]&&this.config.safeMode===!1;R&&je?M=j:M=D}},"pop_mode");function oe(ae){C.push(ae),R=this.charCodeToPatternIdxToConfig[ae],T=this.patternIdxToConfig[ae],A=T.length,A=T.length;let Oe=this.canModeBeOptimized[ae]&&this.config.safeMode===!1;R&&Oe?M=j:M=D}s(oe,"push_mode"),oe.call(this,t);let V,Pe=this.config.recoveryEnabled;for(;k<E;){l=null;let ae=b.charCodeAt(k),Oe=M(ae),je=Oe.length;for(r=0;r<je;r++){V=Oe[r];let Re=V.pattern;u=null;let Ue=V.short;if(Ue!==!1?ae===Ue&&(l=Re):V.isCustom===!0?(w=Re.exec(b,k,Y,P),w!==null?(l=w[0],w.payload!==void 0&&(u=w.payload)):l=null):(this.updateLastIndex(Re,k),l=this.match(Re,e,k)),l!==null){if(o=V.longerAlt,o!==void 0){let we=o.length;for(a=0;a<we;a++){let X=T[o[a]],Fe=X.pattern;if(c=null,X.isCustom===!0?(w=Fe.exec(b,k,Y,P),w!==null?(i=w[0],w.payload!==void 0&&(c=w.payload)):i=null):(this.updateLastIndex(Fe,k),i=this.match(Fe,e,k)),i&&i.length>l.length){l=i,u=c,V=X;break}}}break}}if(l!==null){if(f=l.length,d=V.group,d!==void 0&&(h=V.tokenTypeIdx,y=this.createTokenInstance(l,k,h,V.tokenType,he,Te,f),this.handlePayload(y,u),d===!1?G=this.addToken(Y,G,y):P[d].push(y)),e=this.chopInput(e,f),k=k+f,Te=this.computeNewColumn(Te,f),_===!0&&V.canLineTerminator===!0){let Re=0,Ue,we;g.lastIndex=0;do Ue=g.test(l),Ue===!0&&(we=g.lastIndex-1,Re++);while(Ue===!0);Re!==0&&(he=he+Re,Te=f-we,this.updateTokenEndLineColumnLocation(y,d,we,Re,he,Te,f))}this.handleModes(V,q,oe,y)}else{let Re=k,Ue=he,we=Te,X=Pe===!1;for(;X===!1&&k<E;)for(e=this.chopInput(e,1),k++,n=0;n<A;n++){let Fe=T[n],ce=Fe.pattern,nt=Fe.short;if(nt!==!1?b.charCodeAt(k)===nt&&(X=!0):Fe.isCustom===!0?X=ce.exec(b,k,Y,P)!==null:(this.updateLastIndex(ce,k),X=ce.exec(e)!==null),X===!0)break}if(v=k-Re,Te=this.computeNewColumn(Te,v),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(b,Re,v,Ue,we,Rn(C)),ue.push({offset:Re,line:Ue,column:we,length:v,message:I}),Pe===!1)break}}return this.hasCustom||(Y.length=G),{tokens:Y,groups:P,errors:ue}}handleModes(e,t,r,n){if(e.pop===!0){let a=e.push;t(n),a!==void 0&&r.call(this,a)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,n,a,i,o){let l,u;t!==void 0&&(l=r===o-1,u=l?-1:0,n===1&&l===!0||(e.endLine=a+u,e.endColumn=i-1+-u))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,a,i){return{image:e,startOffset:t,startLine:a,startColumn:i,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,a,i,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:a,endLine:a,startColumn:i,endColumn:i+o-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,r){return e.test(t)===!0?t.substring(r,e.lastIndex):null}matchWithExec(e,t){let r=e.exec(t);return r!==null?r[0]:null}};Je.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.";Je.NA=/NOT_APPLICABLE/;function yn(e){return Rp(e)?e.LABEL:e.name}s(yn,"tokenLabel");function Rp(e){return st(e.LABEL)&&e.LABEL!==""}s(Rp,"hasTokenLabel");var OO="parent",pm="categories",hm="label",mm="group",gm="push_mode",ym="pop_mode",vm="longer_alt",Tm="line_breaks",Rm="start_chars_hint";function Ea(e){return tA(e)}s(Ea,"createToken");function tA(e){let t=e.pattern,r={};if(r.name=e.name,mr(t)||(r.PATTERN=t),z(e,OO))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return z(e,pm)&&(r.CATEGORIES=e[pm]),Ka([r]),z(e,hm)&&(r.LABEL=e[hm]),z(e,mm)&&(r.GROUP=e[mm]),z(e,ym)&&(r.POP_MODE=e[ym]),z(e,gm)&&(r.PUSH_MODE=e[gm]),z(e,vm)&&(r.LONGER_ALT=e[vm]),z(e,Tm)&&(r.LINE_BREAKS=e[Tm]),z(e,Rm)&&(r.START_CHARS_HINT=e[Rm]),r}s(tA,"createTokenInternal");var Or=Ea({name:"EOF",pattern:Je.NA});Ka([Or]);function Ps(e,t,r,n,a,i,o,l){return{image:t,startOffset:r,endOffset:n,startLine:a,endLine:i,startColumn:o,endColumn:l,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}s(Ps,"createTokenInstance");function $p(e,t){return Ba(e,t)}s($p,"tokenMatcher");var Ra={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){return`Expecting ${Rp(e)?`--> ${yn(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:a}){let i="Expecting: ",l=`
but found: '`+Dt(t).image+"'";if(n)return i+n+l;{let u=ht(e,(h,y)=>h.concat(y),[]),c=F(u,h=>`[${F(h,y=>yn(y)).join(", ")}]`),d=`one of these possible Token sequences:
${F(c,(h,y)=>`  ${y+1}. ${h}`).join(`
`)}`;return i+d+l}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let a="Expecting: ",o=`
but found: '`+Dt(t).image+"'";if(r)return a+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences::
  <${F(e,c=>`[${F(c,f=>yn(f)).join(",")}]`).join(" ,")}>`;return a+u+o}}};Object.freeze(Ra);var LO={buildRuleNotFoundError(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<-
inside top level rule: ->`+e.name+"<-"}},hn={buildDuplicateFoundError(e,t){function r(f){return f instanceof ve?f.terminalType.name:f instanceof Qe?f.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=e.name,a=Dt(t),i=a.idx,o=wt(a),l=r(a),u=i>0,c=`->${o}${u?i:""}<- ${l?`with argument: ->${l}<-`:""}
                  appears more than once (${t.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(e){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.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(e){let t=F(e.prefixPath,a=>yn(a)).join(", "),r=e.alternation.idx===0?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${e.topLevelRule.name}> Rule,
<${t}> 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(e){let t=F(e.prefixPath,a=>yn(a)).join(", "),r=e.alternation.idx===0?"":e.alternation.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${e.topLevelRule.name}> Rule,
<${t}> 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(e){let t=wt(e.repetition);return e.repetition.idx!==0&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(e){return"deprecated"},buildEmptyAlternationError(e){return`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(e){return`An Alternation cannot have more than 256 alternatives:
<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
 has ${e.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(e){let t=e.topLevelRule.name,r=F(e.leftRecursionPath,i=>i.name),n=`${t} --> ${r.concat([t]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${t}> 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(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return e.topLevelRule instanceof ja?t=e.topLevelRule.name:t=e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function rA(e,t){let r=new DO(e,t);return r.resolveRefs(),r.errors}s(rA,"resolveGrammar");var DO=class extends Ua{static{s(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){K(Me(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:et.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},MO=class extends Vl{static{s(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,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=We(this.path.ruleStack).reverse(),this.occurrenceStack=We(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){pe(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},xO=class extends MO{static{s(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let n=t.concat(r),a=new ot({definition:n});this.possibleTokTypes=za(a),this.found=!0}}},Yl=class extends Vl{static{s(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},FO=class extends Yl{static{s(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkMany(e,t,r)}},$m=class extends Yl{static{s(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkManySep(e,t,r)}},GO=class extends Yl{static{s(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOne(e,t,r)}},Am=class extends Yl{static{s(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOneSep(e,t,r)}};function Zo(e,t,r=[]){r=We(r);let n=[],a=0;function i(l){return l.concat(Ke(e,a+1))}s(i,"remainingPathWith");function o(l){let u=Zo(i(l),t,r);return n.concat(u)}for(s(o,"getAlternativesForProd");r.length<t&&a<e.length;){let l=e[a];if(l instanceof ot)return o(l.definition);if(l instanceof Qe)return o(l.definition);if(l instanceof qe)n=o(l.definition);else if(l instanceof mt){let u=l.definition.concat([new be({definition:l.definition})]);return o(u)}else if(l instanceof gt){let u=[new ot({definition:l.definition}),new be({definition:[new ve({terminalType:l.separator})].concat(l.definition)})];return o(u)}else if(l instanceof lt){let u=l.definition.concat([new be({definition:[new ve({terminalType:l.separator})].concat(l.definition)})]);n=o(u)}else if(l instanceof be){let u=l.definition.concat([new be({definition:l.definition})]);n=o(u)}else{if(l instanceof ut)return K(l.definition,u=>{pe(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof ve)r.push(l.terminalType);else throw Error("non exhaustive match")}a++}return n.push({partialPath:r,suffixDef:Ke(e,a)}),n}s(Zo,"possiblePathsFrom");function Ap(e,t,r,n){let a="EXIT_NONE_TERMINAL",i=[a],o="EXIT_ALTERNATIVE",l=!1,u=t.length,c=u-n-1,f=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!pe(d);){let h=d.pop();if(h===o){l&&Rn(d).idx<=c&&d.pop();continue}let y=h.def,v=h.idx,S=h.ruleStack,I=h.occurrenceStack;if(pe(y))continue;let w=y[0];if(w===a){let b={idx:v,def:Ke(y),ruleStack:is(S),occurrenceStack:is(I)};d.push(b)}else if(w instanceof ve)if(v<u-1){let b=v+1,E=t[b];if(r(E,w.terminalType)){let k={idx:b,def:Ke(y),ruleStack:S,occurrenceStack:I};d.push(k)}}else if(v===u-1)f.push({nextTokenType:w.terminalType,nextTokenOccurrence:w.idx,ruleStack:S,occurrenceStack:I}),l=!0;else throw Error("non exhaustive match");else if(w instanceof Qe){let b=We(S);b.push(w.nonTerminalName);let E=We(I);E.push(w.idx);let k={idx:v,def:w.definition.concat(i,Ke(y)),ruleStack:b,occurrenceStack:E};d.push(k)}else if(w instanceof qe){let b={idx:v,def:Ke(y),ruleStack:S,occurrenceStack:I};d.push(b),d.push(o);let E={idx:v,def:w.definition.concat(Ke(y)),ruleStack:S,occurrenceStack:I};d.push(E)}else if(w instanceof mt){let b=new be({definition:w.definition,idx:w.idx}),E=w.definition.concat([b],Ke(y)),k={idx:v,def:E,ruleStack:S,occurrenceStack:I};d.push(k)}else if(w instanceof gt){let b=new ve({terminalType:w.separator}),E=new be({definition:[b].concat(w.definition),idx:w.idx}),k=w.definition.concat([E],Ke(y)),G={idx:v,def:k,ruleStack:S,occurrenceStack:I};d.push(G)}else if(w instanceof lt){let b={idx:v,def:Ke(y),ruleStack:S,occurrenceStack:I};d.push(b),d.push(o);let E=new ve({terminalType:w.separator}),k=new be({definition:[E].concat(w.definition),idx:w.idx}),G=w.definition.concat([k],Ke(y)),Q={idx:v,def:G,ruleStack:S,occurrenceStack:I};d.push(Q)}else if(w instanceof be){let b={idx:v,def:Ke(y),ruleStack:S,occurrenceStack:I};d.push(b),d.push(o);let E=new be({definition:w.definition,idx:w.idx}),k=w.definition.concat([E],Ke(y)),G={idx:v,def:k,ruleStack:S,occurrenceStack:I};d.push(G)}else if(w instanceof ut)for(let b=w.definition.length-1;b>=0;b--){let E=w.definition[b],k={idx:v,def:E.definition.concat(Ke(y)),ruleStack:S,occurrenceStack:I};d.push(k),d.push(o)}else if(w instanceof ot)d.push({idx:v,def:w.definition.concat(Ke(y)),ruleStack:S,occurrenceStack:I});else if(w instanceof ja)d.push(nA(w,v,S,I));else throw Error("non exhaustive match")}return f}s(Ap,"nextPossibleTokensAfter");function nA(e,t,r,n){let a=We(r);a.push(e.name);let i=We(n);return i.push(1),{idx:t,def:e.definition,ruleStack:a,occurrenceStack:i}}s(nA,"expandTopLevelRule");var Ee;(function(e){e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"})(Ee||(Ee={}));function Xl(e){if(e instanceof qe||e==="Option")return Ee.OPTION;if(e instanceof be||e==="Repetition")return Ee.REPETITION;if(e instanceof mt||e==="RepetitionMandatory")return Ee.REPETITION_MANDATORY;if(e instanceof gt||e==="RepetitionMandatoryWithSeparator")return Ee.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof lt||e==="RepetitionWithSeparator")return Ee.REPETITION_WITH_SEPARATOR;if(e instanceof ut||e==="Alternation")return Ee.ALTERNATION;throw Error("non exhaustive match")}s(Xl,"getProdType");function sf(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:a}=e,i=Xl(n);return i===Ee.ALTERNATION?Os(t,r,a):Ls(t,r,i,a)}s(sf,"getLookaheadPaths");function aA(e,t,r,n,a,i){let o=Os(e,t,r),l=_p(o)?os:Ba;return i(o,n,l,a)}s(aA,"buildLookaheadFuncForOr");function iA(e,t,r,n,a,i){let o=Ls(e,t,a,r),l=_p(o)?os:Ba;return i(o[0],l,n)}s(iA,"buildLookaheadFuncForOptionalProd");function sA(e,t,r,n){let a=e.length,i=Ot(e,o=>Ot(o,l=>l.length===1));if(t)return function(o){let l=F(o,u=>u.GATE);for(let u=0;u<a;u++){let c=e[u],f=c.length,d=l[u];if(!(d!==void 0&&d.call(this)===!1))e:for(let h=0;h<f;h++){let y=c[h],v=y.length;for(let S=0;S<v;S++){let I=this.LA(S+1);if(r(I,y[S])===!1)continue e}return u}}};if(i&&!n){let o=F(e,u=>Pt(u)),l=ht(o,(u,c,f)=>(K(c,d=>{z(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),K(d.categoryMatches,h=>{z(u,h)||(u[h]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;o<a;o++){let l=e[o],u=l.length;e:for(let c=0;c<u;c++){let f=l[c],d=f.length;for(let h=0;h<d;h++){let y=this.LA(h+1);if(r(y,f[h])===!1)continue e}return o}}}}s(sA,"buildAlternativesLookAheadFunc");function oA(e,t,r){let n=Ot(e,i=>i.length===1),a=e.length;if(n&&!r){let i=Pt(e);if(i.length===1&&pe(i[0].categoryMatches)){let l=i[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=ht(i,(l,u,c)=>(l[u.tokenTypeIdx]=!0,K(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let i=0;i<a;i++){let o=e[i],l=o.length;for(let u=0;u<l;u++){let c=this.LA(u+1);if(t(c,o[u])===!1)continue e}return!0}return!1}}s(oA,"buildSingleAlternativeLookaheadFunction");var jO=class extends Vl{static{s(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=r.concat(n),!0):!1}walkOption(e,t,r){this.checkIsTarget(e,Ee.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,Ee.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,Ee.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,Ee.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,Ee.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},lA=class extends Ua{static{s(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Ee.OPTION)}visitRepetition(e){this.checkIsTarget(e,Ee.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Ee.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Ee.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Ee.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Ee.ALTERNATION)}};function of(e){let t=new Array(e);for(let r=0;r<e;r++)t[r]=[];return t}s(of,"initializeArrayOfArrays");function mo(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],a=[];for(let i=0;i<t.length;i++){let o=t[i];a.push(o+"_"+n.tokenTypeIdx);for(let l=0;l<n.categoryMatches.length;l++){let u="_"+n.categoryMatches[l];a.push(o+u)}}t=a}return t}s(mo,"pathToHashKeys");function uA(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let a=e[n];for(let i=0;i<t.length;i++){let o=t[i];if(a[o]===!0)return!1}}return!0}s(uA,"isUniquePrefixHash");function Ep(e,t){let r=F(e,o=>Zo([o],1)),n=of(r.length),a=F(r,o=>{let l={};return K(o,u=>{let c=mo(u.partialPath);K(c,f=>{l[f]=!0})}),l}),i=r;for(let o=1;o<=t;o++){let l=i;i=of(l.length);for(let u=0;u<l.length;u++){let c=l[u];for(let f=0;f<c.length;f++){let d=c[f].partialPath,h=c[f].suffixDef,y=mo(d);if(uA(a,y,u)||pe(h)||d.length===t){let S=n[u];if(Qo(S,d)===!1){S.push(d);for(let I=0;I<y.length;I++){let w=y[I];a[u][w]=!0}}}else{let S=Zo(h,o+1,d);i[u]=i[u].concat(S),K(S,I=>{let w=mo(I.partialPath);K(w,b=>{a[u][b]=!0})})}}}}return n}s(Ep,"lookAheadSequenceFromAlternatives");function Os(e,t,r,n){let a=new lA(e,Ee.ALTERNATION,n);return t.accept(a),Ep(a.result,r)}s(Os,"getLookaheadPathsForOr");function Ls(e,t,r,n){let a=new lA(e,r);t.accept(a);let i=a.result,l=new jO(t,e,r).startWalking(),u=new ot({definition:i}),c=new ot({definition:l});return Ep([u,c],n)}s(Ls,"getLookaheadPathsForOptionalProd");function Qo(e,t){e:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let a=0;a<n.length;a++){let i=t[a],o=n[a];if((i===o||o.categoryMatchesMap[i.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}s(Qo,"containsPath");function cA(e,t){return e.length<t.length&&Ot(e,(r,n)=>{let a=t[n];return r===a||a.categoryMatchesMap[r.tokenTypeIdx]})}s(cA,"isStrictPrefixOfPath");function _p(e){return Ot(e,t=>Ot(t,r=>Ot(r,n=>pe(n.categoryMatches))))}s(_p,"areTokenCategoriesNotUsed");function fA(e){let t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return F(t,r=>Object.assign({type:et.CUSTOM_LOOKAHEAD_VALIDATION},r))}s(fA,"validateLookahead");function dA(e,t,r,n){let a=$t(e,u=>pA(u,r)),i=EA(e,t,r),o=$t(e,u=>TA(u,r)),l=$t(e,u=>mA(u,e,n,r));return a.concat(i,o,l)}s(dA,"validateGrammar");function pA(e,t){let r=new UO;e.accept(r);let n=r.allProductions,a=tO(n,hA),i=Mt(a,l=>l.length>1);return F(Me(i),l=>{let u=Dt(l),c=t.buildDuplicateFoundError(e,l),f=wt(u),d={message:c,type:et.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:f,occurrence:u.idx},h=Cp(u);return h&&(d.parameter=h),d})}s(pA,"validateDuplicateProductions");function hA(e){return`${wt(e)}_#_${e.idx}_#_${Cp(e)}`}s(hA,"identifyProductionForDuplicates");function Cp(e){return e instanceof ve?e.terminalType.name:e instanceof Qe?e.nonTerminalName:""}s(Cp,"getExtraProductionArgument");var UO=class extends Ua{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 mA(e,t,r,n){let a=[];if(ht(t,(o,l)=>l.name===e.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});a.push({message:o,type:et.DUPLICATE_RULE_NAME,ruleName:e.name})}return a}s(mA,"validateRuleDoesNotAlreadyExist");function gA(e,t,r){let n=[],a;return rt(t,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:a,type:et.INVALID_RULE_OVERRIDE,ruleName:e})),n}s(gA,"validateRuleIsOverridden");function bp(e,t,r,n=[]){let a=[],i=Yi(t.definition);if(pe(i))return[];{let o=e.name;rt(i,e)&&a.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:et.LEFT_RECURSION,ruleName:o});let u=ql(i,n.concat([e])),c=$t(u,f=>{let d=We(n);return d.push(f),bp(e,f,r,d)});return a.concat(c)}}s(bp,"validateNoLeftRecursion");function Yi(e){let t=[];if(pe(e))return t;let r=Dt(e);if(r instanceof Qe)t.push(r.referencedRule);else if(r instanceof ot||r instanceof qe||r instanceof mt||r instanceof gt||r instanceof lt||r instanceof be)t=t.concat(Yi(r.definition));else if(r instanceof ut)t=Pt(F(r.definition,i=>Yi(i.definition)));else if(!(r instanceof ve))throw Error("non exhaustive match");let n=ss(r),a=e.length>1;if(n&&a){let i=Ke(e);return t.concat(Yi(i))}else return t}s(Yi,"getFirstNoneTerminal");var Sp=class extends Ua{static{s(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function yA(e,t){let r=new Sp;e.accept(r);let n=r.alternations;return $t(n,i=>{let o=is(i.definition);return $t(o,(l,u)=>{let c=Ap([l],[],Ba,1);return pe(c)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:i,emptyChoiceIdx:u}),type:et.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:i.idx,alternative:u+1}]:[]})})}s(yA,"validateEmptyOrAlternative");function vA(e,t,r){let n=new Sp;e.accept(n);let a=n.alternations;return a=Wl(a,o=>o.ignoreAmbiguities===!0),$t(a,o=>{let l=o.idx,u=o.maxLookahead||t,c=Os(l,e,u,o),f=$A(c,o,e,r),d=AA(c,o,e,r);return f.concat(d)})}s(vA,"validateAmbiguousAlternationAlternatives");var zO=class extends Ua{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 TA(e,t){let r=new Sp;e.accept(r);let n=r.alternations;return $t(n,i=>i.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:i}),type:et.TOO_MANY_ALTS,ruleName:e.name,occurrence:i.idx}]:[])}s(TA,"validateTooManyAlts");function RA(e,t,r){let n=[];return K(e,a=>{let i=new zO;a.accept(i);let o=i.allProductions;K(o,l=>{let u=Xl(l),c=l.maxLookahead||t,f=l.idx,h=Ls(f,a,u,c)[0];if(pe(Pt(h))){let y=r.buildEmptyRepetitionError({topLevelRule:a,repetition:l});n.push({message:y,type:et.NO_NON_EMPTY_LOOKAHEAD,ruleName:a.name})}})}),n}s(RA,"validateSomeNonEmptyLookaheadPath");function $A(e,t,r,n){let a=[],i=ht(e,(l,u,c)=>(t.definition[c].ignoreAmbiguities===!0||K(u,f=>{let d=[c];K(e,(h,y)=>{c!==y&&Qo(h,f)&&t.definition[y].ignoreAmbiguities!==!0&&d.push(y)}),d.length>1&&!Qo(a,f)&&(a.push(f),l.push({alts:d,path:f}))}),l),[]);return F(i,l=>{let u=F(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:u,prefixPath:l.path}),type:et.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:l.alts}})}s($A,"checkAlternativesAmbiguities");function AA(e,t,r,n){let a=ht(e,(o,l,u)=>{let c=F(l,f=>({idx:u,path:f}));return o.concat(c)},[]);return Ns($t(a,o=>{if(t.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,c=o.path,f=Ct(a,h=>t.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<u&&cA(h.path,c));return F(f,h=>{let y=[h.idx+1,u+1],v=t.idx===0?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:y,prefixPath:h.path}),type:et.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:v,alternatives:y}})}))}s(AA,"checkPrefixAlternativesAmbiguities");function EA(e,t,r){let n=[],a=F(t,i=>i.name);return K(e,i=>{let o=i.name;if(rt(a,o)){let l=r.buildNamespaceConflictError(i);n.push({message:l,type:et.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}s(EA,"checkTerminalAndNoneTerminalsNameSpace");function _A(e){let t=cp(e,{errMsgProvider:LO}),r={};return K(e.rules,n=>{r[n.name]=n}),rA(r,t.errMsgProvider)}s(_A,"resolveGrammar");function CA(e){return e=cp(e,{errMsgProvider:hn}),dA(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}s(CA,"validateGrammar");var bA="MismatchedTokenException",SA="NoViableAltException",wA="EarlyExitException",IA="NotAllInputParsedException",NA=[bA,SA,wA,IA];Object.freeze(NA);function ls(e){return rt(NA,e.name)}s(ls,"isRecognitionException");var Jl=class extends Error{static{s(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},kA=class extends Jl{static{s(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=bA}},BO=class extends Jl{static{s(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=SA}},KO=class extends Jl{static{s(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=IA}},qO=class extends Jl{static{s(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=wA}},wu={},PA="InRuleRecoveryException",WO=class extends Error{static{s(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=PA}},VO=class{static{s(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=z(e,"recoveryEnabled")?e.recoveryEnabled:yr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=OA)}getTokenToInsert(e){let t=Ps(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let a=this.findReSyncTokenType(),i=this.exportLexerState(),o=[],l=!1,u=this.LA(1),c=this.LA(1),f=s(()=>{let d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),y=new kA(h,u,this.LA(0));y.resyncedTokens=is(o),this.SAVE_ERROR(y)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(c,n)){f();return}else if(r.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(c,a)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(i)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new WO("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||pe(t))return!1;let r=this.LA(1);return La(t,a=>this.tokenMatcher(r,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return rt(r,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=La(e,a=>$p(t,a));if(n!==void 0)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return wu;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return F(e,(r,n)=>n===0?wu:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){let e=F(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return Pt(e)}getFollowSetFromFollowKey(e){if(e===wu)return[Or];let t=e.ruleName+e.idxInCallingRule+y$+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Or)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return is(t)}attemptInRepetitionRecovery(e,t,r,n,a,i,o){}getCurrentGrammarPath(e,t){let r=this.getHumanReadableRuleStack(),n=We(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:n,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return F(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function OA(e,t,r,n,a,i,o){let l=this.getKeyForAutomaticLookahead(n,a),u=this.firstAfterRepMap[l];if(u===void 0){let h=this.getCurrRuleFullName(),y=this.getGAstProductions()[h];u=new i(y,a).startWalking(),this.firstAfterRepMap[l]=u}let c=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&c===void 0&&(c=Or,f=1),!(c===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,f,o)&&this.tryInRepetitionRecovery(e,t,r,c)}s(OA,"attemptInRepetitionRecovery");var HO=4,Gr=8,YO=8,LA=1<<Gr,DA=2<<Gr,lf=3<<Gr,uf=4<<Gr,cf=5<<Gr,go=6<<Gr;function yo(e,t,r){return r|t|e}s(yo,"getKeyForAutomaticLookahead");var EF=32-YO,wp=class{static{s(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=(t=e?.maxLookahead)!==null&&t!==void 0?t:yr.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(pe(t)){let r=this.validateEmptyOrAlternatives(e.rules),n=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...n,...a]}return t}validateNoLeftRecursion(e){return $t(e,t=>bp(t,t,hn))}validateEmptyOrAlternatives(e){return $t(e,t=>yA(t,hn))}validateAmbiguousAlternationAlternatives(e,t){return $t(e,r=>vA(r,t,hn))}validateSomeNonEmptyLookaheadPath(e,t){return RA(e,t,hn)}buildLookaheadForAlternation(e){return aA(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,sA)}buildLookaheadForOptional(e){return iA(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Xl(e.prodType),oA)}},XO=class{static{s(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=z(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:yr.dynamicTokensEnabled,this.maxLookahead=z(e,"maxLookahead")?e.maxLookahead:yr.maxLookahead,this.lookaheadStrategy=z(e,"lookaheadStrategy")?e.lookaheadStrategy:new wp({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){K(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{let{alternation:r,repetition:n,option:a,repetitionMandatory:i,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=MA(t);K(r,u=>{let c=u.idx===0?"":u.idx;this.TRACE_INIT(`${wt(u)}${c}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:t,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=yo(this.fullRuleNameToShort[t.name],LA,u.idx);this.setLaFuncCache(d,f)})}),K(n,u=>{this.computeLookaheadFunc(t,u.idx,lf,"Repetition",u.maxLookahead,wt(u))}),K(a,u=>{this.computeLookaheadFunc(t,u.idx,DA,"Option",u.maxLookahead,wt(u))}),K(i,u=>{this.computeLookaheadFunc(t,u.idx,uf,"RepetitionMandatory",u.maxLookahead,wt(u))}),K(o,u=>{this.computeLookaheadFunc(t,u.idx,go,"RepetitionMandatoryWithSeparator",u.maxLookahead,wt(u))}),K(l,u=>{this.computeLookaheadFunc(t,u.idx,cf,"RepetitionWithSeparator",u.maxLookahead,wt(u))})})})}computeLookaheadFunc(e,t,r,n,a,i){this.TRACE_INIT(`${i}${t===0?"":t}`,()=>{let o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),l=yo(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,t){let r=this.getLastExplicitRuleShortName();return yo(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},JO=class extends Ua{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)}},js=new JO;function MA(e){js.reset(),e.accept(js);let t=js.dslMethods;return js.reset(),t}s(MA,"collectMethods");function ff(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}s(ff,"setNodeLocationOnlyOffset");function df(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}s(df,"setNodeLocationFull");function xA(e,t,r){e.children[r]===void 0?e.children[r]=[t]:e.children[r].push(t)}s(xA,"addTerminalToCst");function FA(e,t,r){e.children[t]===void 0?e.children[t]=[r]:e.children[t].push(r)}s(FA,"addNoneTerminalToCst");var ZO="name";function Ip(e,t){Object.defineProperty(e,ZO,{enumerable:!1,configurable:!0,writable:!1,value:t})}s(Ip,"defineNameProp");function GA(e,t){let r=dt(e),n=r.length;for(let a=0;a<n;a++){let i=r[a],o=e[i],l=o.length;for(let u=0;u<l;u++){let c=o[u];c.tokenTypeIdx===void 0&&this[c.name](c.children,t)}}}s(GA,"defaultVisit");function jA(e,t){let r=s(function(){},"derivedConstructor");Ip(r,e+"BaseSemantics");let n={visit:s(function(a,i){if(te(a)&&(a=a[0]),!mr(a))return this[a.name](a.children,i)},"visit"),validateVisitor:s(function(){let a=zA(this,t);if(!pe(a)){let i=F(a,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
	${i.join(`

`).replace(/\n/g,`
	`)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=t,r}s(jA,"createBaseSemanticVisitorConstructor");function UA(e,t,r){let n=s(function(){},"derivedConstructor");Ip(n,e+"BaseSemanticsWithDefaults");let a=Object.create(r.prototype);return K(t,i=>{a[i]=GA}),n.prototype=a,n.prototype.constructor=n,n}s(UA,"createBaseVisitorConstructorWithDefaults");var pf;(function(e){e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"})(pf||(pf={}));function zA(e,t){return BA(e,t)}s(zA,"validateVisitor");function BA(e,t){let r=Ct(t,a=>$r(e[a])===!1),n=F(r,a=>({msg:`Missing visitor method: <${a}> on ${e.constructor.name} CST Visitor.`,type:pf.MISSING_METHOD,methodName:a}));return Ns(n)}s(BA,"validateMissingCstMethods");var QO=class{static{s(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=z(e,"nodeLocationTracking")?e.nodeLocationTracking:yr.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=De,this.cstFinallyStateUpdate=De,this.cstPostTerminal=De,this.cstPostNonTerminal=De,this.cstPostRule=De;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=df,this.setNodeLocationFromNode=df,this.cstPostRule=De,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=De,this.setNodeLocationFromNode=De,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ff,this.setNodeLocationFromNode=ff,this.cstPostRule=De,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=De,this.setNodeLocationFromNode=De,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=De,this.setNodeLocationFromNode=De,this.cstPostRule=De,this.setInitialNodeLocation=De;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 t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];xA(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];FA(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(mr(this.baseCstVisitorConstructor)){let e=jA(this.className,dt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(mr(this.baseCstVisitorWithDefaultsConstructor)){let e=UA(this.className,dt(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]}},eL=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)):el}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?el:this.tokVector[t]}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()}},tL=class{static{s(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}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,t,r=tl){if(rt(this.definedRulesNames,e)){let i={message:hn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:et.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(i)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=tl){let n=gA(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let a=this.defineRule(e,t,r);return this[e]=a,a}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if(ls(n))return!1;throw n}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return f$(Me(this.gastProductionsCache))}},rL=class{static{s(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=os,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},z(t,"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(te(e)){if(pe(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(te(e))this.tokensMap=ht(e,(a,i)=>(a[i.name]=i,a),{});else if(z(e,"modes")&&Ot(Pt(Me(e.modes)),eA)){let a=Pt(Me(e.modes)),i=fp(a);this.tokensMap=ht(i,(o,l)=>(o[l.name]=l,o),{})}else if(Et(e))this.tokensMap=We(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=Or;let r=z(e,"modes")?Pt(Me(e.modes)):Me(e),n=Ot(r,a=>pe(a.categoryMatches));this.tokenMatcher=n?os:Ba,Ka(Me(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=z(r,"resyncEnabled")?r.resyncEnabled:tl.resyncEnabled,a=z(r,"recoveryValueFunc")?r.recoveryValueFunc:tl.recoveryValueFunc,i=this.ruleShortNameIdx<<HO+Gr;this.ruleShortNameIdx++,this.shortRuleNameToFull[i]=e,this.fullRuleNameToShort[e]=i;let o;return this.outputCst===!0?o=s(function(...c){try{this.ruleInvocationStateUpdate(i,e,this.subruleIdx),t.apply(this,c);let f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):o=s(function(...c){try{return this.ruleInvocationStateUpdate(i,e,this.subruleIdx),t.apply(this,c)}catch(f){return this.invokeRuleCatch(f,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(o,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=this.RULE_STACK.length===1,a=t&&!this.isBackTracking()&&this.recoveryEnabled;if(ls(e)){let i=e;if(a){let o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(i.resyncedTokens=this.reSyncTo(o),this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){let l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,i.partialCstResult=l}throw i}}else{if(n)return this.moveToTerminatedState(),r(e);throw i}}else throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(DA,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof e!="function"){a=e.DEF;let i=e.GATE;if(i!==void 0){let o=n;n=s(()=>i.call(this)&&o.call(this),"lookAheadFunc")}}else a=e;if(n.call(this)===!0)return a.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(uf,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let i=t.GATE;if(i!==void 0){let o=n;n=s(()=>i.call(this)&&o.call(this),"lookAheadFunc")}}else a=t;if(n.call(this)===!0){let i=this.doSingleRepetition(a);for(;n.call(this)===!0&&i===!0;)i=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Ee.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,uf,e,GO)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(go,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,n,Am],o,go,e,Am)}else throw this.raiseEarlyExitException(e,Ee.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(lf,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let o=t.GATE;if(o!==void 0){let l=n;n=s(()=>o.call(this)&&l.call(this),"lookaheadFunction")}}else a=t;let i=!0;for(;n.call(this)===!0&&i===!0;)i=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,lf,e,FO,i)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(cf,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,n,$m],o,cf,e,$m)}}repetitionSepSecondInternal(e,t,r,n,a){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,a],r,go,e,a)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(LA,t),n=te(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(i!==void 0)return n[i].ALT.call(this);this.raiseNoAltException(t,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),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new KO(t,e))}}subruleInternal(e,t,r){let n;try{let a=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,a),this.cstPostNonTerminal(n,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),n}catch(a){throw this.subruleInternalError(a,r,e.ruleName)}}subruleInternalError(e,t,r){throw ls(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),n=a):this.consumeInternalError(e,a,r)}catch(a){n=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,a=this.LA(0);throw r!==void 0&&r.ERR_MSG?n=r.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new kA(n,t,a))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(a){throw a.name===PA?r:a}}else throw r}saveRecogState(){let e=this.errors,t=We(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}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),Or)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},nL=class{static{s(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=z(e,"errorMessageProvider")?e.errorMessageProvider:yr.errorMessageProvider}SAVE_ERROR(e){if(ls(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:We(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return We(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),a=this.getGAstProductions()[n],o=Ls(e,a,t,this.maxLookahead)[0],l=[];for(let c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));let u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new qO(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=this.getGAstProductions()[r],a=Os(e,n,this.maxLookahead),i=[];for(let u=1;u<=this.maxLookahead;u++)i.push(this.LA(u));let o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:i,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new BO(l,this.LA(1),o))}},aL=class{static{s(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(mr(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Ap([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Dt(e.ruleStack),n=this.getGAstProductions()[t];return new xO(n,e).startWalking()}},Zl={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Zl);var Em=!0,_m=Math.pow(2,Gr)-1,KA=Ea({name:"RECORDING_PHASE_TOKEN",pattern:Je.NA});Ka([KA]);var qA=Ps(KA,`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(qA);var iL={name:`This CSTNode indicates the Parser is in Recording Phase
	See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},sL=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 t=e>0?e:"";this[`CONSUME${t}`]=function(r,n){return this.consumeInternalRecord(r,e,n)},this[`SUBRULE${t}`]=function(r,n){return this.subruleInternalRecord(r,e,n)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},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 t=0;t<10;t++){let r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return el}topLevelRuleRecord(e,t){try{let r=new ja({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
	 This error was thrown during the "grammar recording phase" For more info see:
	https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,t){return oa.call(this,qe,e,t)}atLeastOneInternalRecord(e,t){oa.call(this,mt,t,e)}atLeastOneSepFirstInternalRecord(e,t){oa.call(this,gt,t,e,Em)}manyInternalRecord(e,t){oa.call(this,be,t,e)}manySepFirstInternalRecord(e,t){oa.call(this,lt,t,e,Em)}orInternalRecord(e,t){return WA.call(this,e,t)}subruleInternalRecord(e,t,r){if(us(t),!e||z(e,"ruleName")===!1){let o=new Error(`<SUBRULE${hf(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
 inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let n=Rn(this.recordingProdStack),a=e.ruleName,i=new Qe({idx:t,nonTerminalName:a,label:r?.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?iL:Zl}consumeInternalRecord(e,t,r){if(us(t),!Tp(e)){let i=new Error(`<CONSUME${hf(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
 inside top level rule: <${this.recordingProdStack[0].name}>`);throw i.KNOWN_RECORDER_ERROR=!0,i}let n=Rn(this.recordingProdStack),a=new ve({idx:t,terminalType:e,label:r?.LABEL});return n.definition.push(a),qA}};function oa(e,t,r,n=!1){us(r);let a=Rn(this.recordingProdStack),i=$r(t)?t:t.DEF,o=new e({definition:[],idx:r});return n&&(o.separator=t.SEP),z(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),i.call(this),a.definition.push(o),this.recordingProdStack.pop(),Zl}s(oa,"recordProd");function WA(e,t){us(t);let r=Rn(this.recordingProdStack),n=te(e)===!1,a=n===!1?e:e.DEF,i=new ut({definition:[],idx:t,ignoreAmbiguities:n&&e.IGNORE_AMBIGUITIES===!0});z(e,"MAX_LOOKAHEAD")&&(i.maxLookahead=e.MAX_LOOKAHEAD);let o=s$(a,l=>$r(l.GATE));return i.hasPredicates=o,r.definition.push(i),K(a,l=>{let u=new ot({definition:[]});i.definition.push(u),z(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:z(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),Zl}s(WA,"recordOrProd");function hf(e){return e===0?"":`${e}`}s(hf,"getIdxSuffix");function us(e){if(e<0||e>_m){let t=new Error(`Invalid DSL Method idx value: <${e}>
	Idx value must be a none negative value smaller than ${_m+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}s(us,"assertMethodIdxIsValid");var oL=class{static{s(this,"PerformanceTracer")}initPerformanceTracer(e){if(z(e,"traceInitPerf")){let t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=yr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let r=new Array(this.traceInitIndent+1).join("	");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:a}=pp(t),i=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&i(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a}else return t()}};function VA(e,t){t.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(a=>{if(a==="constructor")return;let i=Object.getOwnPropertyDescriptor(n,a);i&&(i.get||i.set)?Object.defineProperty(e.prototype,a,i):e.prototype[a]=r.prototype[a]})})}s(VA,"applyMixins");var el=Ps(Or,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(el);var yr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ra,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),tl=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),et;(function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(et||(et={}));function mf(e=void 0){return function(){return e}}s(mf,"EMPTY_ALT");var Np=class HA{static{s(this,"Parser")}static performSelfAnalysis(t){throw Error("The **static** `performSelfAnalysis` method has been deprecated.	\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{hp(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),K(this.definedRulesNames,a=>{let o=this[a].originalGrammarAction,l;this.TRACE_INIT(`${a} Rule`,()=>{l=this.topLevelRuleRecord(a,o)}),this.gastProductionsCache[a]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=_A({rules:Me(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(pe(n)&&this.skipValidations===!1){let a=CA({rules:Me(this.gastProductionsCache),tokenTypes:Me(this.tokensMap),errMsgProvider:hn,grammarName:r}),i=fA({lookaheadStrategy:this.lookaheadStrategy,rules:Me(this.gastProductionsCache),tokenTypes:Me(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(a,i)}}),pe(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let a=v$(Me(this.gastProductionsCache));this.resyncFollows=a}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var a,i;(i=(a=this.lookaheadStrategy).initialize)===null||i===void 0||i.call(a,{rules:Me(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Me(this.gastProductionsCache))})),!HA.DEFER_DEFINITION_ERRORS_HANDLING&&!pe(this.definitionErrors))throw t=F(this.definitionErrors,a=>a.message),new Error(`Parser Definition Errors detected:
 ${t.join(`
-------------------------------
`)}`)})}constructor(t,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(t,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),z(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=z(r,"skipValidations")?r.skipValidations:yr.skipValidations}};Np.DEFER_DEFINITION_ERRORS_HANDLING=!1;VA(Np,[VO,XO,QO,eL,rL,tL,nL,aL,sL,oL]);var lL=class extends Np{static{s(this,"EmbeddedActionsParser")}constructor(e,t=yr){let r=We(t);r.outputCst=!1,super(e,r)}};function YA(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}s(YA,"arrayMap");var XA=YA;function JA(){this.__data__=[],this.size=0}s(JA,"listCacheClear");var uL=JA;function ZA(e,t){return e===t||e!==e&&t!==t}s(ZA,"eq");var QA=ZA;function eE(e,t){for(var r=e.length;r--;)if(QA(e[r][0],t))return r;return-1}s(eE,"assocIndexOf");var Ql=eE,cL=Array.prototype,fL=cL.splice;function tE(e){var t=this.__data__,r=Ql(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():fL.call(t,r,1),--this.size,!0}s(tE,"listCacheDelete");var dL=tE;function rE(e){var t=this.__data__,r=Ql(t,e);return r<0?void 0:t[r][1]}s(rE,"listCacheGet");var pL=rE;function nE(e){return Ql(this.__data__,e)>-1}s(nE,"listCacheHas");var hL=nE;function aE(e,t){var r=this.__data__,n=Ql(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}s(aE,"listCacheSet");var mL=aE;function xn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(xn,"ListCache");xn.prototype.clear=uL;xn.prototype.delete=dL;xn.prototype.get=pL;xn.prototype.has=hL;xn.prototype.set=mL;var eu=xn;function iE(){this.__data__=new eu,this.size=0}s(iE,"stackClear");var gL=iE;function sE(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}s(sE,"stackDelete");var yL=sE;function oE(e){return this.__data__.get(e)}s(oE,"stackGet");var vL=oE;function lE(e){return this.__data__.has(e)}s(lE,"stackHas");var TL=lE,RL=typeof global=="object"&&global&&global.Object===Object&&global,uE=RL,$L=typeof self=="object"&&self&&self.Object===Object&&self,AL=uE||$L||Function("return this")(),Ar=AL,EL=Ar.Symbol,Yt=EL,cE=Object.prototype,_L=cE.hasOwnProperty,CL=cE.toString,gi=Yt?Yt.toStringTag:void 0;function fE(e){var t=_L.call(e,gi),r=e[gi];try{e[gi]=void 0;var n=!0}catch{}var a=CL.call(e);return n&&(t?e[gi]=r:delete e[gi]),a}s(fE,"getRawTag");var bL=fE,SL=Object.prototype,wL=SL.toString;function dE(e){return wL.call(e)}s(dE,"objectToString");var IL=dE,NL="[object Null]",kL="[object Undefined]",Cm=Yt?Yt.toStringTag:void 0;function pE(e){return e==null?e===void 0?kL:NL:Cm&&Cm in Object(e)?bL(e):IL(e)}s(pE,"baseGetTag");var qa=pE;function hE(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}s(hE,"isObject");var kp=hE,PL="[object AsyncFunction]",OL="[object Function]",LL="[object GeneratorFunction]",DL="[object Proxy]";function mE(e){if(!kp(e))return!1;var t=qa(e);return t==OL||t==LL||t==PL||t==DL}s(mE,"isFunction");var gE=mE,ML=Ar["__core-js_shared__"],Iu=ML,bm=(function(){var e=/[^.]+$/.exec(Iu&&Iu.keys&&Iu.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function yE(e){return!!bm&&bm in e}s(yE,"isMasked");var xL=yE,FL=Function.prototype,GL=FL.toString;function vE(e){if(e!=null){try{return GL.call(e)}catch{}try{return e+""}catch{}}return""}s(vE,"toSource");var Fn=vE,jL=/[\\^$.*+?()[\]{}|]/g,UL=/^\[object .+?Constructor\]$/,zL=Function.prototype,BL=Object.prototype,KL=zL.toString,qL=BL.hasOwnProperty,WL=RegExp("^"+KL.call(qL).replace(jL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function TE(e){if(!kp(e)||xL(e))return!1;var t=gE(e)?WL:UL;return t.test(Fn(e))}s(TE,"baseIsNative");var VL=TE;function RE(e,t){return e?.[t]}s(RE,"getValue");var HL=RE;function $E(e,t){var r=HL(e,t);return VL(r)?r:void 0}s($E,"getNative");var Wa=$E,YL=Wa(Ar,"Map"),cs=YL,XL=Wa(Object,"create"),fs=XL;function AE(){this.__data__=fs?fs(null):{},this.size=0}s(AE,"hashClear");var JL=AE;function EE(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}s(EE,"hashDelete");var ZL=EE,QL="__lodash_hash_undefined__",eD=Object.prototype,tD=eD.hasOwnProperty;function _E(e){var t=this.__data__;if(fs){var r=t[e];return r===QL?void 0:r}return tD.call(t,e)?t[e]:void 0}s(_E,"hashGet");var rD=_E,nD=Object.prototype,aD=nD.hasOwnProperty;function CE(e){var t=this.__data__;return fs?t[e]!==void 0:aD.call(t,e)}s(CE,"hashHas");var iD=CE,sD="__lodash_hash_undefined__";function bE(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=fs&&t===void 0?sD:t,this}s(bE,"hashSet");var oD=bE;function Gn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(Gn,"Hash");Gn.prototype.clear=JL;Gn.prototype.delete=ZL;Gn.prototype.get=rD;Gn.prototype.has=iD;Gn.prototype.set=oD;var Sm=Gn;function SE(){this.size=0,this.__data__={hash:new Sm,map:new(cs||eu),string:new Sm}}s(SE,"mapCacheClear");var lD=SE;function wE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}s(wE,"isKeyable");var uD=wE;function IE(e,t){var r=e.__data__;return uD(t)?r[typeof t=="string"?"string":"hash"]:r.map}s(IE,"getMapData");var tu=IE;function NE(e){var t=tu(this,e).delete(e);return this.size-=t?1:0,t}s(NE,"mapCacheDelete");var cD=NE;function kE(e){return tu(this,e).get(e)}s(kE,"mapCacheGet");var fD=kE;function PE(e){return tu(this,e).has(e)}s(PE,"mapCacheHas");var dD=PE;function OE(e,t){var r=tu(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}s(OE,"mapCacheSet");var pD=OE;function jn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(jn,"MapCache");jn.prototype.clear=lD;jn.prototype.delete=cD;jn.prototype.get=fD;jn.prototype.has=dD;jn.prototype.set=pD;var ru=jn,hD=200;function LE(e,t){var r=this.__data__;if(r instanceof eu){var n=r.__data__;if(!cs||n.length<hD-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ru(n)}return r.set(e,t),this.size=r.size,this}s(LE,"stackSet");var mD=LE;function Un(e){var t=this.__data__=new eu(e);this.size=t.size}s(Un,"Stack");Un.prototype.clear=gL;Un.prototype.delete=yL;Un.prototype.get=vL;Un.prototype.has=TL;Un.prototype.set=mD;var vo=Un,gD="__lodash_hash_undefined__";function DE(e){return this.__data__.set(e,gD),this}s(DE,"setCacheAdd");var yD=DE;function ME(e){return this.__data__.has(e)}s(ME,"setCacheHas");var vD=ME;function ds(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ru;++t<r;)this.add(e[t])}s(ds,"SetCache");ds.prototype.add=ds.prototype.push=yD;ds.prototype.has=vD;var xE=ds;function FE(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}s(FE,"arraySome");var TD=FE;function GE(e,t){return e.has(t)}s(GE,"cacheHas");var jE=GE,RD=1,$D=2;function UE(e,t,r,n,a,i){var o=r&RD,l=e.length,u=t.length;if(l!=u&&!(o&&u>l))return!1;var c=i.get(e),f=i.get(t);if(c&&f)return c==t&&f==e;var d=-1,h=!0,y=r&$D?new xE:void 0;for(i.set(e,t),i.set(t,e);++d<l;){var v=e[d],S=t[d];if(n)var I=o?n(S,v,d,t,e,i):n(v,S,d,e,t,i);if(I!==void 0){if(I)continue;h=!1;break}if(y){if(!TD(t,function(w,b){if(!jE(y,b)&&(v===w||a(v,w,r,n,i)))return y.push(b)})){h=!1;break}}else if(!(v===S||a(v,S,r,n,i))){h=!1;break}}return i.delete(e),i.delete(t),h}s(UE,"equalArrays");var zE=UE,AD=Ar.Uint8Array,wm=AD;function BE(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}s(BE,"mapToArray");var ED=BE;function KE(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}s(KE,"setToArray");var Pp=KE,_D=1,CD=2,bD="[object Boolean]",SD="[object Date]",wD="[object Error]",ID="[object Map]",ND="[object Number]",kD="[object RegExp]",PD="[object Set]",OD="[object String]",LD="[object Symbol]",DD="[object ArrayBuffer]",MD="[object DataView]",Im=Yt?Yt.prototype:void 0,Nu=Im?Im.valueOf:void 0;function qE(e,t,r,n,a,i,o){switch(r){case MD:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case DD:return!(e.byteLength!=t.byteLength||!i(new wm(e),new wm(t)));case bD:case SD:case ND:return QA(+e,+t);case wD:return e.name==t.name&&e.message==t.message;case kD:case OD:return e==t+"";case ID:var l=ED;case PD:var u=n&_D;if(l||(l=Pp),e.size!=t.size&&!u)return!1;var c=o.get(e);if(c)return c==t;n|=CD,o.set(e,t);var f=zE(l(e),l(t),n,a,i,o);return o.delete(e),f;case LD:if(Nu)return Nu.call(e)==Nu.call(t)}return!1}s(qE,"equalByTag");var xD=qE;function WE(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}s(WE,"arrayPush");var VE=WE,FD=Array.isArray,tt=FD;function HE(e,t,r){var n=t(e);return tt(e)?n:VE(n,r(e))}s(HE,"baseGetAllKeys");var GD=HE;function YE(e,t){for(var r=-1,n=e==null?0:e.length,a=0,i=[];++r<n;){var o=e[r];t(o,r,e)&&(i[a++]=o)}return i}s(YE,"arrayFilter");var XE=YE;function JE(){return[]}s(JE,"stubArray");var jD=JE,UD=Object.prototype,zD=UD.propertyIsEnumerable,Nm=Object.getOwnPropertySymbols,BD=Nm?function(e){return e==null?[]:(e=Object(e),XE(Nm(e),function(t){return zD.call(e,t)}))}:jD,KD=BD;function ZE(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}s(ZE,"baseTimes");var qD=ZE;function QE(e){return e!=null&&typeof e=="object"}s(QE,"isObjectLike");var Da=QE,WD="[object Arguments]";function e_(e){return Da(e)&&qa(e)==WD}s(e_,"baseIsArguments");var km=e_,t_=Object.prototype,VD=t_.hasOwnProperty,HD=t_.propertyIsEnumerable,YD=km((function(){return arguments})())?km:function(e){return Da(e)&&VD.call(e,"callee")&&!HD.call(e,"callee")},nu=YD;function r_(){return!1}s(r_,"stubFalse");var XD=r_,n_=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pm=n_&&typeof module=="object"&&module&&!module.nodeType&&module,JD=Pm&&Pm.exports===n_,Om=JD?Ar.Buffer:void 0,ZD=Om?Om.isBuffer:void 0,QD=ZD||XD,rl=QD,eM=9007199254740991,tM=/^(?:0|[1-9]\d*)$/;function a_(e,t){var r=typeof e;return t=t??eM,!!t&&(r=="number"||r!="symbol"&&tM.test(e))&&e>-1&&e%1==0&&e<t}s(a_,"isIndex");var i_=a_,rM=9007199254740991;function s_(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=rM}s(s_,"isLength");var Op=s_,nM="[object Arguments]",aM="[object Array]",iM="[object Boolean]",sM="[object Date]",oM="[object Error]",lM="[object Function]",uM="[object Map]",cM="[object Number]",fM="[object Object]",dM="[object RegExp]",pM="[object Set]",hM="[object String]",mM="[object WeakMap]",gM="[object ArrayBuffer]",yM="[object DataView]",vM="[object Float32Array]",TM="[object Float64Array]",RM="[object Int8Array]",$M="[object Int16Array]",AM="[object Int32Array]",EM="[object Uint8Array]",_M="[object Uint8ClampedArray]",CM="[object Uint16Array]",bM="[object Uint32Array]",ye={};ye[vM]=ye[TM]=ye[RM]=ye[$M]=ye[AM]=ye[EM]=ye[_M]=ye[CM]=ye[bM]=!0;ye[nM]=ye[aM]=ye[gM]=ye[iM]=ye[yM]=ye[sM]=ye[oM]=ye[lM]=ye[uM]=ye[cM]=ye[fM]=ye[dM]=ye[pM]=ye[hM]=ye[mM]=!1;function o_(e){return Da(e)&&Op(e.length)&&!!ye[qa(e)]}s(o_,"baseIsTypedArray");var SM=o_;function l_(e){return function(t){return e(t)}}s(l_,"baseUnary");var wM=l_,u_=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xi=u_&&typeof module=="object"&&module&&!module.nodeType&&module,IM=Xi&&Xi.exports===u_,ku=IM&&uE.process,NM=(function(){try{var e=Xi&&Xi.require&&Xi.require("util").types;return e||ku&&ku.binding&&ku.binding("util")}catch{}})(),Lm=NM,Dm=Lm&&Lm.isTypedArray,kM=Dm?wM(Dm):SM,Lp=kM,PM=Object.prototype,OM=PM.hasOwnProperty;function c_(e,t){var r=tt(e),n=!r&&nu(e),a=!r&&!n&&rl(e),i=!r&&!n&&!a&&Lp(e),o=r||n||a||i,l=o?qD(e.length,String):[],u=l.length;for(var c in e)(t||OM.call(e,c))&&!(o&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||i_(c,u)))&&l.push(c);return l}s(c_,"arrayLikeKeys");var LM=c_,DM=Object.prototype;function f_(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||DM;return e===r}s(f_,"isPrototype");var d_=f_;function p_(e,t){return function(r){return e(t(r))}}s(p_,"overArg");var MM=p_,xM=MM(Object.keys,Object),FM=xM,GM=Object.prototype,jM=GM.hasOwnProperty;function h_(e){if(!d_(e))return FM(e);var t=[];for(var r in Object(e))jM.call(e,r)&&r!="constructor"&&t.push(r);return t}s(h_,"baseKeys");var m_=h_;function g_(e){return e!=null&&Op(e.length)&&!gE(e)}s(g_,"isArrayLike");var au=g_;function y_(e){return au(e)?LM(e):m_(e)}s(y_,"keys");var Dp=y_;function v_(e){return GD(e,Dp,KD)}s(v_,"getAllKeys");var Mm=v_,UM=1,zM=Object.prototype,BM=zM.hasOwnProperty;function T_(e,t,r,n,a,i){var o=r&UM,l=Mm(e),u=l.length,c=Mm(t),f=c.length;if(u!=f&&!o)return!1;for(var d=u;d--;){var h=l[d];if(!(o?h in t:BM.call(t,h)))return!1}var y=i.get(e),v=i.get(t);if(y&&v)return y==t&&v==e;var S=!0;i.set(e,t),i.set(t,e);for(var I=o;++d<u;){h=l[d];var w=e[h],b=t[h];if(n)var E=o?n(b,w,h,t,e,i):n(w,b,h,e,t,i);if(!(E===void 0?w===b||a(w,b,r,n,i):E)){S=!1;break}I||(I=h=="constructor")}if(S&&!I){var k=e.constructor,G=t.constructor;k!=G&&"constructor"in e&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof G=="function"&&G instanceof G)&&(S=!1)}return i.delete(e),i.delete(t),S}s(T_,"equalObjects");var KM=T_,qM=Wa(Ar,"DataView"),gf=qM,WM=Wa(Ar,"Promise"),yf=WM,VM=Wa(Ar,"Set"),_a=VM,HM=Wa(Ar,"WeakMap"),vf=HM,xm="[object Map]",YM="[object Object]",Fm="[object Promise]",Gm="[object Set]",jm="[object WeakMap]",Um="[object DataView]",XM=Fn(gf),JM=Fn(cs),ZM=Fn(yf),QM=Fn(_a),ex=Fn(vf),Xr=qa;(gf&&Xr(new gf(new ArrayBuffer(1)))!=Um||cs&&Xr(new cs)!=xm||yf&&Xr(yf.resolve())!=Fm||_a&&Xr(new _a)!=Gm||vf&&Xr(new vf)!=jm)&&(Xr=s(function(e){var t=qa(e),r=t==YM?e.constructor:void 0,n=r?Fn(r):"";if(n)switch(n){case XM:return Um;case JM:return xm;case ZM:return Fm;case QM:return Gm;case ex:return jm}return t},"getTag"));var Tf=Xr,tx=1,zm="[object Arguments]",Bm="[object Array]",Us="[object Object]",rx=Object.prototype,Km=rx.hasOwnProperty;function R_(e,t,r,n,a,i){var o=tt(e),l=tt(t),u=o?Bm:Tf(e),c=l?Bm:Tf(t);u=u==zm?Us:u,c=c==zm?Us:c;var f=u==Us,d=c==Us,h=u==c;if(h&&rl(e)){if(!rl(t))return!1;o=!0,f=!1}if(h&&!f)return i||(i=new vo),o||Lp(e)?zE(e,t,r,n,a,i):xD(e,t,u,r,n,a,i);if(!(r&tx)){var y=f&&Km.call(e,"__wrapped__"),v=d&&Km.call(t,"__wrapped__");if(y||v){var S=y?e.value():e,I=v?t.value():t;return i||(i=new vo),a(S,I,r,n,i)}}return h?(i||(i=new vo),KM(e,t,r,n,a,i)):!1}s(R_,"baseIsEqualDeep");var nx=R_;function Mp(e,t,r,n,a){return e===t?!0:e==null||t==null||!Da(e)&&!Da(t)?e!==e&&t!==t:nx(e,t,r,n,Mp,a)}s(Mp,"baseIsEqual");var $_=Mp,ax=1,ix=2;function A_(e,t,r,n){var a=r.length,i=a,o=!n;if(e==null)return!i;for(e=Object(e);a--;){var l=r[a];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<i;){l=r[a];var u=l[0],c=e[u],f=l[1];if(o&&l[2]){if(c===void 0&&!(u in e))return!1}else{var d=new vo;if(n)var h=n(c,f,u,e,t,d);if(!(h===void 0?$_(f,c,ax|ix,n,d):h))return!1}}return!0}s(A_,"baseIsMatch");var sx=A_;function E_(e){return e===e&&!kp(e)}s(E_,"isStrictComparable");var __=E_;function C_(e){for(var t=Dp(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,__(a)]}return t}s(C_,"getMatchData");var ox=C_;function b_(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}s(b_,"matchesStrictComparable");var S_=b_;function w_(e){var t=ox(e);return t.length==1&&t[0][2]?S_(t[0][0],t[0][1]):function(r){return r===e||sx(r,e,t)}}s(w_,"baseMatches");var lx=w_,ux="[object Symbol]";function I_(e){return typeof e=="symbol"||Da(e)&&qa(e)==ux}s(I_,"isSymbol");var iu=I_,cx=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fx=/^\w*$/;function N_(e,t){if(tt(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||iu(e)?!0:fx.test(e)||!cx.test(e)||t!=null&&e in Object(t)}s(N_,"isKey");var xp=N_,dx="Expected a function";function su(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(dx);var r=s(function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;if(i.has(a))return i.get(a);var o=e.apply(this,n);return r.cache=i.set(a,o)||i,o},"memoized");return r.cache=new(su.Cache||ru),r}s(su,"memoize");su.Cache=ru;var px=su,hx=500;function k_(e){var t=px(e,function(n){return r.size===hx&&r.clear(),n}),r=t.cache;return t}s(k_,"memoizeCapped");var mx=k_,gx=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,yx=/\\(\\)?/g,vx=mx(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(gx,function(r,n,a,i){t.push(a?i.replace(yx,"$1"):n||r)}),t}),Tx=vx,Rx=1/0,qm=Yt?Yt.prototype:void 0,Wm=qm?qm.toString:void 0;function Fp(e){if(typeof e=="string")return e;if(tt(e))return XA(e,Fp)+"";if(iu(e))return Wm?Wm.call(e):"";var t=e+"";return t=="0"&&1/e==-Rx?"-0":t}s(Fp,"baseToString");var $x=Fp;function P_(e){return e==null?"":$x(e)}s(P_,"toString");var Ax=P_;function O_(e,t){return tt(e)?e:xp(e,t)?[e]:Tx(Ax(e))}s(O_,"castPath");var L_=O_,Ex=1/0;function D_(e){if(typeof e=="string"||iu(e))return e;var t=e+"";return t=="0"&&1/e==-Ex?"-0":t}s(D_,"toKey");var ou=D_;function M_(e,t){t=L_(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[ou(t[r++])];return r&&r==n?e:void 0}s(M_,"baseGet");var x_=M_;function F_(e,t,r){var n=e==null?void 0:x_(e,t);return n===void 0?r:n}s(F_,"get");var _x=F_;function G_(e,t){return e!=null&&t in Object(e)}s(G_,"baseHasIn");var Cx=G_;function j_(e,t,r){t=L_(t,e);for(var n=-1,a=t.length,i=!1;++n<a;){var o=ou(t[n]);if(!(i=e!=null&&r(e,o)))break;e=e[o]}return i||++n!=a?i:(a=e==null?0:e.length,!!a&&Op(a)&&i_(o,a)&&(tt(e)||nu(e)))}s(j_,"hasPath");var bx=j_;function U_(e,t){return e!=null&&bx(e,t,Cx)}s(U_,"hasIn");var Sx=U_,wx=1,Ix=2;function z_(e,t){return xp(e)&&__(t)?S_(ou(e),t):function(r){var n=_x(r,e);return n===void 0&&n===t?Sx(r,e):$_(t,n,wx|Ix)}}s(z_,"baseMatchesProperty");var Nx=z_;function B_(e){return e}s(B_,"identity");var Gp=B_;function K_(e){return function(t){return t?.[e]}}s(K_,"baseProperty");var kx=K_;function q_(e){return function(t){return x_(t,e)}}s(q_,"basePropertyDeep");var Px=q_;function W_(e){return xp(e)?kx(ou(e)):Px(e)}s(W_,"property");var Ox=W_;function V_(e){return typeof e=="function"?e:e==null?Gp:typeof e=="object"?tt(e)?Nx(e[0],e[1]):lx(e):Ox(e)}s(V_,"baseIteratee");var lu=V_;function H_(e){return function(t,r,n){for(var a=-1,i=Object(t),o=n(t),l=o.length;l--;){var u=o[e?l:++a];if(r(i[u],u,i)===!1)break}return t}}s(H_,"createBaseFor");var Lx=H_,Dx=Lx(),Mx=Dx;function Y_(e,t){return e&&Mx(e,t,Dp)}s(Y_,"baseForOwn");var xx=Y_;function X_(e,t){return function(r,n){if(r==null)return r;if(!au(r))return e(r,n);for(var a=r.length,i=t?a:-1,o=Object(r);(t?i--:++i<a)&&n(o[i],i,o)!==!1;);return r}}s(X_,"createBaseEach");var Fx=X_,Gx=Fx(xx),uu=Gx;function J_(e,t){var r=-1,n=au(e)?Array(e.length):[];return uu(e,function(a,i,o){n[++r]=t(a,i,o)}),n}s(J_,"baseMap");var jx=J_;function Z_(e,t){var r=tt(e)?XA:jx;return r(e,lu(t,3))}s(Z_,"map");var ur=Z_;function Q_(e,t){var r=[];return uu(e,function(n,a,i){t(n,a,i)&&r.push(n)}),r}s(Q_,"baseFilter");var Ux=Q_;function eC(e,t){var r=tt(e)?XE:Ux;return r(e,lu(t,3))}s(eC,"filter");var zx=eC;function An(e,t,r){return`${e.name}_${t}_${r}`}s(An,"buildATNKey");var Lr=1,Bx=2,tC=4,rC=5,Ds=7,Kx=8,qx=9,Wx=10,Vx=11,nC=12,jp=class{static{s(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Up=class extends jp{static{s(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},aC=class extends jp{static{s(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},zp=class extends jp{static{s(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function iC(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};sC(t,e);let r=e.length;for(let n=0;n<r;n++){let a=e[n],i=jr(t,a,a);i!==void 0&&yC(t,a,i)}return t}s(iC,"createATN");function sC(e,t){let r=t.length;for(let n=0;n<r;n++){let a=t[n],i=xe(e,a,void 0,{type:Bx}),o=xe(e,a,void 0,{type:Ds});i.stop=o,e.ruleToStartState.set(a,i),e.ruleToStopState.set(a,o)}}s(sC,"createRuleStartAndStopATNStates");function Bp(e,t,r){return r instanceof ve?cu(e,t,r.terminalType,r):r instanceof Qe?gC(e,t,r):r instanceof ut?fC(e,t,r):r instanceof qe?dC(e,t,r):r instanceof be?oC(e,t,r):r instanceof lt?lC(e,t,r):r instanceof mt?uC(e,t,r):r instanceof gt?cC(e,t,r):jr(e,t,r)}s(Bp,"atom");function oC(e,t,r){let n=xe(e,t,r,{type:rC});Er(e,n);let a=zn(e,t,n,r,jr(e,t,r));return qp(e,t,r,a)}s(oC,"repetition");function lC(e,t,r){let n=xe(e,t,r,{type:rC});Er(e,n);let a=zn(e,t,n,r,jr(e,t,r)),i=cu(e,t,r.separator,r);return qp(e,t,r,a,i)}s(lC,"repetitionSep");function uC(e,t,r){let n=xe(e,t,r,{type:tC});Er(e,n);let a=zn(e,t,n,r,jr(e,t,r));return Kp(e,t,r,a)}s(uC,"repetitionMandatory");function cC(e,t,r){let n=xe(e,t,r,{type:tC});Er(e,n);let a=zn(e,t,n,r,jr(e,t,r)),i=cu(e,t,r.separator,r);return Kp(e,t,r,a,i)}s(cC,"repetitionMandatorySep");function fC(e,t,r){let n=xe(e,t,r,{type:Lr});Er(e,n);let a=ur(r.definition,o=>Bp(e,t,o));return zn(e,t,n,r,...a)}s(fC,"alternation");function dC(e,t,r){let n=xe(e,t,r,{type:Lr});Er(e,n);let a=zn(e,t,n,r,jr(e,t,r));return pC(e,t,r,a)}s(dC,"option");function jr(e,t,r){let n=zx(ur(r.definition,a=>Bp(e,t,a)),a=>a!==void 0);return n.length===1?n[0]:n.length===0?void 0:mC(e,n)}s(jr,"block");function Kp(e,t,r,n,a){let i=n.left,o=n.right,l=xe(e,t,r,{type:Vx});Er(e,l);let u=xe(e,t,r,{type:nC});return i.loopback=l,u.loopback=l,e.decisionMap[An(t,a?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Ne(o,l),a===void 0?(Ne(l,i),Ne(l,u)):(Ne(l,u),Ne(l,a.left),Ne(a.right,i)),{left:i,right:u}}s(Kp,"plus");function qp(e,t,r,n,a){let i=n.left,o=n.right,l=xe(e,t,r,{type:Wx});Er(e,l);let u=xe(e,t,r,{type:nC}),c=xe(e,t,r,{type:qx});return l.loopback=c,u.loopback=c,Ne(l,i),Ne(l,u),Ne(o,c),a!==void 0?(Ne(c,u),Ne(c,a.left),Ne(a.right,i)):Ne(c,l),e.decisionMap[An(t,a?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}s(qp,"star");function pC(e,t,r,n){let a=n.left,i=n.right;return Ne(a,i),e.decisionMap[An(t,"Option",r.idx)]=a,n}s(pC,"optional");function Er(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}s(Er,"defineDecisionState");function zn(e,t,r,n,...a){let i=xe(e,t,n,{type:Kx,start:r});r.end=i;for(let l of a)l!==void 0?(Ne(r,l.left),Ne(l.right,i)):Ne(r,i);let o={left:r,right:i};return e.decisionMap[An(t,hC(n),n.idx)]=r,o}s(zn,"makeAlts");function hC(e){if(e instanceof ut)return"Alternation";if(e instanceof qe)return"Option";if(e instanceof be)return"Repetition";if(e instanceof lt)return"RepetitionWithSeparator";if(e instanceof mt)return"RepetitionMandatory";if(e instanceof gt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}s(hC,"getProdType");function mC(e,t){let r=t.length;for(let i=0;i<r-1;i++){let o=t[i],l;o.left.transitions.length===1&&(l=o.left.transitions[0]);let u=l instanceof zp,c=l,f=t[i+1].left;o.left.type===Lr&&o.right.type===Lr&&l!==void 0&&(u&&c.followState===o.right||l.target===o.right)?(u?c.followState=f:l.target=f,vC(e,o.right)):Ne(o.right,f)}let n=t[0],a=t[r-1];return{left:n.left,right:a.right}}s(mC,"makeBlock");function cu(e,t,r,n){let a=xe(e,t,n,{type:Lr}),i=xe(e,t,n,{type:Lr});return fu(a,new Up(i,r)),{left:a,right:i}}s(cu,"tokenRef");function gC(e,t,r){let n=r.referencedRule,a=e.ruleToStartState.get(n),i=xe(e,t,r,{type:Lr}),o=xe(e,t,r,{type:Lr}),l=new zp(a,n,o);return fu(i,l),{left:i,right:o}}s(gC,"ruleRef");function yC(e,t,r){let n=e.ruleToStartState.get(t);Ne(n,r.left);let a=e.ruleToStopState.get(t);return Ne(r.right,a),{left:n,right:a}}s(yC,"buildRuleHandle");function Ne(e,t){let r=new aC(t);fu(e,r)}s(Ne,"epsilon");function xe(e,t,r,n){let a=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(a),a}s(xe,"newState");function fu(e,t){e.transitions.length===0&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}s(fu,"addTransition");function vC(e,t){e.states.splice(e.states.indexOf(t),1)}s(vC,"removeState");var nl={},Rf=class{static{s(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=Wp(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return ur(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function Wp(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(r=>r.stateNumber.toString()).join("_")}`}s(Wp,"getATNConfigKey");function TC(e,t,r){for(var n=-1,a=e.length;++n<a;){var i=e[n],o=t(i);if(o!=null&&(l===void 0?o===o&&!iu(o):r(o,l)))var l=o,u=i}return u}s(TC,"baseExtremum");var Hx=TC;function RC(e,t){return e<t}s(RC,"baseLt");var Yx=RC;function $C(e){return e&&e.length?Hx(e,Gp,Yx):void 0}s($C,"min");var Xx=$C,Vm=Yt?Yt.isConcatSpreadable:void 0;function AC(e){return tt(e)||nu(e)||!!(Vm&&e&&e[Vm])}s(AC,"isFlattenable");var Jx=AC;function Vp(e,t,r,n,a){var i=-1,o=e.length;for(r||(r=Jx),a||(a=[]);++i<o;){var l=e[i];t>0&&r(l)?t>1?Vp(l,t-1,r,n,a):VE(a,l):n||(a[a.length]=l)}return a}s(Vp,"baseFlatten");var EC=Vp;function _C(e,t){return EC(ur(e,t),1)}s(_C,"flatMap");var Zx=_C;function CC(e,t,r,n){for(var a=e.length,i=r+(n?1:-1);n?i--:++i<a;)if(t(e[i],i,e))return i;return-1}s(CC,"baseFindIndex");var Qx=CC;function bC(e){return e!==e}s(bC,"baseIsNaN");var e1=bC;function SC(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}s(SC,"strictIndexOf");var t1=SC;function wC(e,t,r){return t===t?t1(e,t,r):Qx(e,e1,r)}s(wC,"baseIndexOf");var r1=wC;function IC(e,t){var r=e==null?0:e.length;return!!r&&r1(e,t,0)>-1}s(IC,"arrayIncludes");var n1=IC;function NC(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}s(NC,"arrayIncludesWith");var a1=NC;function kC(){}s(kC,"noop");var i1=kC,s1=1/0,o1=_a&&1/Pp(new _a([,-0]))[1]==s1?function(e){return new _a(e)}:i1,l1=o1,u1=200;function PC(e,t,r){var n=-1,a=n1,i=e.length,o=!0,l=[],u=l;if(r)o=!1,a=a1;else if(i>=u1){var c=t?null:l1(e);if(c)return Pp(c);o=!1,a=jE,u=new xE}else u=t?[]:l;e:for(;++n<i;){var f=e[n],d=t?t(f):f;if(f=r||f!==0?f:0,o&&d===d){for(var h=u.length;h--;)if(u[h]===d)continue e;t&&u.push(d),l.push(f)}else a(u,d,r)||(u!==l&&u.push(d),l.push(f))}return l}s(PC,"baseUniq");var c1=PC;function OC(e,t){return e&&e.length?c1(e,lu(t,2)):[]}s(OC,"uniqBy");var f1=OC;function LC(e){var t=e==null?0:e.length;return t?EC(e,1):[]}s(LC,"flatten");var d1=LC;function DC(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}s(DC,"arrayEach");var p1=DC;function MC(e){return typeof e=="function"?e:Gp}s(MC,"castFunction");var h1=MC;function xC(e,t){var r=tt(e)?p1:uu;return r(e,h1(t))}s(xC,"forEach");var Pu=xC,m1="[object Map]",g1="[object Set]",y1=Object.prototype,v1=y1.hasOwnProperty;function FC(e){if(e==null)return!0;if(au(e)&&(tt(e)||typeof e=="string"||typeof e.splice=="function"||rl(e)||Lp(e)||nu(e)))return!e.length;var t=Tf(e);if(t==m1||t==g1)return!e.size;if(d_(e))return!m_(e).length;for(var r in e)if(v1.call(e,r))return!1;return!0}s(FC,"isEmpty");var T1=FC;function GC(e,t,r,n){var a=-1,i=e==null?0:e.length;for(n&&i&&(r=e[++a]);++a<i;)r=t(r,e[a],a,e);return r}s(GC,"arrayReduce");var R1=GC;function jC(e,t,r,n,a){return a(e,function(i,o,l){r=n?(n=!1,i):t(r,i,o,l)}),r}s(jC,"baseReduce");var $1=jC;function UC(e,t,r){var n=tt(e)?R1:$1,a=arguments.length<3;return n(e,lu(t,4),r,a,uu)}s(UC,"reduce");var Hm=UC;function zC(e,t){let r={};return n=>{let a=n.toString(),i=r[a];return i!==void 0||(i={atnStartState:e,decision:t,states:{}},r[a]=i),i}}s(zC,"createDFACache");var BC=class{static{s(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=this.predicates[r]===!0?"1":"0";return e}},Ym=new BC,A1=class extends wp{static{s(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=(t=e?.logging)!==null&&t!==void 0?t:(r=>console.log(r))}initialize(e){this.atn=iC(e.rules),this.dfas=KC(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:a}=e,i=this.dfas,o=this.logging,l=An(r,"Alternation",t),c=this.atn.decisionMap[l].decision,f=ur(sf({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),d=>ur(d,h=>h[0]));if($f(f,!1)&&!a){let d=Hm(f,(h,y,v)=>(Pu(y,S=>{S&&(h[S.tokenTypeIdx]=v,Pu(S.categoryMatches,I=>{h[I]=v}))}),h),{});return n?function(h){var y;let v=this.LA(1),S=d[v.tokenTypeIdx];if(h!==void 0&&S!==void 0){let I=(y=h[S])===null||y===void 0?void 0:y.GATE;if(I!==void 0&&I.call(this)===!1)return}return S}:function(){let h=this.LA(1);return d[h.tokenTypeIdx]}}else return n?function(d){let h=new BC,y=d===void 0?0:d.length;for(let S=0;S<y;S++){let I=d?.[S].GATE;h.set(S,I===void 0||I.call(this))}let v=To.call(this,i,c,h,o);return typeof v=="number"?v:void 0}:function(){let d=To.call(this,i,c,Ym,o);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:a}=e,i=this.dfas,o=this.logging,l=An(r,n,t),c=this.atn.decisionMap[l].decision,f=ur(sf({maxLookahead:1,occurrence:t,prodType:n,rule:r}),d=>ur(d,h=>h[0]));if($f(f)&&f[0][0]&&!a){let d=f[0],h=d1(d);if(h.length===1&&T1(h[0].categoryMatches)){let v=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===v}}else{let y=Hm(h,(v,S)=>(S!==void 0&&(v[S.tokenTypeIdx]=!0,Pu(S.categoryMatches,I=>{v[I]=!0})),v),{});return function(){let v=this.LA(1);return y[v.tokenTypeIdx]===!0}}}return function(){let d=To.call(this,i,c,Ym,o);return typeof d=="object"?!1:d===0}}};function $f(e,t=!0){let r=new Set;for(let n of e){let a=new Set;for(let i of n){if(i===void 0){if(t)break;return!1}let o=[i.tokenTypeIdx].concat(i.categoryMatches);for(let l of o)if(r.has(l)){if(!a.has(l))return!1}else r.add(l),a.add(l)}}return!0}s($f,"isLL1Sequence");function KC(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=zC(e.decisionStates[n],n);return r}s(KC,"initATNSimulator");function To(e,t,r,n){let a=e[t](r),i=a.start;if(i===void 0){let l=tb(a.atnStartState);i=Yp(a,Hp(l)),a.start=i}return qC.apply(this,[a,i,r,n])}s(To,"adaptivePredict");function qC(e,t,r,n){let a=t,i=1,o=[],l=this.LA(i++);for(;;){let u=JC(a,l);if(u===void 0&&(u=WC.apply(this,[e,a,l,i,r,n])),u===nl)return XC(o,a,l);if(u.isAcceptState===!0)return u.prediction;a=u,o.push(l),l=this.LA(i++)}}s(qC,"performLookahead");function WC(e,t,r,n,a,i){let o=ZC(t.configs,r,a);if(o.size===0)return Af(e,t,r,nl),nl;let l=Hp(o),u=eb(o,a);if(u!==void 0)l.isAcceptState=!0,l.prediction=u,l.configs.uniqueAlt=u;else if(ib(o)){let c=Xx(o.alts);l.isAcceptState=!0,l.prediction=c,l.configs.uniqueAlt=c,VC.apply(this,[e,n,o.alts,i])}return l=Af(e,t,r,l),l}s(WC,"computeLookaheadTarget");function VC(e,t,r,n){let a=[];for(let c=1;c<=t;c++)a.push(this.LA(c).tokenType);let i=e.atnStartState,o=i.rule,l=i.production,u=HC({topLevelRule:o,ambiguityIndices:r,production:l,prefixPath:a});n(u)}s(VC,"reportLookaheadAmbiguity");function HC(e){let t=ur(e.prefixPath,a=>yn(a)).join(", "),r=e.production.idx===0?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${YC(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,
<${t}> 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(HC,"buildAmbiguityError");function YC(e){if(e instanceof Qe)return"SUBRULE";if(e instanceof qe)return"OPTION";if(e instanceof ut)return"OR";if(e instanceof mt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof lt)return"MANY_SEP";if(e instanceof be)return"MANY";if(e instanceof ve)return"CONSUME";throw Error("non exhaustive match")}s(YC,"getProductionDslName");function XC(e,t,r){let n=Zx(t.configs.elements,i=>i.state.transitions),a=f1(n.filter(i=>i instanceof Up).map(i=>i.tokenType),i=>i.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:a,tokenPath:e}}s(XC,"buildAdaptivePredictError");function JC(e,t){return e.edges[t.tokenTypeIdx]}s(JC,"getExistingTargetState");function ZC(e,t,r){let n=new Rf,a=[];for(let o of e.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Ds){a.push(o);continue}let l=o.state.transitions.length;for(let u=0;u<l;u++){let c=o.state.transitions[u],f=QC(c,t);f!==void 0&&n.add({state:f,alt:o.alt,stack:o.stack})}}let i;if(a.length===0&&n.size===1&&(i=n),i===void 0){i=new Rf;for(let o of n.elements)ps(o,i)}if(a.length>0&&!nb(i))for(let o of a)i.add(o);return i}s(ZC,"computeReachSet");function QC(e,t){if(e instanceof Up&&$p(t,e.tokenType))return e.target}s(QC,"getReachableTarget");function eb(e,t){let r;for(let n of e.elements)if(t.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}s(eb,"getUniqueAlt");function Hp(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}s(Hp,"newDFAState");function Af(e,t,r,n){return n=Yp(e,n),t.edges[r.tokenTypeIdx]=n,n}s(Af,"addDFAEdge");function Yp(e,t){if(t===nl)return t;let r=t.configs.key,n=e.states[r];return n!==void 0?n:(t.configs.finalize(),e.states[r]=t,t)}s(Yp,"addDFAState");function tb(e){let t=new Rf,r=e.transitions.length;for(let n=0;n<r;n++){let i={state:e.transitions[n].target,alt:n,stack:[]};ps(i,t)}return t}s(tb,"computeStartState");function ps(e,t){let r=e.state;if(r.type===Ds){if(e.stack.length>0){let a=[...e.stack],o={state:a.pop(),alt:e.alt,stack:a};ps(o,t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let a=0;a<n;a++){let i=r.transitions[a],o=rb(e,i);o!==void 0&&ps(o,t)}}s(ps,"closure");function rb(e,t){if(t instanceof aC)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof zp){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}s(rb,"getEpsilonTarget");function nb(e){for(let t of e.elements)if(t.state.type===Ds)return!0;return!1}s(nb,"hasConfigInRuleStopState");function ab(e){for(let t of e.elements)if(t.state.type!==Ds)return!1;return!0}s(ab,"allConfigsInRuleStopStates");function ib(e){if(ab(e))return!0;let t=sb(e.elements);return ob(t)&&!lb(t)}s(ib,"hasConflictTerminatingPrediction");function sb(e){let t=new Map;for(let r of e){let n=Wp(r,!1),a=t.get(n);a===void 0&&(a={},t.set(n,a)),a[r.alt]=!0}return t}s(sb,"getConflictingAltSets");function ob(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}s(ob,"hasConflictingAltSet");function lb(e){for(let t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}s(lb,"hasStateAssociatedWithOneAlt");gs();var ub=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 Jp(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new du;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new al(e.startOffset,e.image.length,es(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let a of e){let i=new al(a.startOffset,a.image.length,es(a),a.tokenType,!0);i.root=this.rootNode,t.push(i)}let r=this.current,n=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){let a=r.container.content.indexOf(r);if(a>0){r.container.content.splice(a,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},Xp=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)}},al=class extends Xp{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,t,r,n,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},du=class extends Xp{static{s(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new E1(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,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}else return{start:ne.create(0,0),end:ne.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 t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},E1=class cb extends Array{static{s(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,cb.prototype)}push(...t){return this.addParents(t),super.push(...t)}unshift(...t){return this.addParents(t),super.unshift(...t)}splice(t,r,...n){return this.addParents(n),super.splice(t,r,...n)}addParents(t){for(let r of t)r.container=this.parent}},Jp=class extends du{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??""}},il=Symbol("Datatype");function Ro(e){return e.$type===il}s(Ro,"isDataTypeNode");var Xm="\u200B",fb=s(e=>e.endsWith(Xm)?e:e+Xm,"withRuleSuffix"),Zp=class{static{s(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new C1(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new mb(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}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()}},db=class extends Zp{static{s(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new ub,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,t){let r=this.computeRuleType(e),n;Ia(e)&&(n=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(fb(e.name),this.startImplementation(r,n,t).bind(this));return this.allRules.set(e.name,a),Ze(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let n=0;n<e.operators.precedences.length;n++){let a=e.operators.precedences[n];for(let i of a.operators)r.set(i.value,{precedence:n,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(t,r)}computeRuleType(e){return Ia(e)?Tn(e):e.fragment?void 0:Rs(e)?il:Tn(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let a=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Sa(a,{deep:!0}),{value:a,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),t===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 t}startImplementation(e,t,r){return n=>{let a=!this.isRecording()&&e!==void 0;if(a){let i={$type:e};this.stack.push(i),e===il?i.value="":t!==void 0&&(i.$infixName=t)}return r(n),a?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let n=0;n<t.length;n++)if(t[n].startOffset>r)return t.splice(0,n);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let a=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(a);let i=this.nodeBuilder.buildLeafNode(n,r),{assignment:o,crossRef:l}=this.getAssignment(r),u=this.current;if(o){let c=dr(r)?n.image:this.converter.convert(n.image,i);this.assign(o.operator,o.feature,c,i,l)}else if(Ro(u)){let c=n.image;dr(r)||(c=this.converter.convert(c,i).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,n,a){let i;!this.isRecording()&&!r&&(i=this.nodeBuilder.buildCompositeNode(n));let o;try{o=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&i&&i.length>0&&this.performSubruleAssignment(o,n,i))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:a}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,a);else if(!n){let i=this.current;if(Ro(i))i.value+=e.toString();else if(typeof e=="object"&&e){let l=this.assignWithoutOverride(e,i);this.stack.pop(),this.stack.push(l)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);let a={$type:e};this.stack.push(a),this.assign(t.operator,t.feature,r,r.$cstNode)}else r.$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)):Ro(e)?this.converter.convert(e.value,e.$cstNode):(Xf(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||r.length===0)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let a=0,i=-1;for(let v=0;v<n.length;v++){let S=n[v],I=t.get(S)??{precedence:1/0,rightAssoc:!1};I.precedence>i?(i=I.precedence,a=v):I.precedence===i&&(I.rightAssoc||(a=v))}let o=n.slice(0,a),l=n.slice(a+1),u=r.slice(0,a+1),c=r.slice(a+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:l},h=this.constructInfix(f,t),y=this.constructInfix(d,t);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:n[a],right:y}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=Cn(e,fr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&Sn(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,a){let i=this.current,o;switch(a==="single"&&typeof r=="string"?o=this.linker.buildReference(i,t,n,r):a==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(i,t,n,r):o=r,e){case"=":{i[t]=o;break}case"?=":{i[t]=!0;break}case"+=":Array.isArray(i[t])||(i[t]=[]),i[t].push(o)}}assignWithoutOverride(e,t){for(let[n,a]of Object.entries(t)){let i=e[n];i===void 0?e[n]=a:Array.isArray(i)&&Array.isArray(a)&&(a.push(...i),e[n]=a)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},pb=class{static{s(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Ra.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ra.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ra.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ra.buildEarlyExitMessage(e)}},Qp=class extends pb{static{s(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){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 \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},hb=class extends Zp{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 t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.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,t){let r=this.wrapper.DEFINE_RULE(fb(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}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,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,a){this.before(n),this.wrapper.wrapSubrule(e,t,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},_1={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Qp},mb=class extends lL{static{s(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{..._1,lookaheadStrategy:r?new wp({maxLookahead:t.maxLookahead}):new A1({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},C1=class extends mb{static{s(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function pu(e,t,r){return gb({parser:t,tokens:r,ruleNames:new Map},e),t}s(pu,"createParser");function gb(e,t){let r=wl(t,!1),n=se(t.rules).filter(Ze).filter(i=>r.has(i));for(let i of n){let o={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(i,Dr(o,i.definition))}let a=se(t.rules).filter(Ia).filter(i=>r.has(i));for(let i of a)e.parser.rule(i,yb(e,i))}s(gb,"buildRules");function yb(e,t){let r=t.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(_t(r))throw new Error("Cannot use terminal rule in infix expression");let n=t.operators.precedences.flatMap(y=>y.operators),a={$type:"Group",elements:[]},i={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(i,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},c={...i,$container:o};o.elements.push(u,c);let d=n.map(y=>e.tokens[y.value]).map((y,v)=>({ALT:s(()=>e.parser.consume(v,y,u),"ALT")})),h;return y=>{h??(h=hu(e,r)),e.parser.subrule(0,h,!1,i,y),e.parser.many(0,{DEF:s(()=>{e.parser.alternatives(0,d),e.parser.subrule(1,h,!1,c,y)},"DEF")})}}s(yb,"buildInfixRule");function Dr(e,t,r=!1){let n;if(dr(t))n=_b(e,t);else if(kr(t))n=vb(e,t);else if(fr(t))n=Dr(e,t.terminal);else if(Sn(t))n=eh(e,t);else if(pr(t))n=Tb(e,t);else if(Tl(t))n=$b(e,t);else if(El(t))n=Ab(e,t);else if(wn(t))n=Eb(e,t);else if(nd(t)){let a=e.consume++;n=s(()=>e.parser.consume(a,Or,t),"method")}else throw new Cl(t.$cstNode,`Unexpected element type: ${t.$type}`);return th(e,r?void 0:hs(t),n,t.cardinality)}s(Dr,"buildElement");function vb(e,t){let r=Tn(t);return()=>e.parser.action(r,t)}s(vb,"buildAction");function Tb(e,t){let r=t.rule.ref;if(bn(r)){let n=e.subrule++,a=Ze(r)&&r.fragment,i=t.arguments.length>0?Rb(r,t.arguments):()=>({}),o;return l=>{o??(o=hu(e,r)),e.parser.subrule(n,o,a,t,i(l))}}else if(_t(r)){let n=e.consume++,a=sl(e,r.name);return()=>e.parser.consume(n,a,t)}else if(r)xr(r);else throw new Cl(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}s(Tb,"buildRuleCall");function Rb(e,t){if(t.some(n=>n.calledByName)){let n=t.map(a=>({parameterName:a.parameter?.ref?.name,predicate:It(a.value)}));return a=>{let i={};for(let{parameterName:o,predicate:l}of n)o&&(i[o]=l(a));return i}}else{let n=t.map(a=>It(a.value));return a=>{let i={};for(let o=0;o<n.length;o++)if(o<e.parameters.length){let l=e.parameters[o].name,u=n[o];i[l]=u(a)}return i}}}s(Rb,"buildRuleCallPredicate");function It(e){if(rd(e)){let t=It(e.left),r=It(e.right);return n=>t(n)||r(n)}else if(td(e)){let t=It(e.left),r=It(e.right);return n=>t(n)&&r(n)}else if(sd(e)){let t=It(e.value);return r=>!t(r)}else if(od(e)){let t=e.parameter.ref.name;return r=>r!==void 0&&r[t]===!0}else if(Qf(e)){let t=!!e.true;return()=>t}xr(e)}s(It,"buildPredicate");function $b(e,t){if(t.elements.length===1)return Dr(e,t.elements[0]);{let r=[];for(let a of t.elements){let i={ALT:Dr(e,a,!0)},o=hs(a);o&&(i.GATE=It(o)),r.push(i)}let n=e.or++;return a=>e.parser.alternatives(n,r.map(i=>{let o={ALT:s(()=>i.ALT(a),"ALT")},l=i.GATE;return l&&(o.GATE=()=>l(a)),o}))}}s($b,"buildAlternatives");function Ab(e,t){if(t.elements.length===1)return Dr(e,t.elements[0]);let r=[];for(let l of t.elements){let u={ALT:Dr(e,l,!0)},c=hs(l);c&&(u.GATE=It(c)),r.push(u)}let n=e.or++,a=s((l,u)=>{let c=u.getRuleStack().join("-");return`uGroup_${l}_${c}`},"idFunc"),i=s(l=>e.parser.alternatives(n,r.map((u,c)=>{let f={ALT:s(()=>!0,"ALT")},d=e.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let y=a(n,d);d.unorderedGroups.get(y)||d.unorderedGroups.set(y,[]);let v=d.unorderedGroups.get(y);typeof v?.[c]>"u"&&(v[c]=!0)}};let h=u.GATE;return h?f.GATE=()=>h(l):f.GATE=()=>!d.unorderedGroups.get(a(n,d))?.[c],f})),"alternatives"),o=th(e,hs(t),i,"*");return l=>{o(l),e.parser.isRecording()||e.parser.unorderedGroups.delete(a(n,e.parser))}}s(Ab,"buildUnorderedGroup");function Eb(e,t){let r=t.elements.map(n=>Dr(e,n));return n=>r.forEach(a=>a(n))}s(Eb,"buildGroup");function hs(e){if(wn(e))return e.guardCondition}s(hs,"getGuardCondition");function eh(e,t,r=t.terminal){if(r)if(pr(r)&&Ze(r.rule.ref)){let n=r.rule.ref,a=e.subrule++,i;return o=>{i??(i=hu(e,n)),e.parser.subrule(a,i,!1,t,o)}}else if(pr(r)&&_t(r.rule.ref)){let n=e.consume++,a=sl(e,r.rule.ref.name);return()=>e.parser.consume(n,a,t)}else if(dr(r)){let n=e.consume++,a=sl(e,r.value);return()=>e.parser.consume(n,a,t)}else throw new Error("Could not build cross reference parser");else{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);let a=Pl(t.type.ref)?.terminal;if(!a)throw new Error("Could not find name assignment for type: "+Tn(t.type.ref));return eh(e,t,a)}}s(eh,"buildCrossReference");function _b(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}s(_b,"buildKeyword");function th(e,t,r,n){let a=t&&It(t);if(!n)if(a){let i=e.or++;return o=>e.parser.alternatives(i,[{ALT:s(()=>r(o),"ALT"),GATE:s(()=>a(o),"GATE")},{ALT:mf(),GATE:s(()=>!a(o),"GATE")}])}else return r;if(n==="*"){let i=e.many++;return o=>e.parser.many(i,{DEF:s(()=>r(o),"DEF"),GATE:a?()=>a(o):void 0})}else if(n==="+"){let i=e.many++;if(a){let o=e.or++;return l=>e.parser.alternatives(o,[{ALT:s(()=>e.parser.atLeastOne(i,{DEF:s(()=>r(l),"DEF")}),"ALT"),GATE:s(()=>a(l),"GATE")},{ALT:mf(),GATE:s(()=>!a(l),"GATE")}])}else return o=>e.parser.atLeastOne(i,{DEF:s(()=>r(o),"DEF")})}else if(n==="?"){let i=e.optional++;return o=>e.parser.optional(i,{DEF:s(()=>r(o),"DEF"),GATE:a?()=>a(o):void 0})}else xr(n)}s(th,"wrap");function hu(e,t){let r=Cb(e,t),n=e.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}s(hu,"getRule");function Cb(e,t){if(bn(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,a=t.$type;for(;!Ze(n);)(wn(n)||Tl(n)||El(n))&&(a=n.elements.indexOf(r).toString()+":"+a),r=n,n=n.$container;return a=n.name+":"+a,e.ruleNames.set(t,a),a}}s(Cb,"getRuleName");function sl(e,t){let r=e.tokens[t];if(!r)throw new Error(`Token "${t}" not found."`);return r}s(sl,"getToken");function rh(e){let t=e.Grammar,r=e.parser.Lexer,n=new hb(e);return pu(t,n,r.definition),n.finalize(),n}s(rh,"createCompletionParser");function nh(e){let t=ah(e);return t.finalize(),t}s(nh,"createLangiumParser");function ah(e){let t=e.Grammar,r=e.parser.Lexer,n=new db(e);return pu(t,n,r.definition)}s(ah,"prepareLangiumParser");var mu=class{static{s(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=se(wl(e,!1)),n=this.buildTerminalTokens(r),a=this.buildKeywordTokens(r,n,t);return a.push(...n),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(_t).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){let t=As(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return typeof r=="function"&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=Sl(t)?Je.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=new RegExp(e,e.flags+"y");return(r,n)=>(t.lastIndex=n,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(bn).flatMap(n=>Rr(n).filter(dr)).distinct(n=>n.value).toArray().sort((n,a)=>a.value.length-n.value.length).map(n=>this.buildKeywordToken(n,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),a={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return typeof n=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(Ga(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((r,n)=>{let a=n?.PATTERN;return a?.source&&Id("^"+a.source+"$",e.value)&&r.push(n),r},[])}},ih=class{static{s(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(Sn(r)&&(r=Ld(r)),pr(r)){let n=r.rule.ref;if(!n)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return Bt.convertInt(t);case"STRING":return Bt.convertString(t);case"ID":return Bt.convertID(t)}switch(Bd(e)?.toLowerCase()){case"number":return Bt.convertNumber(t);case"boolean":return Bt.convertBoolean(t);case"bigint":return Bt.convertBigint(t);case"date":return Bt.convertDate(t);default:return t}}},Bt;(function(e){function t(c){let f="";for(let d=1;d<c.length-1;d++){let h=c.charAt(d);if(h==="\\"){let y=c.charAt(++d);f+=r(y)}else f+=h}return f}s(t,"convertString"),e.convertString=t;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"),e.convertID=n;function a(c){return parseInt(c)}s(a,"convertInt"),e.convertInt=a;function i(c){return BigInt(c)}s(i,"convertBigint"),e.convertBigint=i;function o(c){return new Date(c)}s(o,"convertDate"),e.convertDate=o;function l(c){return Number(c)}s(l,"convertNumber"),e.convertNumber=l;function u(c){return c.toLowerCase()==="true"}s(u,"convertBoolean"),e.convertBoolean=u})(Bt||(Bt={}));var de={};hl(de,Bf(gl(),1));function gu(){return new Promise(e=>{typeof setImmediate>"u"?setTimeout(e,0):setImmediate(e)})}s(gu,"delayNextTick");var $o=0,bb=10;function yu(){return $o=performance.now(),new de.CancellationTokenSource}s(yu,"startCancelableOperation");function sh(e){bb=e}s(sh,"setInterruptionPeriod");var Wt=Symbol("OperationCancelled");function Bn(e){return e===Wt}s(Bn,"isOperationCancelled");async function Ge(e){if(e===de.CancellationToken.None)return;let t=performance.now();if(t-$o>=bb&&($o=t,await gu(),$o=performance.now()),e.isCancellationRequested)throw Wt}s(Ge,"interruptAndCheck");var vr=class{static{s(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}},Jm=class Ef{static{s(this,"FullTextDocument")}constructor(t,r,n,a){this._uri=t,this._languageId=r,this._version=n,this._content=a,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content}update(t,r){for(let n of t)if(Ef.isIncremental(n)){let a=lh(n.range),i=this.offsetAt(a.start),o=this.offsetAt(a.end);this._content=this._content.substring(0,i)+n.text+this._content.substring(o,this._content.length);let l=Math.max(a.start.line,0),u=Math.max(a.end.line,0),c=this._lineOffsets,f=_f(n.text,!1,i);if(u-l===f.length)for(let h=0,y=f.length;h<y;h++)c[h+l+1]=f[h];else f.length<1e4?c.splice(l+1,u-l,...f):this._lineOffsets=c=c.slice(0,l+1).concat(f,c.slice(u+1));let d=n.text.length-(o-i);if(d!==0)for(let h=l+1+f.length,y=c.length;h<y;h++)c[h]=c[h]+d}else if(Ef.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=_f(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let r=this.getLineOffsets(),n=0,a=r.length;if(a===0)return{line:0,character:t};for(;n<a;){let o=Math.floor((n+a)/2);r[o]>t?a=o:n=o+1}let i=n-1;return t=this.ensureBeforeEOL(t,r[i]),{line:i,character:t-r[i]}}offsetAt(t){let r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;let n=r[t.line];if(t.character<=0)return n;let a=t.line+1<r.length?r[t.line+1]:this._content.length,i=Math.min(n+t.character,a);return this.ensureBeforeEOL(i,n)}ensureBeforeEOL(t,r){for(;t>r&&oh(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let r=t;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(t){let r=t;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},ol;(function(e){function t(a,i,o,l){return new Jm(a,i,o,l)}s(t,"create"),e.create=t;function r(a,i,o){if(a instanceof Jm)return a.update(i,o),a;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(r,"update"),e.update=r;function n(a,i){let o=a.getText(),l=ll(i.map(Sb),(f,d)=>{let h=f.range.start.line-d.range.start.line;return h===0?f.range.start.character-d.range.start.character:h}),u=0,c=[];for(let f of l){let d=a.offsetAt(f.range.start);if(d<u)throw new Error("Overlapping edit");d>u&&c.push(o.substring(u,d)),f.newText.length&&c.push(f.newText),u=a.offsetAt(f.range.end)}return c.push(o.substr(u)),c.join("")}s(n,"applyEdits"),e.applyEdits=n})(ol||(ol={}));function ll(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);ll(n,t),ll(a,t);let i=0,o=0,l=0;for(;i<n.length&&o<a.length;)t(n[i],a[o])<=0?e[l++]=n[i++]:e[l++]=a[o++];for(;i<n.length;)e[l++]=n[i++];for(;o<a.length;)e[l++]=a[o++];return e}s(ll,"mergeSort");function _f(e,t,r=0){let n=t?[r]:[];for(let a=0;a<e.length;a++){let i=e.charCodeAt(a);oh(i)&&(i===13&&a+1<e.length&&e.charCodeAt(a+1)===10&&a++,n.push(r+a+1))}return n}s(_f,"computeLineOffsets");function oh(e){return e===13||e===10}s(oh,"isEOL");function lh(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}s(lh,"getWellformedRange");function Sb(e){let t=lh(e.range);return t!==e.range?{newText:e.newText,range:t}:e}s(Sb,"getWellformedEdit");var wb;(()=>{"use strict";var e={975:P=>{function _(T){if(typeof T!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(T))}s(_,"e");function g(T,R){for(var C,O="",M=0,D=-1,j=0,q=0;q<=T.length;++q){if(q<T.length)C=T.charCodeAt(q);else{if(C===47)break;C=47}if(C===47){if(!(D===q-1||j===1))if(D!==q-1&&j===2){if(O.length<2||M!==2||O.charCodeAt(O.length-1)!==46||O.charCodeAt(O.length-2)!==46){if(O.length>2){var oe=O.lastIndexOf("/");if(oe!==O.length-1){oe===-1?(O="",M=0):M=(O=O.slice(0,oe)).length-1-O.lastIndexOf("/"),D=q,j=0;continue}}else if(O.length===2||O.length===1){O="",M=0,D=q,j=0;continue}}R&&(O.length>0?O+="/..":O="..",M=2)}else O.length>0?O+="/"+T.slice(D+1,q):O=T.slice(D+1,q),M=q-D-1;D=q,j=0}else C===46&&j!==-1?++j:j=-1}return O}s(g,"r");var A={resolve:s(function(){for(var T,R="",C=!1,O=arguments.length-1;O>=-1&&!C;O--){var M;O>=0?M=arguments[O]:(T===void 0&&(T=process.cwd()),M=T),_(M),M.length!==0&&(R=M+"/"+R,C=M.charCodeAt(0)===47)}return R=g(R,!C),C?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:s(function(T){if(_(T),T.length===0)return".";var R=T.charCodeAt(0)===47,C=T.charCodeAt(T.length-1)===47;return(T=g(T,!R)).length!==0||R||(T="."),T.length>0&&C&&(T+="/"),R?"/"+T:T},"normalize"),isAbsolute:s(function(T){return _(T),T.length>0&&T.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var T,R=0;R<arguments.length;++R){var C=arguments[R];_(C),C.length>0&&(T===void 0?T=C:T+="/"+C)}return T===void 0?".":A.normalize(T)},"join"),relative:s(function(T,R){if(_(T),_(R),T===R||(T=A.resolve(T))===(R=A.resolve(R)))return"";for(var C=1;C<T.length&&T.charCodeAt(C)===47;++C);for(var O=T.length,M=O-C,D=1;D<R.length&&R.charCodeAt(D)===47;++D);for(var j=R.length-D,q=M<j?M:j,oe=-1,V=0;V<=q;++V){if(V===q){if(j>q){if(R.charCodeAt(D+V)===47)return R.slice(D+V+1);if(V===0)return R.slice(D+V)}else M>q&&(T.charCodeAt(C+V)===47?oe=V:V===0&&(oe=0));break}var Pe=T.charCodeAt(C+V);if(Pe!==R.charCodeAt(D+V))break;Pe===47&&(oe=V)}var ae="";for(V=C+oe+1;V<=O;++V)V!==O&&T.charCodeAt(V)!==47||(ae.length===0?ae+="..":ae+="/..");return ae.length>0?ae+R.slice(D+oe):(D+=oe,R.charCodeAt(D)===47&&++D,R.slice(D))},"relative"),_makeLong:s(function(T){return T},"_makeLong"),dirname:s(function(T){if(_(T),T.length===0)return".";for(var R=T.charCodeAt(0),C=R===47,O=-1,M=!0,D=T.length-1;D>=1;--D)if((R=T.charCodeAt(D))===47){if(!M){O=D;break}}else M=!1;return O===-1?C?"/":".":C&&O===1?"//":T.slice(0,O)},"dirname"),basename:s(function(T,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');_(T);var C,O=0,M=-1,D=!0;if(R!==void 0&&R.length>0&&R.length<=T.length){if(R.length===T.length&&R===T)return"";var j=R.length-1,q=-1;for(C=T.length-1;C>=0;--C){var oe=T.charCodeAt(C);if(oe===47){if(!D){O=C+1;break}}else q===-1&&(D=!1,q=C+1),j>=0&&(oe===R.charCodeAt(j)?--j==-1&&(M=C):(j=-1,M=q))}return O===M?M=q:M===-1&&(M=T.length),T.slice(O,M)}for(C=T.length-1;C>=0;--C)if(T.charCodeAt(C)===47){if(!D){O=C+1;break}}else M===-1&&(D=!1,M=C+1);return M===-1?"":T.slice(O,M)},"basename"),extname:s(function(T){_(T);for(var R=-1,C=0,O=-1,M=!0,D=0,j=T.length-1;j>=0;--j){var q=T.charCodeAt(j);if(q!==47)O===-1&&(M=!1,O=j+1),q===46?R===-1?R=j:D!==1&&(D=1):R!==-1&&(D=-1);else if(!M){C=j+1;break}}return R===-1||O===-1||D===0||D===1&&R===O-1&&R===C+1?"":T.slice(R,O)},"extname"),format:s(function(T){if(T===null||typeof T!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof T);return(function(R,C){var O=C.dir||C.root,M=C.base||(C.name||"")+(C.ext||"");return O?O===C.root?O+M:O+"/"+M:M})(0,T)},"format"),parse:s(function(T){_(T);var R={root:"",dir:"",base:"",ext:"",name:""};if(T.length===0)return R;var C,O=T.charCodeAt(0),M=O===47;M?(R.root="/",C=1):C=0;for(var D=-1,j=0,q=-1,oe=!0,V=T.length-1,Pe=0;V>=C;--V)if((O=T.charCodeAt(V))!==47)q===-1&&(oe=!1,q=V+1),O===46?D===-1?D=V:Pe!==1&&(Pe=1):D!==-1&&(Pe=-1);else if(!oe){j=V+1;break}return D===-1||q===-1||Pe===0||Pe===1&&D===q-1&&D===j+1?q!==-1&&(R.base=R.name=j===0&&M?T.slice(1,q):T.slice(j,q)):(j===0&&M?(R.name=T.slice(1,D),R.base=T.slice(1,q)):(R.name=T.slice(j,D),R.base=T.slice(j,q)),R.ext=T.slice(D,q)),j>0?R.dir=T.slice(0,j-1):M&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};A.posix=A,P.exports=A}},t={};function r(P){var _=t[P];if(_!==void 0)return _.exports;var g=t[P]={exports:{}};return e[P](g,g.exports,r),g.exports}s(r,"r"),r.d=(P,_)=>{for(var g in _)r.o(_,g)&&!r.o(P,g)&&Object.defineProperty(P,g,{enumerable:!0,get:_[g]})},r.o=(P,_)=>Object.prototype.hasOwnProperty.call(P,_),r.r=P=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(P,"__esModule",{value:!0})};var n={};let a;r.r(n),r.d(n,{URI:s(()=>h,"URI"),Utils:s(()=>Te,"Utils")}),typeof process=="object"?a=process.platform==="win32":typeof navigator=="object"&&(a=navigator.userAgent.indexOf("Windows")>=0);let i=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(P,_){if(!P.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${P.authority}", path: "${P.path}", query: "${P.query}", fragment: "${P.fragment}"}`);if(P.scheme&&!i.test(P.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(P.path){if(P.authority){if(!o.test(P.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(P.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="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static{s(this,"l")}static isUri(_){return _ instanceof h||!!_&&typeof _.authority=="string"&&typeof _.fragment=="string"&&typeof _.path=="string"&&typeof _.query=="string"&&typeof _.scheme=="string"&&typeof _.fsPath=="string"&&typeof _.with=="function"&&typeof _.toString=="function"}scheme;authority;path;query;fragment;constructor(_,g,A,T,R,C=!1){typeof _=="object"?(this.scheme=_.scheme||c,this.authority=_.authority||c,this.path=_.path||c,this.query=_.query||c,this.fragment=_.fragment||c):(this.scheme=(function(O,M){return O||M?O:"file"})(_,C),this.authority=g||c,this.path=(function(O,M){switch(O){case"https":case"http":case"file":M?M[0]!==f&&(M=f+M):M=f}return M})(this.scheme,A||c),this.query=T||c,this.fragment=R||c,u(this,C))}get fsPath(){return b(this,!1)}with(_){if(!_)return this;let{scheme:g,authority:A,path:T,query:R,fragment:C}=_;return g===void 0?g=this.scheme:g===null&&(g=c),A===void 0?A=this.authority:A===null&&(A=c),T===void 0?T=this.path:T===null&&(T=c),R===void 0?R=this.query:R===null&&(R=c),C===void 0?C=this.fragment:C===null&&(C=c),g===this.scheme&&A===this.authority&&T===this.path&&R===this.query&&C===this.fragment?this:new v(g,A,T,R,C)}static parse(_,g=!1){let A=d.exec(_);return A?new v(A[2]||c,Q(A[4]||c),Q(A[5]||c),Q(A[7]||c),Q(A[9]||c),g):new v(c,c,c,c,c)}static file(_){let g=c;if(a&&(_=_.replace(/\\/g,f)),_[0]===f&&_[1]===f){let A=_.indexOf(f,2);A===-1?(g=_.substring(2),_=f):(g=_.substring(2,A),_=_.substring(A)||f)}return new v("file",g,_,c,c)}static from(_){let g=new v(_.scheme,_.authority,_.path,_.query,_.fragment);return u(g,!0),g}toString(_=!1){return E(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof h)return _;{let g=new v(_);return g._formatted=_.external,g._fsPath=_._sep===y?_.fsPath:null,g}}return _}}let y=a?1:void 0;class v extends h{static{s(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(_=!1){return _?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=y),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}let S={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function I(P,_,g){let A,T=-1;for(let R=0;R<P.length;R++){let C=P.charCodeAt(R);if(C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===45||C===46||C===95||C===126||_&&C===47||g&&C===91||g&&C===93||g&&C===58)T!==-1&&(A+=encodeURIComponent(P.substring(T,R)),T=-1),A!==void 0&&(A+=P.charAt(R));else{A===void 0&&(A=P.substr(0,R));let O=S[C];O!==void 0?(T!==-1&&(A+=encodeURIComponent(P.substring(T,R)),T=-1),A+=O):T===-1&&(T=R)}}return T!==-1&&(A+=encodeURIComponent(P.substring(T))),A!==void 0?A:P}s(I,"m");function w(P){let _;for(let g=0;g<P.length;g++){let A=P.charCodeAt(g);A===35||A===63?(_===void 0&&(_=P.substr(0,g)),_+=S[A]):_!==void 0&&(_+=P[g])}return _!==void 0?_:P}s(w,"y");function b(P,_){let g;return g=P.authority&&P.path.length>1&&P.scheme==="file"?`//${P.authority}${P.path}`:P.path.charCodeAt(0)===47&&(P.path.charCodeAt(1)>=65&&P.path.charCodeAt(1)<=90||P.path.charCodeAt(1)>=97&&P.path.charCodeAt(1)<=122)&&P.path.charCodeAt(2)===58?_?P.path.substr(1):P.path[1].toLowerCase()+P.path.substr(2):P.path,a&&(g=g.replace(/\//g,"\\")),g}s(b,"v");function E(P,_){let g=_?w:I,A="",{scheme:T,authority:R,path:C,query:O,fragment:M}=P;if(T&&(A+=T,A+=":"),(R||T==="file")&&(A+=f,A+=f),R){let D=R.indexOf("@");if(D!==-1){let j=R.substr(0,D);R=R.substr(D+1),D=j.lastIndexOf(":"),D===-1?A+=g(j,!1,!1):(A+=g(j.substr(0,D),!1,!1),A+=":",A+=g(j.substr(D+1),!1,!0)),A+="@"}R=R.toLowerCase(),D=R.lastIndexOf(":"),D===-1?A+=g(R,!1,!0):(A+=g(R.substr(0,D),!1,!0),A+=R.substr(D))}if(C){if(C.length>=3&&C.charCodeAt(0)===47&&C.charCodeAt(2)===58){let D=C.charCodeAt(1);D>=65&&D<=90&&(C=`/${String.fromCharCode(D+32)}:${C.substr(3)}`)}else if(C.length>=2&&C.charCodeAt(1)===58){let D=C.charCodeAt(0);D>=65&&D<=90&&(C=`${String.fromCharCode(D+32)}:${C.substr(2)}`)}A+=g(C,!0,!1)}return O&&(A+="?",A+=g(O,!1,!1)),M&&(A+="#",A+=_?M:I(M,!1,!1)),A}s(E,"b");function k(P){try{return decodeURIComponent(P)}catch{return P.length>3?P.substr(0,3)+k(P.substr(3)):P}}s(k,"C");let G=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Q(P){return P.match(G)?P.replace(G,(_=>k(_))):P}s(Q,"w");var Y=r(975);let ue=Y.posix||Y,he="/";var Te;(function(P){P.joinPath=function(_,...g){return _.with({path:ue.join(_.path,...g)})},P.resolvePath=function(_,...g){let A=_.path,T=!1;A[0]!==he&&(A=he+A,T=!0);let R=ue.resolve(A,...g);return T&&R[0]===he&&!_.authority&&(R=R.substring(1)),_.with({path:R})},P.dirname=function(_){if(_.path.length===0||_.path===he)return _;let g=ue.dirname(_.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),_.with({path:g})},P.basename=function(_){return ue.basename(_.path)},P.extname=function(_){return ue.extname(_.path)}})(Te||(Te={})),wb=n})();var{URI:ft,Utils:yi}=wb,Xe;(function(e){e.basename=yi.basename,e.dirname=yi.dirname,e.extname=yi.extname,e.joinPath=yi.joinPath,e.resolvePath=yi.resolvePath;let t=typeof process=="object"&&process?.platform==="win32";function r(o,l){return o?.toString()===l?.toString()}s(r,"equals"),e.equals=r;function n(o,l){let u=typeof o=="string"?ft.parse(o).path:o.path,c=typeof l=="string"?ft.parse(l).path:l.path,f=u.split("/").filter(S=>S.length>0),d=c.split("/").filter(S=>S.length>0);if(t){let S=/^[A-Z]:$/;if(f[0]&&S.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&S.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return c.substring(1)}let h=0;for(;h<f.length&&f[h]===d[h];h++);let y="../".repeat(f.length-h),v=d.slice(h).join("/");return y+v}s(n,"relative"),e.relative=n;function a(o){return ft.parse(o.toString()).toString()}s(a,"normalize"),e.normalize=a;function i(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(i,"contains"),e.contains=i})(Xe||(Xe={}));var uh=class{static{s(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Xe.normalize(e)}clear(){this.root.children.clear()}insert(e,t){let r=this.getNode(this.normalizeUri(e),!0);r.element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.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 t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:Xe.joinPath(ft.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(n=>({name:n.name,uri:Xe.joinPath(ft.parse(t),n.name).toString(),element:n.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(Xe.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let n=this.root;for(let a of r){let i=n.children.get(a);if(!i)if(t)i={name:a,children:new Map,parent:n},n.children.set(a,i);else return;n=i}return n}collectValues(e){let t=[];e.element&&t.push(e.element);for(let r of e.children.values())t.push(...this.collectValues(r));return t}},J;(function(e){e[e.Changed=0]="Changed",e[e.Parsed=1]="Parsed",e[e.IndexedContent=2]="IndexedContent",e[e.ComputedScopes=3]="ComputedScopes",e[e.Linked=4]="Linked",e[e.IndexedReferences=5]="IndexedReferences",e[e.Validated=6]="Validated"})(J||(J={}));var Ib=class{static{s(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=de.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??ft.parse(e.uri),de.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return de.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else if("$model"in t){let n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let a;if(r)a={parseResult:e,uri:t,state:J.Parsed,references:[],textDocument:r};else{let i=this.createTextDocumentGetter(t,n);a={parseResult:e,uri:t,state:J.Parsed,references:[],get textDocument(){return i()}}}return e.value.$document=a,a}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let i=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:i})}return r!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=J.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r=this.serviceRegistry,n;return()=>n??(n=ol.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}},Nb=class{static{s(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new uh,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return se(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(n=>(this.addDocument(n),n));{let n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,J.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=J.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let n of r)n.state=J.Changed;return this.documentTrie.delete(t),r}},Jr=Symbol("RefResolving"),kb=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,t=de.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of kt(e.parseResult.value))await Ge(t),wa(n).forEach(a=>{let i=`${n.$type}:${a.property}`;r.startSubTask(i);try{this.doLink(a,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of kt(e.parseResult.value))await Ge(t),wa(r).forEach(n=>this.doLink(n,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=Jr;try{let n=this.getCandidate(e);if(en(n))r._ref=n;else{r._nodeDescription=n;let a=this.loadAstNode(n);r._ref=a??this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let a=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${a}`}}t.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=Jr;try{let n=this.getCandidates(e),a=[];if(en(n))r._linkingError=n;else for(let i of n){let o=this.loadAstNode(i);o&&a.push({ref:o,$nodeDescription:i})}r._items=a}catch(n){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${n}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,t,r,n){let a=this,i={$refNode:r,$refText:n,_ref:void 0,get ref(){if(ke(this._ref))return this._ref;if(Vf(this._nodeDescription)){let o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:i,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=Jr;let o=$a(e).$document,l=a.getLinkedNode({reference:i,container:e,property:t});if(l.error&&o&&o.state<J.ComputedScopes)return this._ref=void 0;this._ref=l.node??l.error,this._nodeDescription=l.descr,o?.references.push(this)}else this._ref===Jr&&a.throwCyclicReferenceError(e,t,n);return ke(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return en(this._ref)?this._ref:void 0}};return i}buildMultiReference(e,t,r,n){let a=this,i={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Jr;let o=$a(e).$document,l=a.getCandidates({reference:i,container:e,property:t}),u=[];if(en(l))this._linkingError=l;else for(let c of l){let f=a.loadAstNode(c);f&&u.push({ref:f,$nodeDescription:c})}this._items=u,o?.references.push(this)}else this._items===Jr&&a.throwCyclicReferenceError(e,t,n);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:i,container:e,property:t})}};return i}throwCyclicReferenceError(e,t,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(en(t))return{error:t};let r=this.loadAstNode(t);return r?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);let r=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=$a(e.container).$document;r&&r.state<J.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function ch(e){return typeof e.name=="string"}s(ch,"isNamed");var Pb=class{static{s(this,"DefaultNameProvider")}getName(e){if(ch(e))return e.name}getNameNode(e){return Il(e.$cstNode,"name")}},Ob=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=kt(e.Grammar).some(t=>Sn(t)&&t.isMulti)}findDeclarations(e){if(e){let t=Fd(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(Ye(n)||Vt(n))return bo(n);if(Array.isArray(n)){for(let a of n)if((Ye(a)||Vt(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return bo(a)}}if(r){let n=this.nameProvider.getNameNode(r);if(n&&(n===e||yd(e,n)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let n of wa(r))if(Vt(n.reference)&&n.reference.items.some(a=>a.ref===e))return n.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let n of t){let a=this.nameProvider.getNameNode(n)??n.$cstNode;a&&r.push(a)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(a=>Xe.equals(a.sourceUri,t.documentUri))),r.push(...n),se(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let n of t){let a=this.nameProvider.getNameNode(n);if(a){let i=Nt(n),o=this.nodeLocator.getAstNodePath(n);r.push({sourceUri:i.uri,sourcePath:o,targetUri:i.uri,targetPath:o,segment:ka(a),local:!0})}}return r}},Tr=class{static{s(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return Qi.sum(se(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return r.length===1?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?se(t):Ca}has(e,t){if(t===void 0)return this.map.has(e);{let r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(n=>e(n,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return se(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return se(this.map.keys())}values(){return se(this.map.values()).flat()}entriesGroupedByKey(){return se(this.map.entries())}},ul=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[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}},Lb=class{static{s(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=de.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=vs,n=de.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,t);for(let i of r(e))await Ge(n),this.addExportedSymbol(i,a,t);return a}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=de.CancellationToken.None){let r=e.parseResult.value,n=new Tr;for(let a of Rr(r))await Ge(t),this.addLocalSymbol(a,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let a=this.nameProvider.getName(e);a&&r.add(n,this.descriptions.createDescription(e,a,t))}}},Cf=class{static{s(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===t):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(n=>n.name.toLowerCase()===t):this.elements.filter(n=>n.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},b1=class{static{s(this,"MapScope")}constructor(e,t,r){this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.set(a,n)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?se(n).concat(this.outerScope.getElements(e)):se(n)}getAllElements(){let e=se(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Db=class{static{s(this,"MultiMapScope")}constructor(e,t,r){this.elements=new Tr,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(a,n)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||r.length===0)&&this.outerScope?se(r).concat(this.outerScope.getElements(e)):se(r)}getAllElements(){let e=se(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},S1={getElement(){},getElements(){return Ca},getAllElements(){return Ca}},vu=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")}},fh=class extends vu{static{s(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Tu=class extends vu{static{s(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let a=r();return n.set(t,a),a}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},Mb=class extends Tu{static{s(this,"DocumentCache")}constructor(e,t){super(r=>r.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,r=>{this.clear(r.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{for(let a of n)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let a=r.concat(n);for(let i of a)this.clear(i)}))}},dh=class extends fh{static{s(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{n.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},xb=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 dh(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=Nt(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(o=>this.reflection.isSubtype(o.type,r))),i=i.$container;while(i)}let a=this.getGlobalScope(r,e);for(let i=t.length-1;i>=0;i--)a=this.createScope(t[i],a);return a}createScope(e,t,r){return new Cf(se(e),t,r)}createScopeForNodes(e,t,r){let n=se(e).map(a=>{let i=this.nameProvider.getName(a);if(i)return this.descriptions.createDescription(a,i)}).nonNullable();return new Cf(n,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Db(this.indexManager.allElements(e)))}};function ph(e){return typeof e.$comment=="string"}s(ph,"isAstNodeWithComment");function bf(e){return typeof e=="object"&&!!e&&("$ref"in e||"$error"in e)}s(bf,"isIntermediateReference");var Fb=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,t){let r=t??{},n=t?.replacer,a=s((o,l)=>this.replacer(o,l,r),"defaultReplacer"),i=n?(o,l)=>n(o,l,a):a;try{return this.currentDocument=Nt(e),JSON.stringify(e,i,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=t??{},n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,t,{refText:r,sourceText:n,textRegions:a,comments:i,uriConverter:o}){if(!this.ignoreProperties.has(e))if(Ye(t)){let l=t.ref,u=r?t.$refText:void 0;if(l){let c=Nt(l),f="";this.currentDocument&&this.currentDocument!==c&&(o?f=o(c.uri,l):f=c.uri.toString());let d=this.astNodeLocator.getAstNodePath(l);return{$ref:`${f}#${d}`,$refText:u}}else return{$error:t.error?.message??"Could not resolve reference",$refText:u}}else if(Vt(t)){let l=r?t.$refText:void 0,u=[];for(let c of t.items){let f=c.ref,d=Nt(c.ref),h="";this.currentDocument&&this.currentDocument!==d&&(o?h=o(d.uri,f):h=d.uri.toString());let y=this.astNodeLocator.getAstNodePath(f);u.push(`${h}#${y}`)}return{$refs:u,$refText:l}}else if(ke(t)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(l??(l={...t}),l.$sourceText=t.$cstNode?.text),i){l??(l={...t});let u=this.commentProvider.getComment(t);u&&(l.$comment=u.replace(/\r/g,""))}return l??t}else return t}addAstNodeRegionWithAssignmentsTo(e){let t=s(r=>({offset:r.offset,end:r.end,length:r.length,range:r.range}),"createDocumentSegment");if(e.$cstNode){let r=e.$textRegion=t(e.$cstNode),n=r.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let i=Md(e.$cstNode,a).map(t);i.length!==0&&(n[a]=i)}),e}}linkNode(e,t,r,n,a,i){for(let[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){let f=u[c];bf(f)?u[c]=this.reviveReference(e,l,t,f,r):ke(f)&&this.linkNode(f,t,r,e,l,c)}else bf(u)?e[l]=this.reviveReference(e,l,t,u,r):ke(u)&&this.linkNode(u,t,r,e,l);let o=e;o.$container=n,o.$containerProperty=a,o.$containerIndex=i}reviveReference(e,t,r,n,a){let i=n.$refText,o=n.$error,l;if(n.$ref){let u=this.getRefNode(r,n.$ref,a.uriConverter);if(ke(u))return i||(i=this.nameProvider.getName(u)),{$refText:i??"",ref:u};o=u}else if(n.$refs){let u=[];for(let c of n.$refs){let f=this.getRefNode(r,c,a.uriConverter);ke(f)&&u.push({ref:f})}if(u.length===0)l={$refText:i??"",items:u},o??(o="Could not resolve multi-reference");else return{$refText:i??"",items:u}}if(o)return l??(l={$refText:i??"",ref:void 0}),l.error={info:{container:e,property:t,reference:l},message:o},l}getRefNode(e,t,r){try{let n=t.indexOf("#");if(n===0){let l=this.astNodeLocator.getAstNode(e,t.substring(1));return l||"Could not resolve path: "+t}if(n<0){let l=r?r(t):ft.parse(t),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+t}let a=r?r(t.substring(0,n)):ft.parse(t.substring(0,n)),i=this.langiumDocuments.getDocument(a);if(!i)return"Could not find document for URI: "+t;if(n===t.length-1)return i.parseResult.value;let o=this.astNodeLocator.getAstNode(i.parseResult.value,t.substring(n+1));return o||"Could not resolve URI: "+t}catch(n){return String(n)}}},Gb=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 t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.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 t=this.textDocuments?.get(e)?.languageId;if(t!==void 0){let i=this.languageIdMap.get(t);if(i)return i}let r=Xe.extname(e),n=Xe.basename(e),a=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!a)throw t?new Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function mn(e){return{code:e}}s(mn,"diagnosticData");var cl;(function(e){e.defaults=["fast","slow","built-in"],e.all=e.defaults})(cl||(cl={}));var jb=class{static{s(this,"ValidationRegistry")}constructor(e){this.entries=new Tr,this.knownCategories=new Set(cl.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(let[n,a]of Object.entries(e)){let i=a;if(Array.isArray(i))for(let o of i){let l={check:this.wrapValidationException(o,t),category:r};this.addEntry(n,l)}else if(typeof i=="function"){let o={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,o)}else xr(i)}}wrapValidationException(e,t){return async(r,n,a)=>{await this.handleException(()=>e.call(t,r,n,a),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(a){if(Bn(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let i=a instanceof Error?a.message:String(a);r("error",`${t}: ${i}`,{node:n})}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=se(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(n=>t.includes(n.category))),r.map(n=>n.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,a,i,o)=>{await this.handleException(()=>e.call(r,n,a,i,o),t,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},Ub=Object.freeze({validateNode:!0,validateChildren:!0}),zb=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,t={},r=de.CancellationToken.None){let n=e.parseResult,a=[];if(await Ge(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,a,t),t.stopAfterLexingErrors&&a.some(i=>i.data?.code===Rt.LexingError)||(this.processParsingErrors(n,a,t),t.stopAfterParsingErrors&&a.some(i=>i.data?.code===Rt.ParsingError))||(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(i=>i.data?.code===Rt.LinkingError))))return a;try{a.push(...await this.validateAst(n.value,t,r))}catch(i){if(Bn(i))throw i;console.error("An error occurred during validation:",i)}return await Ge(r),a}processLexingErrors(e,t,r){let n=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of n){let i=a.severity??"error",o={severity:Ji(i),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:mh(i),source:this.getSource()};t.push(o)}}processParsingErrors(e,t,r){for(let n of e.parserErrors){let a;if(isNaN(n.token.startOffset)){if("previousToken"in n){let i=n.previousToken;if(isNaN(i.startOffset)){let o={line:0,character:0};a={start:o,end:o}}else{let o={line:i.endLine-1,character:i.endColumn};a={start:o,end:o}}}}else a=es(n.token);if(a){let i={severity:Ji("error"),range:a,message:n.message,data:mn(Rt.ParsingError),source:this.getSource()};t.push(i)}}}processLinkingErrors(e,t,r){for(let n of e.references){let a=n.error;if(a){let i={node:a.info.container,range:n.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Rt.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};t.push(this.toDiagnostic("error",a.message,i))}}}async validateAst(e,t,r=de.CancellationToken.None){let n=[],a=s((i,o,l)=>{n.push(this.toDiagnostic(i,o,l))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),n}async validateAstBefore(e,t,r,n=de.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let i of a)await Ge(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=de.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let i=kt(e).iterator();for(let o of i){a.startSubTask(o.$type);let l=this.validateSingleNodeOptions(o,t);if(l.validateNode)try{let u=this.validationRegistry.getChecks(o.$type,t.categories);for(let c of u)await c(o,r,n)}finally{a.stopSubTask(o.$type)}l.validateChildren||i.prune()}}finally{a.stop()}}else{let a=kt(e).iterator();for(let i of a){await Ge(n);let o=this.validateSingleNodeOptions(i,t);if(o.validateNode){let l=this.validationRegistry.getChecks(i.$type,t.categories);for(let u of l)await u(i,r,n)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,t){return Ub}async validateAstAfter(e,t,r,n=de.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let i of a)await Ge(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:hh(r),severity:Ji(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function hh(e){if(e.range)return e.range;let t;return typeof e.property=="string"?t=Il(e.node.$cstNode,e.property,e.index):typeof e.keyword=="string"&&(t=xd(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}s(hh,"getDiagnosticRange");function Ji(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}s(Ji,"toDiagnosticSeverity");function mh(e){switch(e){case"error":return mn(Rt.LexingError);case"warning":return mn(Rt.LexingWarning);case"info":return mn(Rt.LexingInfo);case"hint":return mn(Rt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}s(mh,"toDiagnosticData");var Rt;(function(e){e.LexingError="lexing-error",e.LexingWarning="lexing-warning",e.LexingInfo="lexing-info",e.LexingHint="lexing-hint",e.ParsingError="parsing-error",e.LinkingError="linking-error"})(Rt||(Rt={}));var Bb=class{static{s(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n=r??Nt(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${a} has no name.`);let i,o=s(()=>i??(i=ka(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return o()},selectionSegment:ka(e.$cstNode),type:e.$type,documentUri:n.uri,path:a}}},Kb=class{static{s(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=de.CancellationToken.None){let r=[],n=e.parseResult.value;for(let a of kt(n))await Ge(t),wa(a).forEach(i=>{i.reference.error||r.push(...this.createInfoDescriptions(i))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];Ye(t)&&t.$nodeDescription?r=[t.$nodeDescription]:Vt(t)&&(r=t.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));let n=Nt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),i=[],o=ka(t.$refNode);for(let l of r)i.push({sourceUri:n,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:Xe.equals(l.documentUri,n)});return i}},qb=class{static{s(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((n,a)=>{if(!n||a.length===0)return n;let i=a.indexOf(this.indexSeparator);if(i>0){let o=a.substring(0,i),l=parseInt(a.substring(i+1));return n[o]?.[l]}return n[a]},e)}},Ru={};hl(Ru,Bf(xa(),1));var Wb=class{static{s(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new vr,this.onConfigurationSectionUpdateEmitter=new Ru.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 t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(n=>({section:this.toSectionName(n.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((n,a)=>{this.updateSectionConfiguration(n.section,r[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([t,r])=>{this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},zs=Bf(rw(),1),vn;(function(e){function t(r){return{dispose:s(async()=>await r(),"dispose")}}s(t,"create"),e.create=t})(vn||(vn={}));var Vb=class{static{s(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Tr,this.documentPhaseListeners=new Tr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=J.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,t={},r=de.CancellationToken.None){for(let n of e){let a=n.uri.toString();if(n.state===J.Validated){if(typeof t.validation=="boolean"&&t.validation)this.resetToState(n,J.IndexedReferences);else if(typeof t.validation=="object"){let i=this.findMissingValidationCategories(n,t);i.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:i}},result:this.buildState.get(a)?.result}),n.state=J.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=J.Changed,await this.emitUpdate(e.map(n=>n.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=de.CancellationToken.None){this.currentState=J.Changed;let n=[];for(let l of t){let u=this.langiumDocuments.deleteDocuments(l);for(let c of u)n.push(c.uri),this.cleanUpDeleted(c)}let a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(let l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=J.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,J.Changed)}let i=se(a).concat(n).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!i.has(l.uri.toString())&&this.shouldRelink(l,i)).forEach(l=>this.resetToState(l,J.ComputedScopes)),await this.emitUpdate(a,n),await Ge(r);let o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state<J.Validated||!this.buildState.get(l.uri.toString())?.completed||this.resultsAreIncomplete(l,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set,i=t===void 0||t.validation===!0?n:typeof t.validation=="object"?t.validation.categories??n:[];return se(i).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),vn.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case J.Changed:case J.Parsed:this.indexManager.removeContent(e.uri);case J.IndexedContent:e.localSymbols=void 0;case J.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case J.Linked:this.indexManager.removeReferences(e.uri);case J.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case J.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=J.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,J.Parsed,r,i=>this.langiumDocumentFactory.update(i,r)),await this.runCancelable(e,J.IndexedContent,r,i=>this.indexManager.updateContent(i,r)),await this.runCancelable(e,J.ComputedScopes,r,async i=>{let o=this.serviceRegistry.getServices(i.uri).references.ScopeComputation;i.localSymbols=await o.collectLocalSymbols(i,r)});let n=e.filter(i=>this.shouldLink(i));await this.runCancelable(n,J.Linked,r,i=>this.serviceRegistry.getServices(i.uri).references.Linker.link(i,r)),await this.runCancelable(n,J.IndexedReferences,r,i=>this.indexManager.updateReferences(i,r));let a=e.filter(i=>this.shouldValidate(i)?!0:(this.markAsCompleted(i),!1));await this.runCancelable(a,J.Validated,r,async i=>{await this.validate(i,r),this.markAsCompleted(i)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let n=r.uri.toString(),a=this.buildState.get(n);(!a||a.completed)&&this.buildState.set(n,{completed:!1,options:t,result:a?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await Ge(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let a=e.filter(i=>i.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),vn.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),vn.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,r??(r=de.CancellationToken.None),n?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);if(n){if(n.state>=e)return Promise.resolve(t);if(r.isCancellationRequested)return Promise.reject(Wt);if(this.currentState>=e&&e>n.state)return Promise.reject(new zs.ResponseError(zs.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${J[n.state]}, requiring ${J[e]}, but workspace state is already ${J[this.currentState]}. Returning undefined.`))}else return Promise.reject(new zs.ResponseError(zs.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`));return new Promise((a,i)=>{let o=this.onDocumentPhase(e,u=>{Xe.equals(u.uri,t)&&(o.dispose(),l.dispose(),a(u.uri))}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),i(Wt)})})}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(Wt):new Promise((r,n)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),i.dispose(),r()}),i=t.onCancellationRequested(()=>{a.dispose(),i.dispose(),n(Wt)})})}async notifyDocumentPhase(e,t,r){let a=this.documentPhaseListeners.get(t).slice();for(let i of a)try{await Ge(r),await i(e,r)}catch(o){if(!Bn(o))throw o}}async notifyBuildPhase(e,t,r){if(e.length===0)return;let a=this.buildPhaseListeners.get(t).slice();for(let i of a)await Ge(r),await i(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),a=typeof n.validation=="object"?{...n.validation}:{};a.categories=this.findMissingValidationCategories(e,n);let i=await r.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...i):e.diagnostics=i;let o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=se(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},Hb=class{static{s(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Tu,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=Nt(e).uri,n=[];return this.referenceIndex.forEach(a=>{a.forEach(i=>{Xe.equals(i.targetUri,r)&&i.targetPath===t&&n.push(i)})}),se(n)}allElements(e,t){let r=se(this.symbolIndex.keys());return t&&(r=r.filter(n=>!t||t.has(n))),r.map(n=>this.getFileDescriptions(n,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=de.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),a=e.uri.toString();this.symbolIndex.set(a,n),this.symbolByTypeIndex.clear(a)}async updateReferences(e,t=de.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return r?r.some(n=>!n.local&&t.has(n.targetUri.toString())):!1}},Yb=class{static{s(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new vr,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(t=>this.initializeWorkspace(this.folders??[],t))}async initializeWorkspace(e,t=de.CancellationToken.None){let r=await this.performStartup(e);await Ge(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=s(i=>{t.push(i),this.langiumDocuments.hasDocument(i.uri)||this.langiumDocuments.addDocument(i)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(i=>this.getRootFolder(i)).map(async i=>this.traverseFolder(i,n)));let a=se(n).distinct(i=>i.toString()).filter(i=>!this.langiumDocuments.hasDocument(i));return await this.loadWorkspaceDocuments(a,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async r=>{let n=await this.langiumDocuments.getOrCreateDocument(r);t(n)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ft.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async n=>{this.shouldIncludeEntry(n)&&(n.isDirectory?await this.traverseFolder(n.uri,t):n.isFile&&t.push(n.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=Xe.basename(e.uri);return t.startsWith(".")?!1:e.isDirectory?t!=="node_modules"&&t!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},Xb=class{static{s(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,a){return af.buildUnexpectedCharactersMessage(e,t,r,n,a)}buildUnableToPopLexerModeMessage(e){return af.buildUnableToPopLexerModeMessage(e)}},gh={mode:"full"},yh=class{static{s(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=fl(t)?Object.values(t):t,n=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Je(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=gh){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(fl(e))return e;let t=Au(e)?Object.values(e.modes).flat():e,r={};return t.forEach(n=>r[n.name]=n),r}};function $u(e){return Array.isArray(e)&&(e.length===0||"name"in e[0])}s($u,"isTokenTypeArray");function Au(e){return e&&"modes"in e&&"defaultMode"in e}s(Au,"isIMultiModeLexerDefinition");function fl(e){return!$u(e)&&!Au(e)}s(fl,"isTokenTypeDictionary");gs();function vh(e,t,r){let n,a;typeof e=="string"?(a=t,n=r):(a=e.range.start,n=t),a||(a=ne.create(0,0));let i=Rh(e),o=Eu(n),l=Jb({lines:i,position:a,options:o});return eS({index:0,tokens:l,position:a})}s(vh,"parseJSDoc");function Th(e,t){let r=Eu(t),n=Rh(e);if(n.length===0)return!1;let a=n[0],i=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(a)&&!!l?.exec(i)}s(Th,"isJSDoc");function Rh(e){let t="";return typeof e=="string"?t=e:t=e.text,t.split(Zg)}s(Rh,"getLines");var Zm=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,w1=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function Jb(e){let t=[],r=e.position.line,n=e.position.character;for(let a=0;a<e.lines.length;a++){let i=a===0,o=a===e.lines.length-1,l=e.lines[a],u=0;if(i&&e.options.start){let f=e.options.start?.exec(l);f&&(u=f.index+f[0].length)}else{let f=e.options.line?.exec(l);f&&(u=f.index+f[0].length)}if(o){let f=e.options.end?.exec(l);f&&(l=l.substring(0,f.index))}if(l=l.substring(0,Qb(l)),dl(l,u)>=l.length){if(t.length>0){let f=ne.create(r,n);t.push({type:"break",content:"",range:Z.create(f,f)})}}else{Zm.lastIndex=u;let f=Zm.exec(l);if(f){let d=f[0],h=f[1],y=ne.create(r,n+u),v=ne.create(r,n+u+d.length);t.push({type:"tag",content:h,range:Z.create(y,v)}),u+=d.length,u=dl(l,u)}if(u<l.length){let d=l.substring(u),h=Array.from(d.matchAll(w1));t.push(...Zb(h,d,r,n+u))}}r++,n=0}return t.length>0&&t[t.length-1].type==="break"?t.slice(0,-1):t}s(Jb,"tokenize");function Zb(e,t,r,n){let a=[];if(e.length===0){let i=ne.create(r,n),o=ne.create(r,n+t.length);a.push({type:"text",content:t,range:Z.create(i,o)})}else{let i=0;for(let l of e){let u=l.index,c=t.substring(i,u);c.length>0&&a.push({type:"text",content:t.substring(i,u),range:Z.create(ne.create(r,i+n),ne.create(r,u+n))});let f=c.length+1,d=l[1];if(a.push({type:"inline-tag",content:d,range:Z.create(ne.create(r,i+f+n),ne.create(r,i+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let h=l[3];a.push({type:"text",content:h,range:Z.create(ne.create(r,i+f+n),ne.create(r,i+f+h.length+n))})}else a.push({type:"text",content:"",range:Z.create(ne.create(r,i+f+n),ne.create(r,i+f+n))});i=u+l[0].length}let o=t.substring(i);o.length>0&&a.push({type:"text",content:o,range:Z.create(ne.create(r,i+n),ne.create(r,i+n+o.length))})}return a}s(Zb,"buildInlineTokens");var I1=/\S/,N1=/\s*$/;function dl(e,t){let r=e.substring(t).match(I1);return r?t+r.index:e.length}s(dl,"skipWhitespace");function Qb(e){let t=e.match(N1);if(t&&typeof t.index=="number")return t.index}s(Qb,"lastCharacter");function eS(e){let t=ne.create(e.position.line,e.position.character);if(e.tokens.length===0)return new Qm([],Z.create(t,t));let r=[];for(;e.index<e.tokens.length;){let i=tS(e,r[r.length-1]);i&&r.push(i)}let n=r[0]?.range.start??t,a=r[r.length-1]?.range.end??t;return new Qm(r,Z.create(n,a))}s(eS,"parseJSDocComment");function tS(e,t){let r=e.tokens[e.index];if(r.type==="tag")return Ah(e,!1);if(r.type==="text"||r.type==="inline-tag")return $h(e);rS(r,t),e.index++}s(tS,"parseJSDocElement");function rS(e,t){if(t){let r=new sS("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}s(rS,"appendEmptyLine");function $h(e){let t=e.tokens[e.index],r=t,n=t,a=[];for(;t&&t.type!=="break"&&t.type!=="tag";)a.push(nS(e)),n=t,t=e.tokens[e.index];return new Sf(a,Z.create(r.range.start,n.range.end))}s($h,"parseJSDocText");function nS(e){return e.tokens[e.index].type==="inline-tag"?Ah(e,!0):Eh(e)}s(nS,"parseJSDocInline");function Ah(e,t){let r=e.tokens[e.index++],n=r.content.substring(1);if(e.tokens[e.index]?.type==="text")if(t){let i=Eh(e);return new Ou(n,new Sf([i],i.range),t,Z.create(r.range.start,i.range.end))}else{let i=$h(e);return new Ou(n,i,t,Z.create(r.range.start,i.range.end))}else{let i=r.range;return new Ou(n,new Sf([],i),t,i)}}s(Ah,"parseJSDocTag");function Eh(e){let t=e.tokens[e.index++];return new sS(t.content,t.range)}s(Eh,"parseJSDocLine");function Eu(e){if(!e)return Eu({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:Ao(t,!0),end:Ao(r,!1),line:Ao(n,!0)}}s(Eu,"normalizeOptions");function Ao(e,t){if(typeof e=="string"||typeof e=="object"){let r=typeof e=="string"?Ga(e):e.source;return t?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return e}s(Ao,"normalizeOption");var Qm=class{static{s(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(e.length===0)e=t.toString();else{let r=t.toString();e+=wf(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=wf(t)+n}return t.trim()}},Ou=class{static{s(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let a=aS(this.name,t,e??{});if(typeof a=="string")return a}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return this.content.inlines.length===1?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n}
${t}`),this.inline?`{${n}}`:n}};function aS(e,t,r){if(e==="linkplain"||e==="linkcode"||e==="link"){let n=t.indexOf(" "),a=t;if(n>0){let o=dl(t,n);a=t.substring(o),t=t.substring(0,n)}return(e==="linkcode"||e==="link"&&r.link==="code")&&(a=`\`${a}\``),r.renderLink?.(t,a)??iS(t,a)}}s(aS,"renderInlineTag");function iS(e,t){try{return ft.parse(e,!0),`[${t}](${e})`}catch{return e}}s(iS,"renderLinkDefault");var Sf=class{static{s(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],a=this.inlines[r+1];t+=n.toMarkdown(e),a&&a.range.start.line>n.range.start.line&&(t+=`
`)}return t}},sS=class{static{s(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function wf(e){return e.endsWith(`
`)?`
`:`

`}s(wf,"fillNewlines");var oS=class{static{s(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&Th(t))return vh(t).toMarkdown({renderLink:s((n,a)=>this.documentationLinkRenderer(e,n,a),"renderLink"),renderTag:s(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let a=n.nameSegment.range.start.line+1,i=n.nameSegment.range.start.character+1,o=n.documentUri.with({fragment:`L${a},${i}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let n=Nt(e).localSymbols;if(!n)return;let a=e;do{let o=n.getStream(a).find(l=>l.name===t);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(n=>n.name===t)}},lS=class{static{s(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return ph(e)?e.$comment:$d(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},uS=class{static{s(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},k1=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 t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r=await this.acquireParserWorker(t),n=new vr,a,i=t.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(r)},this.terminationDelay)});return r.parse(e).then(o=>{let l=this.hydrator.hydrate(o);n.resolve(l)}).catch(o=>{n.reject(o)}).finally(()=>{i.dispose(),clearTimeout(a)}),n.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){this.initializeWorkers();for(let r of this.workerPool)if(r.ready)return r.lock(),r;let t=new vr;return e.onCancellationRequested(()=>{let r=this.queue.indexOf(t);r>=0&&this.queue.splice(r,1),t.reject(Wt)}),this.queue.push(t),t.promise}},P1=class{static{s(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new Ru.Emitter,this.deferred=new vr,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(a=>{let i=a;this.deferred.resolve(i),this.unlock()}),r(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Wt),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 vr,this.sendMessage(e),this.deferred.promise}},cS=class{static{s(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new de.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=yu();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=de.CancellationToken.None){let n=new vr,a={action:t,deferred:n,cancellationToken:r};return e.push(a),this.performNextOperation(),n.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:t,deferred:r,cancellationToken:n})=>{try{let a=await Promise.resolve().then(()=>t(n));r.resolve(a)}catch(a){Bn(a)?r.resolve(void 0):r.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},fS=class{static{s(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new ul,this.tokenTypeIdMap=new ul,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(t=>({...t,message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let n of kt(e))t.set(n,{});if(e.$cstNode)for(let n of Na(e.$cstNode))r.set(n,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let i=[];r[n]=i;for(let o of a)ke(o)?i.push(this.dehydrateAstNode(o,t)):Ye(o)?i.push(this.dehydrateReference(o,t)):i.push(o)}else ke(a)?r[n]=this.dehydrateAstNode(a,t):Ye(a)?r[n]=this.dehydrateReference(a,t):a!==void 0&&(r[n]=a);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return yl(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),cr(e)?r.content=e.content.map(n=>this.dehydrateCstNode(n,t)):_n(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t=new Map,r=new Map;for(let a of kt(e))t.set(a,{});let n;if(e.$cstNode)for(let a of Na(e.$cstNode)){let i;"fullText"in a?(i=new Jp(a.fullText),n=i):"content"in a?i=new du:"tokenType"in a&&(i=this.hydrateCstLeafNode(a)),i&&(r.set(a,i),i.root=n)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){let r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let i=[];r[n]=i;for(let o of a)ke(o)?i.push(this.setParent(this.hydrateAstNode(o,t),r)):Ye(o)?i.push(this.hydrateReference(o,r,n,t)):i.push(o)}else ke(a)?r[n]=this.setParent(this.hydrateAstNode(a,t),r):Ye(a)?r[n]=this.hydrateReference(a,r,n,t):a!==void 0&&(r[n]=a);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),cr(n))for(let a of e.content){let i=this.hydrateCstNode(a,t,r++);n.content.push(i)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,a=e.startLine,i=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new al(r,n,{start:{line:a,character:i},end:{line:o,character:l}},t,u)}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 t of kt(this.grammar))vl(t)&&this.grammarElementIdMap.set(t,e++)}};function _h(e){return{documentation:{CommentProvider:s(t=>new lS(t),"CommentProvider"),DocumentationProvider:s(t=>new oS(t),"DocumentationProvider")},parser:{AsyncParser:s(t=>new uS(t),"AsyncParser"),GrammarConfig:s(t=>qd(t),"GrammarConfig"),LangiumParser:s(t=>nh(t),"LangiumParser"),CompletionParser:s(t=>rh(t),"CompletionParser"),ValueConverter:s(()=>new ih,"ValueConverter"),TokenBuilder:s(()=>new mu,"TokenBuilder"),Lexer:s(t=>new yh(t),"Lexer"),ParserErrorMessageProvider:s(()=>new Qp,"ParserErrorMessageProvider"),LexerErrorMessageProvider:s(()=>new Xb,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new qb,"AstNodeLocator"),AstNodeDescriptionProvider:s(t=>new Bb(t),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(t=>new Kb(t),"ReferenceDescriptionProvider")},references:{Linker:s(t=>new kb(t),"Linker"),NameProvider:s(()=>new Pb,"NameProvider"),ScopeProvider:s(t=>new xb(t),"ScopeProvider"),ScopeComputation:s(t=>new Lb(t),"ScopeComputation"),References:s(t=>new Ob(t),"References")},serializer:{Hydrator:s(t=>new fS(t),"Hydrator"),JsonSerializer:s(t=>new Fb(t),"JsonSerializer")},validation:{DocumentValidator:s(t=>new zb(t),"DocumentValidator"),ValidationRegistry:s(t=>new jb(t),"ValidationRegistry")},shared:s(()=>e.shared,"shared")}}s(_h,"createDefaultCoreModule");function Ch(e){return{ServiceRegistry:s(t=>new Gb(t),"ServiceRegistry"),workspace:{LangiumDocuments:s(t=>new Nb(t),"LangiumDocuments"),LangiumDocumentFactory:s(t=>new Ib(t),"LangiumDocumentFactory"),DocumentBuilder:s(t=>new Vb(t),"DocumentBuilder"),IndexManager:s(t=>new Hb(t),"IndexManager"),WorkspaceManager:s(t=>new Yb(t),"WorkspaceManager"),FileSystemProvider:s(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:s(()=>new cS,"WorkspaceLock"),ConfigurationProvider:s(t=>new Wb(t),"ConfigurationProvider")},profilers:{}}}s(Ch,"createDefaultSharedCoreModule");var If;(function(e){e.merge=(t,r)=>Ma(Ma({},t),r)})(If||(If={}));function pl(e,t,r,n,a,i,o,l,u){let c=[e,t,r,n,a,i,o,l,u].reduce(Ma,{});return Sh(c)}s(pl,"inject");var dS=Symbol("isProxy");function bh(e){if(e&&e[dS])for(let t of Object.values(e))bh(t);return e}s(bh,"eagerLoad");function Sh(e,t){let r=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),set:s(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:s((n,a)=>a===dS?!0:Nf(n,a,e,t||r),"get"),getOwnPropertyDescriptor:s((n,a)=>(Nf(n,a,e,t||r),Object.getOwnPropertyDescriptor(n,a)),"getOwnPropertyDescriptor"),has:s((n,a)=>a in e,"has"),ownKeys:s(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}s(Sh,"_inject");var eg=Symbol();function Nf(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===eg)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}else if(t in r){let a=r[t];e[t]=eg;try{e[t]=typeof a=="function"?a(n):Sh(a,n)}catch(i){throw e[t]=i instanceof Error?i:void 0,i}return e[t]}else return}s(Nf,"_resolve");function Ma(e,t){if(t){for(let[r,n]of Object.entries(t))if(n!=null)if(typeof n=="object"){let a=e[r];typeof a=="object"&&a!==null?e[r]=Ma(a,n):e[r]=Ma({},n)}else e[r]=n}return e}s(Ma,"_merge");var kf={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},gn;(function(e){e.REGULAR="indentation-sensitive",e.IGNORE_INDENTATION="ignore-indentation"})(gn||(gn={}));var pS=class extends mu{static{s(this,"IndentationAwareTokenBuilder")}constructor(e=kf){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...kf,...e},this.indentTokenType=Ea({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Ea({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r=super.buildTokens(e,t);if(!$u(r))throw new Error("Invalid tokens built by default builder");let{indentTokenName:n,dedentTokenName:a,whitespaceTokenName:i,ignoreIndentationDelimiters:o}=this.options,l,u,c,f=[];for(let d of r){for(let[h,y]of o)d.name===h?d.PUSH_MODE=gn.IGNORE_INDENTATION:d.name===y&&(d.POP_MODE=!0);d.name===a?l=d:d.name===n?u=d:d.name===i?c=d:f.push(d)}if(!l||!u||!c)throw new Error("Some indentation/whitespace tokens not found!");return o.length>0?{modes:{[gn.REGULAR]:[l,u,...f,c],[gn.IGNORE_INDENTATION]:[...f,c]},defaultMode:gn.REGULAR}:[l,u,c,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return t===0||`\r
`.includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,t,r,n){let a=this.getLineNumber(t,n);return Ps(e,r,n,n+r.length,a,a,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:i,match:o}=this.matchWhitespace(e,t,r,n);return a<=i?null:(this.indentationStack.push(a),o)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:i,match:o}=this.matchWhitespace(e,t,r,n);if(a>=i)return null;let l=this.indentationStack.lastIndexOf(a);if(l===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:o?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let u=this.indentationStack.length-l-1,c=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<u;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(c-1));r.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:a}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===a?Ea({name:a,pattern:this.whitespaceRegExp,group:Je.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},O1=class extends yh{static{s(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof pS)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=gh){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:a,dedentTokenType:i}=this.indentationTokenBuilder,o=a.tokenTypeIdx,l=i.tokenTypeIdx,u=[],c=r.tokens.length-1;for(let f=0;f<c;f++){let d=r.tokens[f],h=r.tokens[f+1];if(d.tokenTypeIdx===o&&h.tokenTypeIdx===l){f++;continue}u.push(d)}return c>=0&&u.push(r.tokens[c]),r.tokens=u,r}},wh={};Mr(wh,{AstUtils:()=>Yf,BiMap:()=>ul,Cancellation:()=>de,ContextCache:()=>Tu,CstUtils:()=>Wf,DONE_RESULT:()=>He,Deferred:()=>vr,Disposable:()=>vn,DisposableCache:()=>vu,DocumentCache:()=>Mb,EMPTY_STREAM:()=>Ca,ErrorWithLocation:()=>Cl,GrammarUtils:()=>Cd,MultiMap:()=>Tr,OperationCancelled:()=>Wt,Reduction:()=>Qi,RegExpUtils:()=>Sd,SimpleCache:()=>fh,StreamImpl:()=>qt,TreeStreamImpl:()=>ba,URI:()=>ft,UriTrie:()=>uh,UriUtils:()=>Xe,WorkspaceCache:()=>dh,assertCondition:()=>bd,assertUnreachable:()=>xr,delayNextTick:()=>gu,interruptAndCheck:()=>Ge,isOperationCancelled:()=>Bn,loadGrammarFromJson:()=>yt,setInterruptionPeriod:()=>sh,startCancelableOperation:()=>yu,stream:()=>se});hl(wh,Ru);var hS=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[]}},mS={fileSystemProvider:s(()=>new hS,"fileSystemProvider")},L1={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},D1={AstReflection:s(()=>new gd,"AstReflection")};function gS(){let e=pl(Ch(mS),D1),t=pl(_h({shared:e}),L1);return e.ServiceRegistry.register(t),t}s(gS,"createMinimalGrammarServices");function yt(e){let t=gS(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,ft.parse(`memory:/${r.name??"grammar"}.langium`)),r}s(yt,"loadGrammarFromJson");hl(_g,wh);var M1=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 Tr}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(t=>this.activeCategories.add(t)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(t=>this.activeCategories.delete(t)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new yS(r=>this.records.add(e,this.dumpRecord(e,r)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let i of t.entries.keys()){let o=t.entries.get(i),l=o.reduce((u,c)=>u+c);r.push({name:`${t.identifier}.${i}`,count:o.length,duration:l})}let n=t.duration-r.map(i=>i.duration).reduce((i,o)=>i+o,0);r.push({name:t.identifier,count:1,duration:n}),r.sort((i,o)=>o.duration-i.duration);function a(i){return Math.round(100*i)/100}return s(a,"Round"),console.table(r.map(i=>({Element:i.name,Count:i.count,"Self %":a(100*i.duration/t.duration),"Time (ms)":a(i.duration)}))),t}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(t=>e.some(r=>r===t[0])).flatMap(t=>t[1])}},yS=class{static{s(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new Tr,this.addRecord=e,this.identifier=t}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(t=>t.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 t=this.stack.pop();if(!t)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw new Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}},Pf;(e=>{e.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 ]+)\]/}})(Pf||(Pf={}));var Of;(e=>{e.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/}})(Of||(Of={}));var Lf;(e=>{e.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])?/}})(Lf||(Lf={}));var Df;(e=>{e.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]*/}})(Df||(Df={}));var Mf;(e=>{e.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]*/}})(Mf||(Mf={}));var xf;(e=>{e.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]*/}})(xf||(xf={}));var Ff;(e=>{e.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]*/}})(Ff||(Ff={}));var Gf;(e=>{e.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:/"[^"]*"|'[^']*'/}})(Gf||(Gf={}));var jf;(e=>{e.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:/"[^"]*"|'[^']*'/}})(jf||(jf={}));var Uf;(e=>{e.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]*/}})(Uf||(Uf={}));var _F={...Pf.Terminals,...Of.Terminals,...Lf.Terminals,...Df.Terminals,...Mf.Terminals,...xf.Terminals,...Ff.Terminals,...jf.Terminals,...Gf.Terminals,...Uf.Terminals},Bs={$type:"Accelerator",name:"name",x:"x",y:"y"},Ks={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},vi={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Lu={$type:"Annotations",x:"x",y:"y"},ir={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function x1(e){return vt.isInstance(e,ir.$type)}s(x1,"isArchitecture");var qs={$type:"Axis",label:"label",name:"name"},Eo={$type:"Branch",name:"name",order:"order"};function F1(e){return vt.isInstance(e,Eo.$type)}s(F1,"isBranch");var tg={$type:"Checkout",branch:"branch"},Ws={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Du={$type:"ClassDefStatement",className:"className",styleText:"styleText"},la={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function G1(e){return vt.isInstance(e,la.$type)}s(G1,"isCommit");var Vs={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"},zr={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},Hs={$type:"Curve",entries:"entries",label:"label",name:"name"},Ys={$type:"Deaccelerator",name:"name",x:"x",y:"y"},rg={$type:"Decorator",strategy:"strategy"},Zn={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},jt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Qn={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"},Br={$type:"EmFrame"},Ti={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"},ng={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"},Mu={$type:"EmModelEntity",name:"name"};function j1(e){return e==="rmo"||e==="readmodel"||e==="ui"||e==="cmd"||e==="command"||e==="evt"||e==="event"||e==="pcr"||e==="processor"}s(j1,"isEmModelEntityType");var Xs={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"},sr={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function U1(e){return vt.isInstance(e,sr.$type)}s(U1,"isEmResetFrame");var Cr={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"},xu={$type:"Entry",axis:"axis",value:"value"},rr={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"},ag={$type:"Evolution",stages:"stages"},Js={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},Fu={$type:"Evolve",component:"component",target:"target"},Zr={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function z1(e){return vt.isInstance(e,Zr.$type)}s(z1,"isGitGraph");var Ri={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Mi={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function B1(e){return vt.isInstance(e,Mi.$type)}s(B1,"isInfo");var $i={$type:"Item",classSelector:"classSelector",name:"name"},Gu={$type:"Junction",id:"id",in:"in"},Ai={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},Zs={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Kr={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},ua={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function K1(e){return vt.isInstance(e,ua.$type)}s(K1,"isMerge");var Qs={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},ju={$type:"Option",name:"name",value:"value"},ca={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function q1(e){return vt.isInstance(e,ca.$type)}s(q1,"isPacket");var fa={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function W1(e){return vt.isInstance(e,fa.$type)}s(W1,"isPacketBlock");var Qr={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function V1(e){return vt.isInstance(e,Qr.$type)}s(V1,"isPie");var _o={$type:"PieSection",label:"label",value:"value"};function H1(e){return vt.isInstance(e,_o.$type)}s(H1,"isPieSection");var Uu={$type:"Pipeline",components:"components",parent:"parent"},eo={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},qr={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},zu={$type:"Section",classSelector:"classSelector",name:"name"},ea={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Bu={$type:"Size",height:"height",width:"width"},ta={$type:"Statement"},da={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function Y1(e){return vt.isInstance(e,da.$type)}s(Y1,"isTreemap");var Ku={$type:"TreemapRow",indent:"indent",item:"item"},qu={$type:"TreeNode",indent:"indent",name:"name"},Ei={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Be={$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 X1(e){return vt.isInstance(e,Be.$type)}s(X1,"isWardley");var vS=class extends Hf{constructor(){super(...arguments),this.types={Accelerator:{name:Bs.$type,properties:{name:{name:Bs.name},x:{name:Bs.x},y:{name:Bs.y}},superTypes:[]},Anchor:{name:Ks.$type,properties:{evolution:{name:Ks.evolution},name:{name:Ks.name},visibility:{name:Ks.visibility}},superTypes:[]},Annotation:{name:vi.$type,properties:{number:{name:vi.number},text:{name:vi.text},x:{name:vi.x},y:{name:vi.y}},superTypes:[]},Annotations:{name:Lu.$type,properties:{x:{name:Lu.x},y:{name:Lu.y}},superTypes:[]},Architecture:{name:ir.$type,properties:{accDescr:{name:ir.accDescr},accTitle:{name:ir.accTitle},edges:{name:ir.edges,defaultValue:[]},groups:{name:ir.groups,defaultValue:[]},junctions:{name:ir.junctions,defaultValue:[]},services:{name:ir.services,defaultValue:[]},title:{name:ir.title}},superTypes:[]},Axis:{name:qs.$type,properties:{label:{name:qs.label},name:{name:qs.name}},superTypes:[]},Branch:{name:Eo.$type,properties:{name:{name:Eo.name},order:{name:Eo.order}},superTypes:[ta.$type]},Checkout:{name:tg.$type,properties:{branch:{name:tg.branch}},superTypes:[ta.$type]},CherryPicking:{name:Ws.$type,properties:{id:{name:Ws.id},parent:{name:Ws.parent},tags:{name:Ws.tags,defaultValue:[]}},superTypes:[ta.$type]},ClassDefStatement:{name:Du.$type,properties:{className:{name:Du.className},styleText:{name:Du.styleText}},superTypes:[]},Commit:{name:la.$type,properties:{id:{name:la.id},message:{name:la.message},tags:{name:la.tags,defaultValue:[]},type:{name:la.type}},superTypes:[ta.$type]},Common:{name:Vs.$type,properties:{accDescr:{name:Vs.accDescr},accTitle:{name:Vs.accTitle},title:{name:Vs.title}},superTypes:[]},Component:{name:zr.$type,properties:{decorator:{name:zr.decorator},evolution:{name:zr.evolution},inertia:{name:zr.inertia,defaultValue:!1},label:{name:zr.label},name:{name:zr.name},visibility:{name:zr.visibility}},superTypes:[]},Curve:{name:Hs.$type,properties:{entries:{name:Hs.entries,defaultValue:[]},label:{name:Hs.label},name:{name:Hs.name}},superTypes:[]},Deaccelerator:{name:Ys.$type,properties:{name:{name:Ys.name},x:{name:Ys.x},y:{name:Ys.y}},superTypes:[]},Decorator:{name:rg.$type,properties:{strategy:{name:rg.strategy}},superTypes:[]},Direction:{name:Zn.$type,properties:{accDescr:{name:Zn.accDescr},accTitle:{name:Zn.accTitle},dir:{name:Zn.dir},statements:{name:Zn.statements,defaultValue:[]},title:{name:Zn.title}},superTypes:[Zr.$type]},Edge:{name:jt.$type,properties:{lhsDir:{name:jt.lhsDir},lhsGroup:{name:jt.lhsGroup,defaultValue:!1},lhsId:{name:jt.lhsId},lhsInto:{name:jt.lhsInto,defaultValue:!1},rhsDir:{name:jt.rhsDir},rhsGroup:{name:jt.rhsGroup,defaultValue:!1},rhsId:{name:jt.rhsId},rhsInto:{name:jt.rhsInto,defaultValue:!1},title:{name:jt.title}},superTypes:[]},EmDataEntity:{name:Qn.$type,properties:{dataBlockValue:{name:Qn.dataBlockValue},dataType:{name:Qn.dataType},name:{name:Qn.name}},superTypes:[]},EmFrame:{name:Br.$type,properties:{},superTypes:[]},EmGwt:{name:Ti.$type,properties:{givenStatements:{name:Ti.givenStatements,defaultValue:[]},sourceFrame:{name:Ti.sourceFrame,referenceType:Br.$type},thenStatements:{name:Ti.thenStatements,defaultValue:[]},whenStatements:{name:Ti.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:ng.$type,properties:{entityIdentifier:{name:ng.entityIdentifier,referenceType:Mu.$type}},superTypes:[]},EmModelEntity:{name:Mu.$type,properties:{name:{name:Mu.name}},superTypes:[]},EmNoteEntity:{name:Xs.$type,properties:{dataBlockValue:{name:Xs.dataBlockValue},dataType:{name:Xs.dataType},sourceFrame:{name:Xs.sourceFrame,referenceType:Br.$type}},superTypes:[]},EmResetFrame:{name:sr.$type,properties:{dataInlineValue:{name:sr.dataInlineValue},dataReference:{name:sr.dataReference,referenceType:Qn.$type},dataType:{name:sr.dataType},entityIdentifier:{name:sr.entityIdentifier},modelEntityType:{name:sr.modelEntityType},name:{name:sr.name},sourceFrames:{name:sr.sourceFrames,defaultValue:[],referenceType:Br.$type}},superTypes:[Br.$type]},EmTimeFrame:{name:Cr.$type,properties:{dataInlineValue:{name:Cr.dataInlineValue},dataReference:{name:Cr.dataReference,referenceType:Qn.$type},dataType:{name:Cr.dataType},entityIdentifier:{name:Cr.entityIdentifier},modelEntityType:{name:Cr.modelEntityType},name:{name:Cr.name},sourceFrames:{name:Cr.sourceFrames,defaultValue:[],referenceType:Br.$type}},superTypes:[Br.$type]},Entry:{name:xu.$type,properties:{axis:{name:xu.axis,referenceType:qs.$type},value:{name:xu.value}},superTypes:[]},EventModel:{name:rr.$type,properties:{accDescr:{name:rr.accDescr},accTitle:{name:rr.accTitle},dataEntities:{name:rr.dataEntities,defaultValue:[]},frames:{name:rr.frames,defaultValue:[]},gwtEntities:{name:rr.gwtEntities,defaultValue:[]},modelEntities:{name:rr.modelEntities,defaultValue:[]},noteEntities:{name:rr.noteEntities,defaultValue:[]},title:{name:rr.title}},superTypes:[]},Evolution:{name:ag.$type,properties:{stages:{name:ag.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:Js.$type,properties:{boundary:{name:Js.boundary},name:{name:Js.name},secondName:{name:Js.secondName}},superTypes:[]},Evolve:{name:Fu.$type,properties:{component:{name:Fu.component},target:{name:Fu.target}},superTypes:[]},GitGraph:{name:Zr.$type,properties:{accDescr:{name:Zr.accDescr},accTitle:{name:Zr.accTitle},statements:{name:Zr.statements,defaultValue:[]},title:{name:Zr.title}},superTypes:[]},Group:{name:Ri.$type,properties:{icon:{name:Ri.icon},id:{name:Ri.id},in:{name:Ri.in},title:{name:Ri.title}},superTypes:[]},Info:{name:Mi.$type,properties:{accDescr:{name:Mi.accDescr},accTitle:{name:Mi.accTitle},title:{name:Mi.title}},superTypes:[]},Item:{name:$i.$type,properties:{classSelector:{name:$i.classSelector},name:{name:$i.name}},superTypes:[]},Junction:{name:Gu.$type,properties:{id:{name:Gu.id},in:{name:Gu.in}},superTypes:[]},Label:{name:Ai.$type,properties:{negX:{name:Ai.negX,defaultValue:!1},negY:{name:Ai.negY,defaultValue:!1},offsetX:{name:Ai.offsetX},offsetY:{name:Ai.offsetY}},superTypes:[]},Leaf:{name:Zs.$type,properties:{classSelector:{name:Zs.classSelector},name:{name:Zs.name},value:{name:Zs.value}},superTypes:[$i.$type]},Link:{name:Kr.$type,properties:{arrow:{name:Kr.arrow},from:{name:Kr.from},fromPort:{name:Kr.fromPort},linkLabel:{name:Kr.linkLabel},to:{name:Kr.to},toPort:{name:Kr.toPort}},superTypes:[]},Merge:{name:ua.$type,properties:{branch:{name:ua.branch},id:{name:ua.id},tags:{name:ua.tags,defaultValue:[]},type:{name:ua.type}},superTypes:[ta.$type]},Note:{name:Qs.$type,properties:{evolution:{name:Qs.evolution},text:{name:Qs.text},visibility:{name:Qs.visibility}},superTypes:[]},Option:{name:ju.$type,properties:{name:{name:ju.name},value:{name:ju.value,defaultValue:!1}},superTypes:[]},Packet:{name:ca.$type,properties:{accDescr:{name:ca.accDescr},accTitle:{name:ca.accTitle},blocks:{name:ca.blocks,defaultValue:[]},title:{name:ca.title}},superTypes:[]},PacketBlock:{name:fa.$type,properties:{bits:{name:fa.bits},end:{name:fa.end},label:{name:fa.label},start:{name:fa.start}},superTypes:[]},Pie:{name:Qr.$type,properties:{accDescr:{name:Qr.accDescr},accTitle:{name:Qr.accTitle},sections:{name:Qr.sections,defaultValue:[]},showData:{name:Qr.showData,defaultValue:!1},title:{name:Qr.title}},superTypes:[]},PieSection:{name:_o.$type,properties:{label:{name:_o.label},value:{name:_o.value}},superTypes:[]},Pipeline:{name:Uu.$type,properties:{components:{name:Uu.components,defaultValue:[]},parent:{name:Uu.parent}},superTypes:[]},PipelineComponent:{name:eo.$type,properties:{evolution:{name:eo.evolution},label:{name:eo.label},name:{name:eo.name}},superTypes:[]},Radar:{name:qr.$type,properties:{accDescr:{name:qr.accDescr},accTitle:{name:qr.accTitle},axes:{name:qr.axes,defaultValue:[]},curves:{name:qr.curves,defaultValue:[]},options:{name:qr.options,defaultValue:[]},title:{name:qr.title}},superTypes:[]},Section:{name:zu.$type,properties:{classSelector:{name:zu.classSelector},name:{name:zu.name}},superTypes:[$i.$type]},Service:{name:ea.$type,properties:{icon:{name:ea.icon},iconText:{name:ea.iconText},id:{name:ea.id},in:{name:ea.in},title:{name:ea.title}},superTypes:[]},Size:{name:Bu.$type,properties:{height:{name:Bu.height},width:{name:Bu.width}},superTypes:[]},Statement:{name:ta.$type,properties:{},superTypes:[]},TreeNode:{name:qu.$type,properties:{indent:{name:qu.indent},name:{name:qu.name}},superTypes:[]},TreeView:{name:Ei.$type,properties:{accDescr:{name:Ei.accDescr},accTitle:{name:Ei.accTitle},nodes:{name:Ei.nodes,defaultValue:[]},title:{name:Ei.title}},superTypes:[]},Treemap:{name:da.$type,properties:{accDescr:{name:da.accDescr},accTitle:{name:da.accTitle},title:{name:da.title},TreemapRows:{name:da.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:Ku.$type,properties:{indent:{name:Ku.indent},item:{name:Ku.item}},superTypes:[]},Wardley:{name:Be.$type,properties:{accDescr:{name:Be.accDescr},accelerators:{name:Be.accelerators,defaultValue:[]},accTitle:{name:Be.accTitle},anchors:{name:Be.anchors,defaultValue:[]},annotation:{name:Be.annotation,defaultValue:[]},annotations:{name:Be.annotations,defaultValue:[]},components:{name:Be.components,defaultValue:[]},deaccelerators:{name:Be.deaccelerators,defaultValue:[]},evolution:{name:Be.evolution},evolves:{name:Be.evolves,defaultValue:[]},links:{name:Be.links,defaultValue:[]},notes:{name:Be.notes,defaultValue:[]},pipelines:{name:Be.pipelines,defaultValue:[]},size:{name:Be.size},title:{name:Be.title}},superTypes:[]}}}static{s(this,"MermaidAstReflection")}},vt=new vS,ig,J1=s(()=>ig??(ig=yt(`{"$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"),sg,Z1=s(()=>sg??(sg=yt('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),og,Q1=s(()=>og??(og=yt(`{"$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"),lg,eF=s(()=>lg??(lg=yt(`{"$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"),ug,tF=s(()=>ug??(ug=yt(`{"$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"),cg,rF=s(()=>cg??(cg=yt(`{"$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"),fg,nF=s(()=>fg??(fg=yt(`{"$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"),dg,aF=s(()=>dg??(dg=yt(`{"$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"),pg,iF=s(()=>pg??(pg=yt(`{"$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"),hg,sF=s(()=>hg??(hg=yt(`{"$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"),oF={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},lF={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},uF={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},cF={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},fF={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},dF={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pF={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hF={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mF={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gF={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CF={AstReflection:s(()=>new vS,"AstReflection")},bF={Grammar:s(()=>J1(),"Grammar"),LanguageMetaData:s(()=>oF,"LanguageMetaData"),parser:{}},SF={Grammar:s(()=>Z1(),"Grammar"),LanguageMetaData:s(()=>lF,"LanguageMetaData"),parser:{}},wF={Grammar:s(()=>Q1(),"Grammar"),LanguageMetaData:s(()=>uF,"LanguageMetaData"),parser:{}},IF={Grammar:s(()=>eF(),"Grammar"),LanguageMetaData:s(()=>cF,"LanguageMetaData"),parser:{}},NF={Grammar:s(()=>tF(),"Grammar"),LanguageMetaData:s(()=>fF,"LanguageMetaData"),parser:{}},kF={Grammar:s(()=>rF(),"Grammar"),LanguageMetaData:s(()=>dF,"LanguageMetaData"),parser:{}},PF={Grammar:s(()=>nF(),"Grammar"),LanguageMetaData:s(()=>pF,"LanguageMetaData"),parser:{}},OF={Grammar:s(()=>aF(),"Grammar"),LanguageMetaData:s(()=>hF,"LanguageMetaData"),parser:{}},LF={Grammar:s(()=>iF(),"Grammar"),LanguageMetaData:s(()=>mF,"LanguageMetaData"),parser:{}},DF={Grammar:s(()=>sF(),"Grammar"),LanguageMetaData:s(()=>gF,"LanguageMetaData"),parser:{}},yF=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,vF=/accTitle[\t ]*:([^\n\r]*)/,TF=/title([\t ][^\n\r]*|)/,RF={ACC_DESCR:yF,ACC_TITLE:vF,TITLE:TF},$F=class extends ih{static{s(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return n===void 0&&(n=this.runCustomConverter(e,t,r)),n===void 0?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=RF[e.name];if(n===void 0)return;let a=n.exec(t);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
`)}}},MF=class extends $F{static{s(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},AF=class extends mu{static{s(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},xF=class extends AF{static{s(this,"CommonTokenBuilder")}};export{s as a,_h as b,Ch as c,pl as d,mS as e,U1 as f,CF as g,bF as h,SF as i,wF as j,IF as k,NF as l,kF as m,PF as n,OF as o,LF as p,DF as q,$F as r,MF as s,AF as t};
/*! Bundled license information:

@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-NNHCCRGN.mjs:
  (*! Bundled license information:
  
  lodash-es/lodash.js:
    (**
     * @license
     * Lodash (Custom Build) <https://lodash.com/>
     * Build: `lodash modularize exports="es" -o ./`
     * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
     * Released under MIT license <https://lodash.com/license>
     * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
     * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
     *)
  *)
*/