import{a8 as Nt}from"./app-DxarFyj7.js";import{m as s,T as Le,b6 as F,Y as Md,n as sn,x as Xy,b5 as on,bF as bo,q as mh,aM as Oo}from"./mermaid.esm.min-DdZd6KOl.js";import{o as ke,_ as re,Z as N,k as Za,J as C,p as J,R as ue,D as ga,q as Fe,f as w,A as ms,Q as be,X as Q,r as Po,u as $e,z as Ee,s as it,N as Ru,U as Me,v as Ue,e as xe,y as Jy,w as Qy,x as _o,V as Zy,M as te,B as fe,C as at,E as es,K as ya,F as Au,G as gh,H as Fd}from"./chunk-OMTJKCYW-Dj_8N2cP.js";var yh=Oo(n=>{Object.defineProperty(n,"__esModule",{value:!0});var e;function t(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}s(t,"RAL"),(function(r){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}s(i,"install"),r.install=i})(t||(t={})),n.default=t}),eT=Oo(n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.stringArray=n.array=n.func=n.error=n.number=n.string=n.boolean=void 0;function e(u){return u===!0||u===!1}s(e,"boolean"),n.boolean=e;function t(u){return typeof u=="string"||u instanceof String}s(t,"string"),n.string=t;function r(u){return typeof u=="number"||u instanceof Number}s(r,"number"),n.number=r;function i(u){return u instanceof Error}s(i,"error"),n.error=i;function a(u){return typeof u=="function"}s(a,"func"),n.func=a;function o(u){return Array.isArray(u)}s(o,"array"),n.array=o;function l(u){return o(u)&&u.every(c=>t(c))}s(l,"stringArray"),n.stringArray=l}),Th=Oo(n=>{var a,o;Object.defineProperty(n,"__esModule",{value:!0}),n.Emitter=n.Event=void 0;var e=yh(),t;(function(l){let u={dispose(){}};l.None=function(){return u}})(t||(n.Event=t={}));var r=(a=class{add(u,c=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(u),this._contexts.push(c),Array.isArray(d)&&d.push({dispose:s(()=>this.remove(u,c),"dispose")})}remove(u,c=null){if(!this._callbacks)return;let d=!1;for(let f=0,h=this._callbacks.length;f{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(u,c);let f={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(u,c),f.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(f),f}),this._event}fire(u){this._callbacks&&this._callbacks.invoke.call(this._callbacks,u)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},s(o,"Emitter"),o);n.Emitter=i,i._noop=function(){}}),tT=Oo(n=>{var u,c;Object.defineProperty(n,"__esModule",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0;var e=yh(),t=eT(),r=Th(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function f(h){let p=h;return p&&(p===d.None||p===d.Cancelled||t.boolean(p.isCancellationRequested)&&!!p.onCancellationRequested)}s(f,"is"),d.is=f})(i||(n.CancellationToken=i={}));var a=Object.freeze(function(d,f){let h=(0,e.default)().timer.setTimeout(d.bind(f),0);return{dispose(){h.dispose()}}}),o=(u=class{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?a:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s(u,"MutableToken"),u),l=(c=class{get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}},s(c,"CancellationTokenSource"),c);n.CancellationTokenSource=l}),vh={};sn(vh,{AbstractAstReflection:()=>$u,AbstractCstNode:()=>Xc,AbstractLangiumParser:()=>Qc,AbstractParserErrorMessageProvider:()=>wg,AbstractThreadedAsyncParser:()=>ev,AstUtils:()=>Zu,BiMap:()=>No,Cancellation:()=>G,CompositeCstNodeImpl:()=>ll,ContextCache:()=>pl,CstNodeBuilder:()=>Sg,CstUtils:()=>Eu,DEFAULT_TOKENIZE_OPTIONS:()=>gd,DONE_RESULT:()=>oe,DatatypeSymbol:()=>xo,DefaultAstNodeDescriptionProvider:()=>ry,DefaultAstNodeLocator:()=>ay,DefaultAsyncParser:()=>ky,DefaultCommentProvider:()=>Ey,DefaultConfigurationProvider:()=>sy,DefaultDocumentBuilder:()=>oy,DefaultDocumentValidator:()=>ny,DefaultHydrator:()=>xy,DefaultIndexManager:()=>ly,DefaultJsonSerializer:()=>Zg,DefaultLangiumDocumentFactory:()=>jg,DefaultLangiumDocuments:()=>Wg,DefaultLexer:()=>yd,DefaultLexerErrorMessageProvider:()=>cy,DefaultLinker:()=>Hg,DefaultNameProvider:()=>zg,DefaultReferenceDescriptionProvider:()=>iy,DefaultReferences:()=>Yg,DefaultScopeComputation:()=>qg,DefaultScopeProvider:()=>Qg,DefaultServiceRegistry:()=>ey,DefaultTokenBuilder:()=>cl,DefaultValueConverter:()=>sd,DefaultWorkspaceLock:()=>$y,DefaultWorkspaceManager:()=>uy,Deferred:()=>ft,Disposable:()=>Mt,DisposableCache:()=>hl,DocumentCache:()=>Jg,DocumentState:()=>U,DocumentValidator:()=>we,EMPTY_SCOPE:()=>XT,EMPTY_STREAM:()=>Mo,EmptyFileSystem:()=>mt,EmptyFileSystemProvider:()=>Iy,ErrorWithLocation:()=>Go,GrammarAST:()=>Sh,GrammarUtils:()=>Ou,IndentationAwareLexer:()=>nv,IndentationAwareTokenBuilder:()=>Sy,JSDocDocumentationProvider:()=>Ay,LangiumCompletionParser:()=>Lg,LangiumParser:()=>Ng,LangiumParserErrorMessageProvider:()=>Zc,LeafCstNodeImpl:()=>$o,LexingMode:()=>_t,MapScope:()=>Xg,Module:()=>yu,MultiMap:()=>$a,OperationCancelled:()=>kt,ParserWorker:()=>tv,Reduction:()=>ns,RegExpUtils:()=>nc,RootCstNodeImpl:()=>Jc,SimpleCache:()=>dd,StreamImpl:()=>He,StreamScope:()=>hu,TextDocument:()=>So,TreeStreamImpl:()=>Ta,URI:()=>ht,UriUtils:()=>Ye,ValidationCategory:()=>hs,ValidationRegistry:()=>ty,ValueConverter:()=>Ve,WorkspaceCache:()=>fd,assertUnreachable:()=>$t,createCompletionParser:()=>rd,createDefaultCoreModule:()=>Je,createDefaultSharedCoreModule:()=>Qe,createGrammarConfig:()=>Ac,createLangiumParser:()=>id,createParser:()=>ul,delayNextTick:()=>dl,diagnosticData:()=>Pt,eagerLoad:()=>$d,getDiagnosticRange:()=>pd,indentationBuilderDefaultOptions:()=>vu,inject:()=>Z,interruptAndCheck:()=>se,isAstNode:()=>q,isAstNodeDescription:()=>ku,isAstNodeWithComment:()=>hd,isCompositeCstNode:()=>st,isIMultiModeLexerDefinition:()=>yl,isJSDoc:()=>vd,isLeafCstNode:()=>ln,isLinkingError:()=>nr,isNamed:()=>cd,isOperationCancelled:()=>fn,isReference:()=>me,isRootCstNode:()=>Do,isTokenTypeArray:()=>gl,isTokenTypeDictionary:()=>wo,loadGrammarFromJson:()=>Ze,parseJSDoc:()=>Td,prepareLangiumParser:()=>ad,setInterruptionPeriod:()=>od,startCancelableOperation:()=>fl,stream:()=>Y,toDiagnosticData:()=>md,toDiagnosticSeverity:()=>Qa});var Eu={};sn(Eu,{DefaultNameRegexp:()=>Iu,RangeComparison:()=>je,compareRange:()=>Cu,findCommentNode:()=>Nu,findDeclarationNodeAtOffset:()=>Eh,findLeafNodeAtOffset:()=>Fo,findLeafNodeBeforeOffset:()=>wu,flattenCst:()=>Ah,getInteriorNodes:()=>xh,getNextNode:()=>kh,getPreviousNode:()=>bu,getStartlineNode:()=>$h,inRange:()=>Su,isChildNode:()=>xu,isCommentNode:()=>no,streamCst:()=>va,toDocumentSegment:()=>Ra,tokenToRange:()=>rs});function q(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}s(q,"isAstNode");function me(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}s(me,"isReference");function ku(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}s(ku,"isAstNodeDescription");function nr(n){return typeof n=="object"&&n!==null&&q(n.container)&&me(n.reference)&&typeof n.message=="string"}s(nr,"isLinkingError");var ir,$u=(ir=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return q(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 i=r[t];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,t);return r[t]=a,a}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let r=this.getAllTypes(),i=[];for(let a of r)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},s(ir,"AbstractAstReflection"),ir);function st(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}s(st,"isCompositeCstNode");function ln(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}s(ln,"isLeafCstNode");function Do(n){return st(n)&&typeof n.fullText=="string"}s(Do,"isRootCstNode");var pe,He=(pe=class{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e=[],t=this.iterator(),r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){let r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new pe(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return oe})}join(e=","){let t=this.iterator(),r="",i,a=!1;do i=t.next(),i.done||(a&&(r+=e),r+=Rh(i.value)),a=!0;while(!i.done);return r}indexOf(e,t=0){let r=this.iterator(),i=0,a=r.next();for(;!a.done;){if(i>=t&&a.value===e)return i;a=r.next(),i++}return-1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new pe(this.startFn,t=>{let{done:r,value:i}=this.nextFn(t);return r?oe:{done:!1,value:e(i)}})}filter(e){return new pe(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return oe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let r=this.iterator(),i=t,a=r.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let i=e.next();if(i.done)return r;let a=this.recursiveReduce(e,t,r);return a===void 0?i.value:t(a,i.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new pe(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let a=t.iterator.next();if(a.done)t.iterator=void 0;else return a}let{done:r,value:i}=this.nextFn(t.this);if(!r){let a=e(i);if(ts(a))t.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(t.iterator);return oe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new pe(()=>({this:t.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:i,value:a}=t.nextFn(r.this);if(!i)if(ts(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(r.iterator);return oe})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new pe(()=>{let t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?oe:this.nextFn(t.state)))}distinct(e){return new pe(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){let i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return oe})}exclude(e,t){let r=new Set;for(let i of e){let a=t?t(i):i;r.add(a)}return this.filter(i=>{let a=t?t(i):i;return!r.has(a)})}},s(pe,"StreamImpl"),pe);function Rh(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}s(Rh,"toString");function ts(n){return!!n&&typeof n[Symbol.iterator]=="function"}s(ts,"isIterable");var Mo=new He(()=>{},()=>oe),oe=Object.freeze({done:!0,value:void 0});function Y(...n){if(n.length===1){let e=n[0];if(e instanceof He)return e;if(ts(e))return new He(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new He(()=>({index:0}),t=>t.index1?new He(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return oe})}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}},s(ar,"TreeStreamImpl"),ar),ns;(function(n){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),n.sum=e;function t(a){return a.reduce((o,l)=>o*l,0)}s(t,"product"),n.product=t;function r(a){return a.reduce((o,l)=>Math.min(o,l))}s(r,"min"),n.min=r;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),n.max=i})(ns||(ns={}));function va(n){return new Ta(n,e=>st(e)?e.content:[],{includeRoot:!0})}s(va,"streamCst");function Ah(n){return va(n).filter(ln)}s(Ah,"flattenCst");function xu(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}s(xu,"isChildNode");function rs(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}s(rs,"tokenToRange");function Ra(n){if(!n)return;let{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}s(Ra,"toDocumentSegment");var je;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(je||(je={}));function Cu(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return je.After;let t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineje.After}s(Su,"inRange");var Iu=/^[\w\p{L}]$/u;function Eh(n,e,t=Iu){if(n){if(e>0){let r=e-n.offset,i=n.text.charAt(r);t.test(i)||e--}return Fo(n,e)}}s(Eh,"findDeclarationNodeAtOffset");function Nu(n,e){if(n){let t=bu(n,!0);if(t&&no(t,e))return t;if(Do(n)){let r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){let a=n.content[i];if(no(a,e))return a}}}}s(Nu,"findCommentNode");function no(n,e){return ln(n)&&e.includes(n.tokenType.name)}s(no,"isCommentNode");function Fo(n,e){if(ln(n))return n;if(st(n)){let t=Lu(n,e,!1);if(t)return Fo(t,e)}}s(Fo,"findLeafNodeAtOffset");function wu(n,e){if(ln(n))return n;if(st(n)){let t=Lu(n,e,!0);if(t)return wu(t,e)}}s(wu,"findLeafNodeBeforeOffset");function Lu(n,e,t){let r=0,i=n.content.length-1,a;for(;r<=i;){let o=Math.floor((r+i)/2),l=n.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=t?l:void 0,r=o+1):i=o-1}return a}s(Lu,"binarySearch");function bu(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n);for(;r>0;){r--;let i=t.content[r];if(e||!i.hidden)return i}n=t}}s(bu,"getPreviousNode");function kh(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n),i=t.content.length-1;for(;rpc,findNameAssignment:()=>Zo,findNodeForKeyword:()=>hc,findNodeForProperty:()=>Xo,findNodesForKeyword:()=>qh,findNodesForKeywordInternal:()=>Qo,findNodesForProperty:()=>fc,getActionAtElement:()=>gc,getActionType:()=>Tc,getAllReachableRules:()=>qo,getCrossReferenceTerminal:()=>cc,getEntryRule:()=>oc,getExplicitRuleType:()=>Sa,getHiddenRules:()=>lc,getRuleType:()=>vc,getRuleTypeName:()=>ep,getTypeName:()=>As,isArrayCardinality:()=>Jh,isArrayOperator:()=>Qh,isCommentTerminal:()=>dc,isDataType:()=>Zh,isDataTypeRule:()=>Rs,isOptionalCardinality:()=>Xh,terminalRegex:()=>Es});var sr,Go=(sr=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}},s(sr,"ErrorWithLocation"),sr);function $t(n){throw new Error("Error! The input value was not handled.")}s($t,"assertUnreachable");var Sh={};sn(Sh,{AbstractElement:()=>vn,AbstractRule:()=>yn,AbstractType:()=>Tn,Action:()=>Fn,Alternatives:()=>Gn,ArrayLiteral:()=>Rn,ArrayType:()=>An,Assignment:()=>Un,BooleanLiteral:()=>En,CharacterRange:()=>Bn,Condition:()=>ja,Conjunction:()=>kn,CrossReference:()=>Kn,Disjunction:()=>$n,EndOfFile:()=>Vn,Grammar:()=>xn,GrammarImport:()=>Ha,Group:()=>jn,InferredType:()=>Cn,Interface:()=>Sn,Keyword:()=>Wn,LangiumGrammarAstReflection:()=>Qu,LangiumGrammarTerminals:()=>nT,NamedArgument:()=>za,NegatedToken:()=>Hn,Negation:()=>In,NumberLiteral:()=>Nn,Parameter:()=>wn,ParameterReference:()=>Ln,ParserRule:()=>bn,ReferenceType:()=>On,RegexToken:()=>zn,ReturnType:()=>Ya,RuleCall:()=>Yn,SimpleType:()=>Pn,StringLiteral:()=>_n,TerminalAlternatives:()=>qn,TerminalGroup:()=>Xn,TerminalRule:()=>Lt,TerminalRuleCall:()=>Jn,Type:()=>Dn,TypeAttribute:()=>qa,TypeDefinition:()=>ro,UnionType:()=>Mn,UnorderedGroup:()=>Qn,UntilToken:()=>Zn,ValueLiteral:()=>Wa,Wildcard:()=>er,isAbstractElement:()=>Uo,isAbstractRule:()=>Ih,isAbstractType:()=>Nh,isAction:()=>vt,isAlternatives:()=>jo,isArrayLiteral:()=>Ph,isArrayType:()=>_u,isAssignment:()=>ot,isBooleanLiteral:()=>Du,isCharacterRange:()=>ju,isCondition:()=>wh,isConjunction:()=>Mu,isCrossReference:()=>ys,isDisjunction:()=>Fu,isEndOfFile:()=>Wu,isFeatureName:()=>Lh,isGrammar:()=>_h,isGrammarImport:()=>Dh,isGroup:()=>un,isInferredType:()=>Bo,isInterface:()=>Ko,isKeyword:()=>lt,isNamedArgument:()=>Mh,isNegatedToken:()=>Hu,isNegation:()=>Gu,isNumberLiteral:()=>Fh,isParameter:()=>Gh,isParameterReference:()=>Uu,isParserRule:()=>ge,isPrimitiveType:()=>Pu,isReferenceType:()=>Bu,isRegexToken:()=>zu,isReturnType:()=>Ku,isRuleCall:()=>ut,isSimpleType:()=>Vo,isStringLiteral:()=>Uh,isTerminalAlternatives:()=>Yu,isTerminalGroup:()=>qu,isTerminalRule:()=>qe,isTerminalRuleCall:()=>Wo,isType:()=>gs,isTypeAttribute:()=>Bh,isTypeDefinition:()=>bh,isUnionType:()=>Vu,isUnorderedGroup:()=>Ho,isUntilToken:()=>Xu,isValueLiteral:()=>Oh,isWildcard:()=>Ju,reflection:()=>b});var nT={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]*/},yn="AbstractRule";function Ih(n){return b.isInstance(n,yn)}s(Ih,"isAbstractRule");var Tn="AbstractType";function Nh(n){return b.isInstance(n,Tn)}s(Nh,"isAbstractType");var ja="Condition";function wh(n){return b.isInstance(n,ja)}s(wh,"isCondition");function Lh(n){return Pu(n)||n==="current"||n==="entry"||n==="extends"||n==="false"||n==="fragment"||n==="grammar"||n==="hidden"||n==="import"||n==="interface"||n==="returns"||n==="terminal"||n==="true"||n==="type"||n==="infer"||n==="infers"||n==="with"||typeof n=="string"&&/\^?[_a-zA-Z][\w_]*/.test(n)}s(Lh,"isFeatureName");function Pu(n){return n==="string"||n==="number"||n==="boolean"||n==="Date"||n==="bigint"}s(Pu,"isPrimitiveType");var ro="TypeDefinition";function bh(n){return b.isInstance(n,ro)}s(bh,"isTypeDefinition");var Wa="ValueLiteral";function Oh(n){return b.isInstance(n,Wa)}s(Oh,"isValueLiteral");var vn="AbstractElement";function Uo(n){return b.isInstance(n,vn)}s(Uo,"isAbstractElement");var Rn="ArrayLiteral";function Ph(n){return b.isInstance(n,Rn)}s(Ph,"isArrayLiteral");var An="ArrayType";function _u(n){return b.isInstance(n,An)}s(_u,"isArrayType");var En="BooleanLiteral";function Du(n){return b.isInstance(n,En)}s(Du,"isBooleanLiteral");var kn="Conjunction";function Mu(n){return b.isInstance(n,kn)}s(Mu,"isConjunction");var $n="Disjunction";function Fu(n){return b.isInstance(n,$n)}s(Fu,"isDisjunction");var xn="Grammar";function _h(n){return b.isInstance(n,xn)}s(_h,"isGrammar");var Ha="GrammarImport";function Dh(n){return b.isInstance(n,Ha)}s(Dh,"isGrammarImport");var Cn="InferredType";function Bo(n){return b.isInstance(n,Cn)}s(Bo,"isInferredType");var Sn="Interface";function Ko(n){return b.isInstance(n,Sn)}s(Ko,"isInterface");var za="NamedArgument";function Mh(n){return b.isInstance(n,za)}s(Mh,"isNamedArgument");var In="Negation";function Gu(n){return b.isInstance(n,In)}s(Gu,"isNegation");var Nn="NumberLiteral";function Fh(n){return b.isInstance(n,Nn)}s(Fh,"isNumberLiteral");var wn="Parameter";function Gh(n){return b.isInstance(n,wn)}s(Gh,"isParameter");var Ln="ParameterReference";function Uu(n){return b.isInstance(n,Ln)}s(Uu,"isParameterReference");var bn="ParserRule";function ge(n){return b.isInstance(n,bn)}s(ge,"isParserRule");var On="ReferenceType";function Bu(n){return b.isInstance(n,On)}s(Bu,"isReferenceType");var Ya="ReturnType";function Ku(n){return b.isInstance(n,Ya)}s(Ku,"isReturnType");var Pn="SimpleType";function Vo(n){return b.isInstance(n,Pn)}s(Vo,"isSimpleType");var _n="StringLiteral";function Uh(n){return b.isInstance(n,_n)}s(Uh,"isStringLiteral");var Lt="TerminalRule";function qe(n){return b.isInstance(n,Lt)}s(qe,"isTerminalRule");var Dn="Type";function gs(n){return b.isInstance(n,Dn)}s(gs,"isType");var qa="TypeAttribute";function Bh(n){return b.isInstance(n,qa)}s(Bh,"isTypeAttribute");var Mn="UnionType";function Vu(n){return b.isInstance(n,Mn)}s(Vu,"isUnionType");var Fn="Action";function vt(n){return b.isInstance(n,Fn)}s(vt,"isAction");var Gn="Alternatives";function jo(n){return b.isInstance(n,Gn)}s(jo,"isAlternatives");var Un="Assignment";function ot(n){return b.isInstance(n,Un)}s(ot,"isAssignment");var Bn="CharacterRange";function ju(n){return b.isInstance(n,Bn)}s(ju,"isCharacterRange");var Kn="CrossReference";function ys(n){return b.isInstance(n,Kn)}s(ys,"isCrossReference");var Vn="EndOfFile";function Wu(n){return b.isInstance(n,Vn)}s(Wu,"isEndOfFile");var jn="Group";function un(n){return b.isInstance(n,jn)}s(un,"isGroup");var Wn="Keyword";function lt(n){return b.isInstance(n,Wn)}s(lt,"isKeyword");var Hn="NegatedToken";function Hu(n){return b.isInstance(n,Hn)}s(Hu,"isNegatedToken");var zn="RegexToken";function zu(n){return b.isInstance(n,zn)}s(zu,"isRegexToken");var Yn="RuleCall";function ut(n){return b.isInstance(n,Yn)}s(ut,"isRuleCall");var qn="TerminalAlternatives";function Yu(n){return b.isInstance(n,qn)}s(Yu,"isTerminalAlternatives");var Xn="TerminalGroup";function qu(n){return b.isInstance(n,Xn)}s(qu,"isTerminalGroup");var Jn="TerminalRuleCall";function Wo(n){return b.isInstance(n,Jn)}s(Wo,"isTerminalRuleCall");var Qn="UnorderedGroup";function Ho(n){return b.isInstance(n,Qn)}s(Ho,"isUnorderedGroup");var Zn="UntilToken";function Xu(n){return b.isInstance(n,Zn)}s(Xu,"isUntilToken");var er="Wildcard";function Ju(n){return b.isInstance(n,er)}s(Ju,"isWildcard");var or,Qu=(or=class extends $u{getAllTypes(){return[vn,yn,Tn,Fn,Gn,Rn,An,Un,En,Bn,ja,kn,Kn,$n,Vn,xn,Ha,jn,Cn,Sn,Wn,za,Hn,In,Nn,wn,Ln,bn,On,zn,Ya,Yn,Pn,_n,qn,Xn,Lt,Jn,Dn,qa,ro,Mn,Qn,Zn,Wa,er]}computeIsSubtype(e,t){switch(e){case Fn:case Gn:case Un:case Bn:case Kn:case Vn:case jn:case Wn:case Hn:case zn:case Yn:case qn:case Xn:case Jn:case Qn:case Zn:case er:return this.isSubtype(vn,t);case Rn:case Nn:case _n:return this.isSubtype(Wa,t);case An:case On:case Pn:case Mn:return this.isSubtype(ro,t);case En:return this.isSubtype(ja,t)||this.isSubtype(Wa,t);case kn:case $n:case In:case Ln:return this.isSubtype(ja,t);case Cn:case Sn:case Dn:return this.isSubtype(Tn,t);case bn:return this.isSubtype(yn,t)||this.isSubtype(Tn,t);case Lt:return this.isSubtype(yn,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Tn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return yn;case"Grammar:usedGrammars":return xn;case"NamedArgument:parameter":case"ParameterReference:parameter":return wn;case"TerminalRuleCall:rule":return Lt;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case vn:return{name:vn,properties:[{name:"cardinality"},{name:"lookahead"}]};case Rn:return{name:Rn,properties:[{name:"elements",defaultValue:[]}]};case An:return{name:An,properties:[{name:"elementType"}]};case En:return{name:En,properties:[{name:"true",defaultValue:!1}]};case kn:return{name:kn,properties:[{name:"left"},{name:"right"}]};case $n:return{name:$n,properties:[{name:"left"},{name:"right"}]};case xn:return{name:xn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Ha:return{name:Ha,properties:[{name:"path"}]};case Cn:return{name:Cn,properties:[{name:"name"}]};case Sn:return{name:Sn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case za:return{name:za,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case In:return{name:In,properties:[{name:"value"}]};case Nn:return{name:Nn,properties:[{name:"value"}]};case wn:return{name:wn,properties:[{name:"name"}]};case Ln:return{name:Ln,properties:[{name:"parameter"}]};case bn:return{name:bn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case On:return{name:On,properties:[{name:"referenceType"}]};case Ya:return{name:Ya,properties:[{name:"name"}]};case Pn:return{name:Pn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case _n:return{name:_n,properties:[{name:"value"}]};case Lt:return{name:Lt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Dn:return{name:Dn,properties:[{name:"name"},{name:"type"}]};case qa:return{name:qa,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Mn:return{name:Mn,properties:[{name:"types",defaultValue:[]}]};case Fn:return{name:Fn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Gn:return{name:Gn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Un:return{name:Un,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Bn:return{name:Bn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Kn:return{name:Kn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Vn:return{name:Vn,properties:[{name:"cardinality"},{name:"lookahead"}]};case jn:return{name:jn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Wn:return{name:Wn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Hn:return{name:Hn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case zn:return{name:zn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Yn:return{name:Yn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case qn:return{name:qn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Xn:return{name:Xn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Jn:return{name:Jn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Qn:return{name:Qn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Zn:return{name:Zn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case er:return{name:er,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},s(or,"LangiumGrammarAstReflection"),or),b=new Qu,Zu={};sn(Zu,{assignMandatoryProperties:()=>ec,copyAstNode:()=>ao,findLocalReferences:()=>Vh,findRootNode:()=>is,getContainerOfType:()=>xa,getDocument:()=>Ge,hasContainerOfType:()=>Kh,linkContentToContainer:()=>zo,streamAllContents:()=>xt,streamAst:()=>rt,streamContents:()=>Ts,streamReferences:()=>vs});function zo(n){for(let[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{q(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):q(t)&&(t.$container=n,t.$containerProperty=e))}s(zo,"linkContentToContainer");function xa(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}s(xa,"getContainerOfType");function Kh(n,e){let t=n;for(;t;){if(e(t))return!0;t=t.$container}return!1}s(Kh,"hasContainerOfType");function Ge(n){let e=is(n).$document;if(!e)throw new Error("AST node has no document.");return e}s(Ge,"getDocument");function is(n){for(;n.$container;)n=n.$container;return n}s(is,"findRootNode");function Ts(n,e){if(!n)throw new Error("Node must be an AstNode.");let t=e?.range;return new He(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexTs(t,e))}s(xt,"streamAllContents");function rt(n,e){if(n){if(e?.range&&!io(n,e.range))return new Ta(n,()=>[])}else throw new Error("Root node must be an AstNode.");return new Ta(n,t=>Ts(t,e),{includeRoot:!0})}s(rt,"streamAst");function io(n,e){var t;if(!e)return!0;let r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?Su(r,e):!1}s(io,"isAstNodeInRange");function vs(n){return new He(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{vs(r).forEach(i=>{i.reference.ref===n&&t.push(i.reference)})}),Y(t)}s(Vh,"findLocalReferences");function ec(n,e){let t=n.getTypeMetaData(e.$type),r=e;for(let i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=tc(i.defaultValue))}s(ec,"assignMandatoryProperties");function tc(n){return Array.isArray(n)?[...n.map(tc)]:n}s(tc,"copyDefaultValue");function ao(n,e){let t={$type:n.$type};for(let[r,i]of Object.entries(n))if(!r.startsWith("$"))if(q(i))t[r]=ao(i,e);else if(me(i))t[r]=e(t,r,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let o of i)q(o)?a.push(ao(o,e)):me(o)?a.push(e(t,r,o.$refNode,o.$refText)):a.push(o);t[r]=a}else t[r]=i;return zo(t),t}s(ao,"copyAstNode");var nc={};sn(nc,{NEWLINE_REGEXP:()=>Wh,escapeRegExp:()=>Ca,getCaseInsensitivePattern:()=>ic,getTerminalParts:()=>zh,isMultilineComment:()=>rc,isWhitespace:()=>as,partialMatches:()=>ac,partialRegExp:()=>sc,whitespaceCharacters:()=>Yh});function L(n){return n.charCodeAt(0)}s(L,"cc");function Fs(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}s(Fs,"insertToSet");function mn(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}s(mn,"addFlag");function wt(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}s(wt,"ASSERT_EXISTS");function _a(){throw Error("Internal Error - Should never get here!")}s(_a,"ASSERT_NEVER_REACH_HERE");function Dl(n){return n.type==="Character"}s(Dl,"isCharacter");var so=[];for(let n=L("0");n<=L("9");n++)so.push(n);var oo=[L("_")].concat(so);for(let n=L("a");n<=L("z");n++)oo.push(n);for(let n=L("A");n<=L("Z");n++)oo.push(n);var Gd=[L(" "),L("\f"),L(` `),L("\r"),L(" "),L("\v"),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L(" "),L("\u2028"),L("\u2029"),L(" "),L(" "),L(" "),L("\uFEFF")],rT=/[0-9a-fA-F]/,Is=/[0-9]/,iT=/[1-9]/,lr,jh=(lr=class{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":mn(r,"global");break;case"i":mn(r,"ignoreCase");break;case"m":mn(r,"multiLine");break;case"u":mn(r,"unicode");break;case"y":mn(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}wt(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return _a()}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 i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:i,atMost:a}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;wt(t);break}if(!(e===!0&&t===void 0)&&wt(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()),wt(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):_a()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[L(` `),L("\r"),L("\u2028"),L("\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=so;break;case"D":e=so,t=!0;break;case"s":e=Gd;break;case"S":e=Gd,t=!0;break;case"w":e=oo;break;case"W":e=oo,t=!0;break}return wt(e)?{type:"Set",value:e,complement:t}:_a()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=L("\f");break;case"n":e=L(` `);break;case"r":e=L("\r");break;case"t":e=L(" ");break;case"v":e=L("\v");break}return wt(e)?{type:"Character",value:e}:_a()}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:L("\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:L(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:L(e)}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let r=this.classAtom();if(r.type,Dl(r)&&this.isRangeDash()){this.consumeChar("-");let i=this.classAtom();if(i.type,Dl(i)){if(i.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},s(lr,"RegExpParser"),lr),ur,Yo=(ur=class{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(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"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){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},s(ur,"BaseRegExpVisitor"),ur),Wh=/\r?\n/gm,Hh=new jh,cr,aT=(cr=class extends Yo{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=Ca(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)}},s(cr,"TerminalRegExpVisitor"),cr),bt=new aT;function zh(n){try{typeof n!="string"&&(n=n.source),n=`/${n}/`;let e=Hh.pattern(n),t=[];for(let r of e.value.value)bt.reset(n),bt.visit(r),t.push({start:bt.startRegexp,end:bt.endRegex});return t}catch{return[]}}s(zh,"getTerminalParts");function rc(n){try{return typeof n=="string"&&(n=new RegExp(n)),n=n.toString(),bt.reset(n),bt.visit(Hh.pattern(n)),bt.multiline}catch{return!1}}s(rc,"isMultilineComment");var Yh=`\f \r \v              \u2028\u2029   \uFEFF`.split("");function as(n){let e=typeof n=="string"?new RegExp(n):n;return Yh.some(t=>e.test(t))}s(as,"isWhitespace");function Ca(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}s(Ca,"escapeRegExp");function ic(n){return Array.prototype.map.call(n,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ca(e)).join("")}s(ic,"getCaseInsensitivePattern");function ac(n,e){let t=sc(n),r=e.match(t);return!!r&&r[0].length>0}s(ac,"partialMatches");function sc(n){typeof n=="string"&&(n=new RegExp(n));let e=n,t=n.source,r=0;function i(){let a="",o;function l(c){a+=t.substr(r,c),r+=c}s(l,"appendRaw");function u(c){a+="(?:"+t.substr(r,c)+"|$)",r+=c}for(s(u,"appendOptional");r",r)-r+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=r,o=o.exec(t)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=r,o=o.exec(t),o?l(o[0].length):u(1);break;case"(":if(t[r+1]==="?")switch(t[r+2]){case":":a+="(?:",r+=3,a+=i()+"|$)";break;case"=":a+="(?=",r+=3,a+=i()+")";break;case"!":o=r,r+=3,i(),a+=t.substr(o,r-o);break;case"<":switch(t[r+3]){case"=":case"!":o=r,r+=4,i(),a+=t.substr(o,r-o);break;default:l(t.indexOf(">",r)-r+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++r,a;default:u(1);break}return a}return s(i,"process"),new RegExp(i(),n.flags)}s(sc,"partialRegExp");function oc(n){return n.rules.find(e=>ge(e)&&e.entry)}s(oc,"getEntryRule");function lc(n){return n.rules.filter(e=>qe(e)&&e.hidden)}s(lc,"getHiddenRules");function qo(n,e){let t=new Set,r=oc(n);if(!r)return new Set(n.rules);let i=[r].concat(lc(n));for(let o of i)uc(o,t,e);let a=new Set;for(let o of n.rules)(t.has(o.name)||qe(o)&&o.hidden)&&a.add(o);return a}s(qo,"getAllReachableRules");function uc(n,e,t){e.add(n.name),xt(n).forEach(r=>{if(ut(r)||t&&Wo(r)){let i=r.rule.ref;i&&!e.has(i.name)&&uc(i,e,t)}})}s(uc,"ruleDfs");function cc(n){if(n.terminal)return n.terminal;if(n.type.ref)return Zo(n.type.ref)?.terminal}s(cc,"getCrossReferenceTerminal");function dc(n){return n.hidden&&!as(Es(n))}s(dc,"isCommentTerminal");function fc(n,e){return!n||!e?[]:Jo(n,e,n.astNode,!0)}s(fc,"findNodesForProperty");function Xo(n,e,t){if(!n||!e)return;let r=Jo(n,e,n.astNode,!0);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}s(Xo,"findNodeForProperty");function Jo(n,e,t,r){if(!r){let i=xa(n.grammarSource,ot);if(i&&i.feature===e)return[n]}return st(n)&&n.astNode===t?n.content.flatMap(i=>Jo(i,e,t,!1)):[]}s(Jo,"findNodesForPropertyInternal");function qh(n,e){return n?Qo(n,e,n?.astNode):[]}s(qh,"findNodesForKeyword");function hc(n,e,t){if(!n)return;let r=Qo(n,e,n?.astNode);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}s(hc,"findNodeForKeyword");function Qo(n,e,t){if(n.astNode!==t)return[];if(lt(n.grammarSource)&&n.grammarSource.value===e)return[n];let r=va(n).iterator(),i,a=[];do if(i=r.next(),!i.done){let o=i.value;o.astNode===t?lt(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):r.prune()}while(!i.done);return a}s(Qo,"findNodesForKeywordInternal");function pc(n){var e;let t=n.astNode;for(;t===((e=n.container)===null||e===void 0?void 0:e.astNode);){let r=xa(n.grammarSource,ot);if(r)return r;n=n.container}}s(pc,"findAssignment");function Zo(n){let e=n;return Bo(e)&&(vt(e.$container)?e=e.$container.$container:ge(e.$container)?e=e.$container:$t(e.$container)),mc(n,e,new Map)}s(Zo,"findNameAssignment");function mc(n,e,t){var r;function i(a,o){let l;return xa(a,ot)||(l=mc(o,o,t)),t.set(n,l),l}if(s(i,"go"),t.has(n))return t.get(n);t.set(n,void 0);for(let a of xt(e)){if(ot(a)&&a.feature.toLowerCase()==="name")return t.set(n,a),a;if(ut(a)&&ge(a.rule.ref))return i(a,a.rule.ref);if(Vo(a)&&!((r=a.typeRef)===null||r===void 0)&&r.ref)return i(a,a.typeRef.ref)}}s(mc,"findNameAssignmentInternal");function gc(n){let e=n.$container;if(un(e)){let t=e.elements,r=t.indexOf(n);for(let i=r-1;i>=0;i--){let a=t[i];if(vt(a))return a;{let o=xt(t[i]).find(vt);if(o)return o}}}if(Uo(e))return gc(e)}s(gc,"getActionAtElement");function Xh(n,e){return n==="?"||n==="*"||un(e)&&!!e.guardCondition}s(Xh,"isOptionalCardinality");function Jh(n){return n==="*"||n==="+"}s(Jh,"isArrayCardinality");function Qh(n){return n==="+="}s(Qh,"isArrayOperator");function Rs(n){return yc(n,new Set)}s(Rs,"isDataTypeRule");function yc(n,e){if(e.has(n))return!0;e.add(n);for(let t of xt(n))if(ut(t)){if(!t.rule.ref||ge(t.rule.ref)&&!yc(t.rule.ref,e))return!1}else if(ot(t)||vt(t))return!1;return!!n.definition}s(yc,"isDataTypeRuleInternal");function Zh(n){return lo(n.type,new Set)}s(Zh,"isDataType");function lo(n,e){if(e.has(n))return!0;if(e.add(n),_u(n)||Bu(n))return!1;if(Vu(n))return n.types.every(t=>lo(t,e));if(Vo(n)){if(n.primitiveType!==void 0||n.stringType!==void 0)return!0;if(n.typeRef!==void 0){let t=n.typeRef.ref;return gs(t)?lo(t.type,e):!1}else return!1}else return!1}s(lo,"isDataTypeInternal");function Sa(n){if(n.inferredType)return n.inferredType.name;if(n.dataType)return n.dataType;if(n.returnType){let e=n.returnType.ref;if(e&&(ge(e)||Ko(e)||gs(e)))return e.name}}s(Sa,"getExplicitRuleType");function As(n){var e;if(ge(n))return Rs(n)?n.name:(e=Sa(n))!==null&&e!==void 0?e:n.name;if(Ko(n)||gs(n)||Ku(n))return n.name;if(vt(n)){let t=Tc(n);if(t)return t}else if(Bo(n))return n.name;throw new Error("Cannot get name of Unknown Type")}s(As,"getTypeName");function Tc(n){var e;if(n.inferredType)return n.inferredType.name;if(!((e=n.type)===null||e===void 0)&&e.ref)return As(n.type.ref)}s(Tc,"getActionType");function ep(n){var e,t,r;return qe(n)?(t=(e=n.type)===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:"string":Rs(n)?n.name:(r=Sa(n))!==null&&r!==void 0?r:n.name}s(ep,"getRuleTypeName");function vc(n){var e,t,r;return qe(n)?(t=(e=n.type)===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:"string":(r=Sa(n))!==null&&r!==void 0?r:n.name}s(vc,"getRuleType");function Es(n){let e={s:!1,i:!1,u:!1},t=cn(n.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,r)}s(Es,"terminalRegex");var Rc=/[\s\S]/.source;function cn(n,e){if(Yu(n))return tp(n);if(qu(n))return np(n);if(ju(n))return ap(n);if(Wo(n)){let t=n.rule.ref;if(!t)throw new Error("Missing rule reference.");return ze(cn(t.definition),{cardinality:n.cardinality,lookahead:n.lookahead})}else{if(Hu(n))return ip(n);if(Xu(n))return rp(n);if(zu(n)){let t=n.regex.lastIndexOf("/"),r=n.regex.substring(1,t),i=n.regex.substring(t+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ze(r,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}else{if(Ju(n))return ze(Rc,{cardinality:n.cardinality,lookahead:n.lookahead});throw new Error(`Invalid terminal element: ${n?.$type}`)}}}s(cn,"abstractElementToRegex");function tp(n){return ze(n.elements.map(e=>cn(e)).join("|"),{cardinality:n.cardinality,lookahead:n.lookahead})}s(tp,"terminalAlternativesToRegex");function np(n){return ze(n.elements.map(e=>cn(e)).join(""),{cardinality:n.cardinality,lookahead:n.lookahead})}s(np,"terminalGroupToRegex");function rp(n){return ze(`${Rc}*?${cn(n.terminal)}`,{cardinality:n.cardinality,lookahead:n.lookahead})}s(rp,"untilTokenToRegex");function ip(n){return ze(`(?!${cn(n.terminal)})${Rc}*?`,{cardinality:n.cardinality,lookahead:n.lookahead})}s(ip,"negateTokenToRegex");function ap(n){return n.right?ze(`[${Gs(n.left)}-${Gs(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):ze(Gs(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}s(ap,"characterRangeToRegex");function Gs(n){return Ca(n.value)}s(Gs,"keywordToRegex");function ze(n,e){var t;return(e.wrap!==!1||e.lookahead)&&(n=`(${(t=e.lookahead)!==null&&t!==void 0?t:""}${n})`),e.cardinality?`${n}${e.cardinality}`:n}s(ze,"withCardinality");function Ac(n){let e=[],t=n.Grammar;for(let r of t.rules)qe(r)&&dc(r)&&rc(Es(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Iu}}s(Ac,"createGrammarConfig");function uo(n){console&&console.error&&console.error(`Error: ${n}`)}s(uo,"PRINT_ERROR");function Ec(n){console&&console.warn&&console.warn(`Warning: ${n}`)}s(Ec,"PRINT_WARNING");function kc(n){let e=new Date().getTime(),t=n();return{time:new Date().getTime()-e,value:t}}s(kc,"timer");function $c(n){function e(){}s(e,"FakeConstructor"),e.prototype=n;let t=new e;function r(){return typeof t.bar}return s(r,"fakeAccess"),r(),r(),n}s($c,"toFastProperties");function sp(n){return op(n)?n.LABEL:n.name}s(sp,"tokenLabel");function op(n){return $e(n.LABEL)&&n.LABEL!==""}s(op,"hasTokenLabel");var dr,Xe=(dr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),N(this.definition,t=>{t.accept(e)})}},s(dr,"AbstractProduction"),dr),fr,ce=(fr=class extends Xe{constructor(e){super([]),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},s(fr,"NonTerminal"),fr),hr,Ia=(hr=class extends Xe{constructor(e){super(e.definition),this.orgText="",ke(this,Ue(e,t=>t!==void 0))}},s(hr,"Rule"),hr),pr,ye=(pr=class extends Xe{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ke(this,Ue(e,t=>t!==void 0))}},s(pr,"Alternative"),pr),mr,ne=(mr=class extends Xe{constructor(e){super(e.definition),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}},s(mr,"Option"),mr),gr,Ce=(gr=class extends Xe{constructor(e){super(e.definition),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}},s(gr,"RepetitionMandatory"),gr),yr,Se=(yr=class extends Xe{constructor(e){super(e.definition),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}},s(yr,"RepetitionMandatoryWithSeparator"),yr),Tr,j=(Tr=class extends Xe{constructor(e){super(e.definition),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}},s(Tr,"Repetition"),Tr),vr,Te=(vr=class extends Xe{constructor(e){super(e.definition),this.idx=1,ke(this,Ue(e,t=>t!==void 0))}},s(vr,"RepetitionWithSeparator"),vr),Rr,ve=(Rr=class extends Xe{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,ke(this,Ue(e,t=>t!==void 0))}},s(Rr,"Alternation"),Rr),Ar,B=(Ar=class{constructor(e){this.idx=1,ke(this,Ue(e,t=>t!==void 0))}accept(e){e.visit(this)}},s(Ar,"Terminal"),Ar);function lp(n){return C(n,Xa)}s(lp,"serializeGrammar");function Xa(n){function e(t){return C(t,Xa)}if(s(e,"convertDefinition"),n instanceof ce){let t={type:"NonTerminal",name:n.nonTerminalName,idx:n.idx};return $e(n.label)&&(t.label=n.label),t}else{if(n instanceof ye)return{type:"Alternative",definition:e(n.definition)};if(n instanceof ne)return{type:"Option",idx:n.idx,definition:e(n.definition)};if(n instanceof Ce)return{type:"RepetitionMandatory",idx:n.idx,definition:e(n.definition)};if(n instanceof Se)return{type:"RepetitionMandatoryWithSeparator",idx:n.idx,separator:Xa(new B({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof Te)return{type:"RepetitionWithSeparator",idx:n.idx,separator:Xa(new B({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof j)return{type:"Repetition",idx:n.idx,definition:e(n.definition)};if(n instanceof ve)return{type:"Alternation",idx:n.idx,definition:e(n.definition)};if(n instanceof B){let t={type:"Terminal",name:n.terminalType.name,label:sp(n.terminalType),idx:n.idx};$e(n.label)&&(t.terminalLabel=n.label);let r=n.terminalType.PATTERN;return n.terminalType.PATTERN&&(t.pattern=at(r)?r.source:r),t}else{if(n instanceof Ia)return{type:"Rule",name:n.name,orgText:n.orgText,definition:e(n.definition)};throw Error("non exhaustive match")}}}s(Xa,"serializeProduction");var Er,Na=(Er=class{visit(e){let t=e;switch(t.constructor){case ce:return this.visitNonTerminal(t);case ye:return this.visitAlternative(t);case ne:return this.visitOption(t);case Ce:return this.visitRepetitionMandatory(t);case Se:return this.visitRepetitionMandatoryWithSeparator(t);case Te:return this.visitRepetitionWithSeparator(t);case j:return this.visitRepetition(t);case ve:return this.visitAlternation(t);case B:return this.visitTerminal(t);case Ia: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){}},s(Er,"GAstVisitor"),Er);function up(n){return n instanceof ye||n instanceof ne||n instanceof j||n instanceof Ce||n instanceof Se||n instanceof Te||n instanceof B||n instanceof Ia}s(up,"isSequenceProd");function ss(n,e=[]){return n instanceof ne||n instanceof j||n instanceof Te?!0:n instanceof ve?gh(n.definition,t=>ss(t,e)):n instanceof ce&&fe(e,n)?!1:n instanceof Xe?(n instanceof ce&&e.push(n),Me(n.definition,t=>ss(t,e))):!1}s(ss,"isOptionalProd");function cp(n){return n instanceof ve}s(cp,"isBranchingProd");function De(n){if(n instanceof ce)return"SUBRULE";if(n instanceof ne)return"OPTION";if(n instanceof ve)return"OR";if(n instanceof Ce)return"AT_LEAST_ONE";if(n instanceof Se)return"AT_LEAST_ONE_SEP";if(n instanceof Te)return"MANY_SEP";if(n instanceof j)return"MANY";if(n instanceof B)return"CONSUME";throw Error("non exhaustive match")}s(De,"getProductionDslName");var kr,el=(kr=class{walk(e,t=[]){N(e.definition,(r,i)=>{let a=te(e.definition,i+1);if(r instanceof ce)this.walkProdRef(r,a,t);else if(r instanceof B)this.walkTerminal(r,a,t);else if(r instanceof ye)this.walkFlat(r,a,t);else if(r instanceof ne)this.walkOption(r,a,t);else if(r instanceof Ce)this.walkAtLeastOne(r,a,t);else if(r instanceof Se)this.walkAtLeastOneSep(r,a,t);else if(r instanceof Te)this.walkManySep(r,a,t);else if(r instanceof j)this.walkMany(r,a,t);else if(r instanceof ve)this.walkOr(r,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let i=t.concat(r);this.walk(e,i)}walkOption(e,t,r){let i=t.concat(r);this.walk(e,i)}walkAtLeastOne(e,t,r){let i=[new ne({definition:e.definition})].concat(t,r);this.walk(e,i)}walkAtLeastOneSep(e,t,r){let i=Ml(e,t,r);this.walk(e,i)}walkMany(e,t,r){let i=[new ne({definition:e.definition})].concat(t,r);this.walk(e,i)}walkManySep(e,t,r){let i=Ml(e,t,r);this.walk(e,i)}walkOr(e,t,r){let i=t.concat(r);N(e.definition,a=>{let o=new ye({definition:[a]});this.walk(o,i)})}},s(kr,"RestWalker"),kr);function Ml(n,e,t){return[new ne({definition:[new B({terminalType:n.separator})].concat(n.definition)})].concat(e,t)}s(Ml,"restForRepetitionWithSeparator");function wa(n){if(n instanceof ce)return wa(n.referencedRule);if(n instanceof B)return hp(n);if(up(n))return dp(n);if(cp(n))return fp(n);throw Error("non exhaustive match")}s(wa,"first");function dp(n){let e=[],t=n.definition,r=0,i=t.length>r,a,o=!0;for(;i&&o;)a=t[r],o=ss(a),e=e.concat(wa(a)),r=r+1,i=t.length>r;return Au(e)}s(dp,"firstForSequence");function fp(n){let e=C(n.definition,t=>wa(t));return Au(be(e))}s(fp,"firstForBranching");function hp(n){return[n.terminalType]}s(hp,"firstForTerminal");var pp="_~IN~_",$r,sT=($r=class extends el{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 i=gp(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(r),o=new ye({definition:a}),l=wa(o);this.follows[i]=l}},s($r,"ResyncFollowsWalker"),$r);function mp(n){let e={};return N(n,t=>{let r=new sT(t).startWalking();ke(e,r)}),e}s(mp,"computeAllProdsFollows");function gp(n,e){return n.name+e+pp}s(gp,"buildBetweenProdsFollowPrefix");var Us={},oT=new jh;function ks(n){let e=n.toString();if(Us.hasOwnProperty(e))return Us[e];{let t=oT.pattern(e);return Us[e]=t,t}}s(ks,"getRegExpAst");function yp(){Us={}}s(yp,"clearRegExpParserCache");var Tp="Complement Sets are not supported for first char optimization",co=`Unable to use "first char" lexer optimizations: `;function vp(n,e=!1){try{let t=ks(n);return fo(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===Tp)e&&Ec(`${co} Unable to optimize: < ${n.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=` This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),uo(`${co} Failed parsing: < ${n.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}s(vp,"getOptimizedStartCodesIndices");function fo(n,e,t){switch(n.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")Da(u,e,t);else{let c=u;if(t===!0)for(let d=c.from;d<=c.to;d++)Da(d,e,t);else{for(let d=c.from;d<=c.to&&d=Fa){let d=c.from>=Fa?c.from:Fa,f=c.to,h=ct(d),p=ct(f);for(let g=h;g<=p;g++)e[g]=g}}}});break;case"Group":fo(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&ho(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Q(e)}s(fo,"firstCharOptimizedIndices");function Da(n,e,t){let r=ct(n);e[r]=r,t===!0&&Rp(n,e)}s(Da,"addOptimizedIdxToResult");function Rp(n,e){let t=String.fromCharCode(n),r=t.toUpperCase();if(r!==t){let i=ct(r.charCodeAt(0));e[i]=i}else{let i=t.toLowerCase();if(i!==t){let a=ct(i.charCodeAt(0));e[a]=a}}}s(Rp,"handleIgnoreCase");function Fl(n,e){return ya(n.value,t=>{if(typeof t=="number")return fe(e,t);{let r=t;return ya(e,i=>r.from<=i&&i<=r.to)!==void 0}})}s(Fl,"findCode");function ho(n){let e=n.quantifier;return e&&e.atLeast===0?!0:n.value?Le(n.value)?Me(n.value,ho):ho(n.value):!1}s(ho,"isWholeOptional");var xr,lT=(xr=class extends Yo{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}super.visitChildren(e)}}visitCharacter(e){fe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Fl(e,this.targetCharCodes)===void 0&&(this.found=!0):Fl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}},s(xr,"CharCodeFinder"),xr);function tl(n,e){if(e instanceof RegExp){let t=ks(e),r=new lT(n);return r.visit(t),r.found}else return ya(e,t=>fe(n,t.charCodeAt(0)))!==void 0}s(tl,"canMatchCharCode");var rn="PATTERN",Ma="defaultMode",Ns="modes",Ap=typeof new RegExp("(?:)").sticky=="boolean";function Ep(n,e){e=Ru(e,{useSticky:Ap,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `],tracer:s((E,v)=>v(),"tracer")});let t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{Kp()});let r;t("Reject Lexer.NA",()=>{r=Po(n,E=>E[rn]===le.NA)});let i=!1,a;t("Transform Patterns",()=>{i=!1,a=C(r,E=>{let v=E[rn];if(at(v)){let I=v.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!v.ignoreCase?I:I.length===2&&I[0]==="\\"&&!fe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],I[1])?I[1]:e.useSticky?Ul(v):Gl(v)}else{if(on(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{let I=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),K=new RegExp(I);return e.useSticky?Ul(K):Gl(K)}}else throw Error("non exhaustive match")}})});let o,l,u,c,d;t("misc mapping",()=>{o=C(r,E=>E.tokenTypeIdx),l=C(r,E=>{let v=E.GROUP;if(v!==le.SKIPPED){if($e(v))return v;if(it(v))return!1;throw Error("non exhaustive match")}}),u=C(r,E=>{let v=E.LONGER_ALT;if(v)return Le(v)?C(v,I=>Fd(r,I)):[Fd(r,v)]}),c=C(r,E=>E.PUSH_MODE),d=C(r,E=>w(E,"POP_MODE"))});let f;t("Line Terminator Handling",()=>{let E=Sc(e.lineTerminatorCharacters);f=C(r,v=>!1),e.positionTracking!=="onlyOffset"&&(f=C(r,v=>w(v,"LINE_BREAKS")?!!v.LINE_BREAKS:Cc(v,E)===!1&&tl(E,v.PATTERN)))});let h,p,g,y;t("Misc Mapping #2",()=>{h=C(r,xc),p=C(a,Up),g=ue(r,(E,v)=>{let I=v.GROUP;return $e(I)&&I!==le.SKIPPED&&(E[I]=[]),E},{}),y=C(a,(E,v)=>({pattern:a[v],longerAlt:u[v],canLineTerminator:f[v],isCustom:h[v],short:p[v],group:l[v],push:c[v],pop:d[v],tokenTypeIdx:o[v],tokenType:r[v]}))});let k=!0,R=[];return e.safeMode||t("First Char Optimization",()=>{R=ue(r,(E,v,I)=>{if(typeof v.PATTERN=="string"){let K=v.PATTERN.charCodeAt(0),ee=ct(K);Bs(E,ee,y[I])}else if(Le(v.START_CHARS_HINT)){let K;N(v.START_CHARS_HINT,ee=>{let Oe=typeof ee=="string"?ee.charCodeAt(0):ee,Re=ct(Oe);K!==Re&&(K=Re,Bs(E,Re,y[I]))})}else if(at(v.PATTERN))if(v.PATTERN.unicode)k=!1,e.ensureOptimizations&&uo(`${co} Unable to analyze < ${v.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 K=vp(v.PATTERN,e.ensureOptimizations);F(K)&&(k=!1),N(K,ee=>{Bs(E,ee,y[I])})}else e.ensureOptimizations&&uo(`${co} TokenType: <${v.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),k=!1;return E},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:R,hasCustom:i,canBeOptimized:k}}s(Ep,"analyzeTokenTypes");function kp(n,e){let t=[],r=xp(n);t=t.concat(r.errors);let i=Cp(r.valid),a=i.valid;return t=t.concat(i.errors),t=t.concat($p(a)),t=t.concat(bp(a)),t=t.concat(Op(a,e)),t=t.concat(Pp(a)),t}s(kp,"validatePatterns");function $p(n){let e=[],t=xe(n,r=>at(r[rn]));return e=e.concat(Sp(t)),e=e.concat(Np(t)),e=e.concat(wp(t)),e=e.concat(Lp(t)),e=e.concat(Ip(t)),e}s($p,"validateRegExpPattern");function xp(n){let e=xe(n,i=>!w(i,rn)),t=C(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:W.MISSING_PATTERN,tokenTypes:[i]})),r=_o(n,e);return{errors:t,valid:r}}s(xp,"findMissingPatterns");function Cp(n){let e=xe(n,i=>{let a=i[rn];return!at(a)&&!on(a)&&!w(a,"exec")&&!$e(a)}),t=C(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:W.INVALID_PATTERN,tokenTypes:[i]})),r=_o(n,e);return{errors:t,valid:r}}s(Cp,"findInvalidPatterns");var uT=/[^\\][$]/;function Sp(n){const r=class r extends Yo{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}};s(r,"EndAnchorFinder");let e=r,t=xe(n,i=>{let a=i.PATTERN;try{let o=ks(a),l=new e;return l.visit(o),l.found}catch{return uT.test(a.source)}});return C(t,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Sp,"findEndOfInputAnchor");function Ip(n){let e=xe(n,t=>t.PATTERN.test(""));return C(e,t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' must not match an empty string",type:W.EMPTY_MATCH_PATTERN,tokenTypes:[t]}))}s(Ip,"findEmptyMatchRegExps");var cT=/[^\\[][\^]|^\^/;function Np(n){const r=class r extends Yo{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}};s(r,"StartAnchorFinder");let e=r,t=xe(n,i=>{let a=i.PATTERN;try{let o=ks(a),l=new e;return l.visit(o),l.found}catch{return cT.test(a.source)}});return C(t,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}s(Np,"findStartOfInputAnchor");function wp(n){let e=xe(n,t=>{let r=t[rn];return r instanceof RegExp&&(r.multiline||r.global)});return C(e,t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:W.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[t]}))}s(wp,"findUnsupportedFlags");function Lp(n){let e=[],t=C(n,i=>ue(n,(a,o)=>(i.PATTERN.source===o.PATTERN.source&&!fe(e,o)&&o.PATTERN!==le.NA&&(e.push(o),a.push(o)),a),[]));t=ms(t);let r=xe(t,i=>i.length>1);return C(r,i=>{let a=C(i,o=>o.name);return{message:`The same RegExp pattern ->${Fe(i).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:W.DUPLICATE_PATTERNS_FOUND,tokenTypes:i}})}s(Lp,"findDuplicatePatterns");function bp(n){let e=xe(n,t=>{if(!w(t,"GROUP"))return!1;let r=t.GROUP;return r!==le.SKIPPED&&r!==le.NA&&!$e(r)});return C(e,t=>({message:"Token Type: ->"+t.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:W.INVALID_GROUP_TYPE_FOUND,tokenTypes:[t]}))}s(bp,"findInvalidGroupType");function Op(n,e){let t=xe(n,r=>r.PUSH_MODE!==void 0&&!fe(e,r.PUSH_MODE));return C(t,r=>({message:`Token Type: ->${r.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${r.PUSH_MODE}<-which does not exist`,type:W.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[r]}))}s(Op,"findModesThatDoNotExist");function Pp(n){let e=[],t=ue(n,(r,i,a)=>{let o=i.PATTERN;return o===le.NA||($e(o)?r.push({str:o,idx:a,tokenType:i}):at(o)&&Dp(o)&&r.push({str:o.source,idx:a,tokenType:i})),r},[]);return N(n,(r,i)=>{N(t,({str:a,idx:o,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:W.UNREACHABLE_PATTERN,tokenTypes:[r,l]})}})}),e}s(Pp,"findUnreachablePatterns");function _p(n,e){if(at(e)){let t=e.exec(n);return t!==null&&t.index===0}else{if(on(e))return e(n,0,[],{});if(w(e,"exec"))return e.exec(n,0,[],{});if(typeof e=="string")return e===n;throw Error("non exhaustive match")}}s(_p,"testTokenType");function Dp(n){return ya([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>n.source.indexOf(e)!==-1)===void 0}s(Dp,"noMetaChar");function Gl(n){let e=n.ignoreCase?"i":"";return new RegExp(`^(?:${n.source})`,e)}s(Gl,"addStartOfInput");function Ul(n){let e=n.ignoreCase?"iy":"y";return new RegExp(`${n.source}`,e)}s(Ul,"addStickyFlag");function Mp(n,e,t){let r=[];return w(n,Ma)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ma+`> property in its definition `,type:W.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(n,Ns)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ns+`> property in its definition `,type:W.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(n,Ns)&&w(n,Ma)&&!w(n.modes,n.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Ma}: <${n.defaultMode}>which does not exist `,type:W.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(n,Ns)&&N(n.modes,(i,a)=>{N(i,(o,l)=>{if(it(o))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> `,type:W.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(w(o,"LONGER_ALT")){let u=Le(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];N(u,c=>{!it(c)&&!fe(i,c)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${a}> `,type:W.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}s(Mp,"performRuntimeChecks");function Fp(n,e,t){let r=[],i=!1,a=ms(be(Q(n.modes))),o=Po(a,u=>u[rn]===le.NA),l=Sc(t);return e&&N(o,u=>{let c=Cc(u,l);if(c!==!1){let d={message:Bp(u,c),type:c.issue,tokenType:u};r.push(d)}else w(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):tl(l,u.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:W.NO_LINE_BREAKS_FLAGS}),r}s(Fp,"performWarningRuntimeChecks");function Gp(n){let e={},t=Za(n);return N(t,r=>{let i=n[r];if(Le(i))e[r]=[];else throw Error("non exhaustive match")}),e}s(Gp,"cloneEmptyGroups");function xc(n){let e=n.PATTERN;if(at(e))return!1;if(on(e)||w(e,"exec"))return!0;if($e(e))return!1;throw Error("non exhaustive match")}s(xc,"isCustomPattern");function Up(n){return $e(n)&&n.length===1?n.charCodeAt(0):!1}s(Up,"isShortPattern");var dT={test:s(function(n){let e=n.length;for(let t=this.lastIndex;t Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===W.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${n.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}s(Bp,"buildLineBreakIssueMessage");function Sc(n){return C(n,e=>$e(e)?e.charCodeAt(0):e)}s(Sc,"getCharCodes");function Bs(n,e,t){n[e]===void 0?n[e]=[t]:n[e].push(t)}s(Bs,"addToMapOfArrays");var Fa=256,Ks=[];function ct(n){return n255?255+~~(n/255):n}}s(Kp,"initCharCodeToOptimizedIndexMap");function La(n,e){let t=n.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}s(La,"tokenStructuredMatcher");function os(n,e){return n.tokenTypeIdx===e.tokenTypeIdx}s(os,"tokenStructuredMatcherNoCategories");var Ud=1,Vp={};function ba(n){let e=jp(n);Wp(e),zp(e),Hp(e),N(e,t=>{t.isParent=t.categoryMatches.length>0})}s(ba,"augmentTokenTypes");function jp(n){let e=re(n),t=n,r=!0;for(;r;){t=ms(be(C(t,a=>a.CATEGORIES)));let i=_o(t,e);e=e.concat(i),F(i)?r=!1:t=i}return e}s(jp,"expandCategories");function Wp(n){N(n,e=>{Nc(e)||(Vp[Ud]=e,e.tokenTypeIdx=Ud++),Bl(e)&&!Le(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Bl(e)||(e.CATEGORIES=[]),Yp(e)||(e.categoryMatches=[]),qp(e)||(e.categoryMatchesMap={})})}s(Wp,"assignTokenDefaultProps");function Hp(n){N(n,e=>{e.categoryMatches=[],N(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(Vp[r].tokenTypeIdx)})})}s(Hp,"assignCategoriesTokensProp");function zp(n){N(n,e=>{Ic([],e)})}s(zp,"assignCategoriesMapProp");function Ic(n,e){N(n,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),N(e.CATEGORIES,t=>{let r=n.concat(e);fe(r,t)||Ic(r,t)})}s(Ic,"singleAssignCategoriesToksMap");function Nc(n){return w(n,"tokenTypeIdx")}s(Nc,"hasShortKeyProperty");function Bl(n){return w(n,"CATEGORIES")}s(Bl,"hasCategoriesProperty");function Yp(n){return w(n,"categoryMatches")}s(Yp,"hasExtendingTokensTypesProperty");function qp(n){return w(n,"categoryMatchesMap")}s(qp,"hasExtendingTokensTypesMapProperty");function Xp(n){return w(n,"tokenTypeIdx")}s(Xp,"isTokenType");var Kl={buildUnableToPopLexerModeMessage(n){return`Unable to pop Lexer Mode after encountering Token ->${n.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(n,e,t,r,i){return`unexpected character: ->${n.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}},W;(function(n){n[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(W||(W={}));var Ga={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Kl,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ga);var Cr,le=(Cr=class{constructor(e,t=Ga){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=kc(a),c=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}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=ke({},Ga,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 i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ga.lineTerminatorsPattern)this.config.lineTerminatorsPattern=dT;else if(this.config.lineTerminatorCharacters===Ga.lineTerminatorCharacters)throw Error(`Error: Missing 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),Le(e)?i={modes:{defaultMode:re(e)},defaultMode:Ma}:(a=!1,i=re(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Mp(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Fp(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},N(i.modes,(l,u)=>{i.modes[u]=Po(l,c=>it(c))});let o=Za(i.modes);if(N(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(kp(l,o))}),F(this.lexerDefinitionErrors)){ba(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Ep(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=c.charCodeToPatternIdxToConfig,this.emptyGroups=ke({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!F(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let l=C(this.lexerDefinitionErrors,u=>u.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+l)}N(this.lexerDefinitionWarning,l=>{Ec(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Ap?(this.chopInput=Md,this.match=this.matchWithTest):(this.updateLastIndex=J,this.match=this.matchWithExec),a&&(this.handleModes=J),this.trackStartLines===!1&&(this.computeNewColumn=Md),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=J),/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 config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=ue(this.canModeBeOptimized,(u,c,d)=>(c===!1&&u.push(d),u),[]);if(t.ensureOptimizations&&!F(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{yp()}),this.TRACE_INIT("toFastProperties",()=>{$c(this)})})}tokenize(e,t=this.defaultMode){if(!F(this.lexerDefinitionErrors)){let r=C(this.lexerDefinitionErrors,i=>i.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `+r)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,i,a,o,l,u,c,d,f,h,p,g,y,k,R,E=e,v=E.length,I=0,K=0,ee=this.hasCustom?0:Math.floor(e.length/10),Oe=new Array(ee),Re=[],Ke=this.trackStartLines?1:void 0,Ie=this.trackStartLines?1:void 0,Pe=Gp(this.emptyGroups),Oa=this.trackStartLines,$=this.config.lineTerminatorsPattern,T=0,S=[],x=[],D=[],P=[];Object.freeze(P);let O;function he(){return S}s(he,"getPossiblePatternsSlow");function ie(ae){let Ne=ct(ae),pn=x[Ne];return pn===void 0?P:pn}s(ie,"getPossiblePatternsOptimized");let H=s(ae=>{if(D.length===1&&ae.tokenType.PUSH_MODE===void 0){let Ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ae);Re.push({offset:ae.startOffset,line:ae.startLine,column:ae.startColumn,length:ae.image.length,message:Ne})}else{D.pop();let Ne=ga(D);S=this.patternIdxToConfig[Ne],x=this.charCodeToPatternIdxToConfig[Ne],T=S.length;let pn=this.canModeBeOptimized[Ne]&&this.config.safeMode===!1;x&&pn?O=ie:O=he}},"pop_mode");function gt(ae){D.push(ae),x=this.charCodeToPatternIdxToConfig[ae],S=this.patternIdxToConfig[ae],T=S.length,T=S.length;let Ne=this.canModeBeOptimized[ae]&&this.config.safeMode===!1;x&&Ne?O=ie:O=he}s(gt,"push_mode"),gt.call(this,t);let _e,_d=this.config.recoveryEnabled;for(;Iu.length){u=o,c=d,_e=tt;break}}}break}}if(u!==null){if(f=u.length,h=_e.group,h!==void 0&&(p=_e.tokenTypeIdx,g=this.createTokenInstance(u,I,p,_e.tokenType,Ke,Ie,f),this.handlePayload(g,c),h===!1?K=this.addToken(Oe,K,g):Pe[h].push(g)),e=this.chopInput(e,f),I=I+f,Ie=this.computeNewColumn(Ie,f),Oa===!0&&_e.canLineTerminator===!0){let Ae=0,et,yt;$.lastIndex=0;do et=$.test(u),et===!0&&(yt=$.lastIndex-1,Ae++);while(et===!0);Ae!==0&&(Ke=Ke+Ae,Ie=f-yt,this.updateTokenEndLineColumnLocation(g,h,yt,Ae,Ke,Ie,f))}this.handleModes(_e,H,gt,g)}else{let Ae=I,et=Ke,yt=Ie,tt=_d===!1;for(;tt===!1&&I ${Dt(n)} <--`:`token of type --> ${n.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:n,ruleName:e}){return"Redundant input, expecting EOF but found: "+n.image},buildNoViableAltMessage({expectedPathsPerAlt:n,actual:e,previous:t,customUserDescription:r,ruleName:i}){let a="Expecting: ",o=` but found: '`+Fe(e).image+"'";if(r)return a+r+o;{let l=ue(n,(d,f)=>d.concat(f),[]),u=C(l,d=>`[${C(d,f=>Dt(f)).join(", ")}]`),c=`one of these possible Token sequences: ${C(u,(d,f)=>` ${f+1}. ${d}`).join(` `)}`;return a+c+o}},buildEarlyExitMessage({expectedIterationPaths:n,actual:e,customUserDescription:t,ruleName:r}){let i="Expecting: ",a=` but found: '`+Fe(e).image+"'";if(t)return i+t+a;{let o=`expecting at least one iteration which starts with one of these possible Token sequences:: <${C(n,l=>`[${C(l,u=>Dt(u)).join(",")}]`).join(" ,")}>`;return i+o+a}}};Object.freeze(tr);var hT={buildRuleNotFoundError(n,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+n.name+"<-"}},Ot={buildDuplicateFoundError(n,e){function t(d){return d instanceof B?d.terminalType.name:d instanceof ce?d.nonTerminalName:""}s(t,"getExtraProductionArgument");let r=n.name,i=Fe(e),a=i.idx,o=De(i),l=t(i),u=a>0,c=`->${o}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${r}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` `),c},buildNamespaceConflictError(n){return`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${n.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(n){let e=C(n.prefixPath,r=>Dt(r)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;return`Ambiguous alternatives: <${n.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${n.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX For Further details.`},buildAlternationAmbiguityError(n){let e=C(n.prefixPath,i=>Dt(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx,r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(" ,")}> in inside <${n.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,r},buildEmptyRepetitionError(n){let e=De(n.repetition);return n.repetition.idx!==0&&(e+=n.repetition.idx),`The repetition <${e}> within Rule <${n.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(n){return"deprecated"},buildEmptyAlternationError(n){return`Ambiguous empty alternative: <${n.emptyChoiceIdx+1}> in inside <${n.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(n){return`An Alternation cannot have more than 256 alternatives: inside <${n.topLevelRule.name}> Rule. has ${n.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(n){let e=n.topLevelRule.name,t=C(n.leftRecursionPath,i=>i.name),r=`${e} --> ${t.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${r} To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(n){return"deprecated"},buildDuplicateRuleNameError(n){let e;return n.topLevelRule instanceof Ia?e=n.topLevelRule.name:e=n.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${n.grammarName}<-`}};function Qp(n,e){let t=new pT(n,e);return t.resolveRefs(),t.errors}s(Qp,"resolveGrammar");var Sr,pT=(Sr=class extends Na{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){N(Q(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:de.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},s(Sr,"GastRefResolverVisitor"),Sr),Ir,mT=(Ir=class extends el{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=re(this.path.ruleStack).reverse(),this.occurrenceStack=re(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 i=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){F(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},s(Ir,"AbstractNextPossibleTokensWalker"),Ir),Nr,gT=(Nr=class extends mT{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 i=t.concat(r),a=new ye({definition:i});this.possibleTokTypes=wa(a),this.found=!0}}},s(Nr,"NextAfterTokenWalker"),Nr),wr,nl=(wr=class extends el{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}},s(wr,"AbstractNextTerminalAfterProductionWalker"),wr),Lr,yT=(Lr=class extends nl{walkMany(e,t,r){if(e.idx===this.occurrence){let i=Fe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,r)}},s(Lr,"NextTerminalAfterManyWalker"),Lr),br,qd=(br=class extends nl{walkManySep(e,t,r){if(e.idx===this.occurrence){let i=Fe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,r)}},s(br,"NextTerminalAfterManySepWalker"),br),Or,TT=(Or=class extends nl{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let i=Fe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,r)}},s(Or,"NextTerminalAfterAtLeastOneWalker"),Or),Pr,Xd=(Pr=class extends nl{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let i=Fe(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof B&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,r)}},s(Pr,"NextTerminalAfterAtLeastOneSepWalker"),Pr);function po(n,e,t=[]){t=re(t);let r=[],i=0;function a(l){return l.concat(te(n,i+1))}s(a,"remainingPathWith");function o(l){let u=po(a(l),e,t);return r.concat(u)}for(s(o,"getAlternativesForProd");t.length{F(u.definition)===!1&&(r=o(u.definition))}),r;if(l instanceof B)t.push(l.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:t,suffixDef:te(n,i)}),r}s(po,"possiblePathsFrom");function bc(n,e,t,r){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,c=u-r-1,d=[],f=[];for(f.push({idx:-1,def:n,ruleStack:[],occurrenceStack:[]});!F(f);){let h=f.pop();if(h===o){l&&ga(f).idx<=c&&f.pop();continue}let p=h.def,g=h.idx,y=h.ruleStack,k=h.occurrenceStack;if(F(p))continue;let R=p[0];if(R===i){let E={idx:g,def:te(p),ruleStack:es(y),occurrenceStack:es(k)};f.push(E)}else if(R instanceof B)if(g=0;E--){let v=R.definition[E],I={idx:g,def:v.definition.concat(te(p)),ruleStack:y,occurrenceStack:k};f.push(I),f.push(o)}else if(R instanceof ye)f.push({idx:g,def:R.definition.concat(te(p)),ruleStack:y,occurrenceStack:k});else if(R instanceof Ia)f.push(Zp(R,g,y,k));else throw Error("non exhaustive match")}return d}s(bc,"nextPossibleTokensAfter");function Zp(n,e,t,r){let i=re(t);i.push(n.name);let a=re(r);return a.push(1),{idx:e,def:n.definition,ruleStack:i,occurrenceStack:a}}s(Zp,"expandTopLevelRule");var V;(function(n){n[n.OPTION=0]="OPTION",n[n.REPETITION=1]="REPETITION",n[n.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",n[n.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",n[n.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",n[n.ALTERNATION=5]="ALTERNATION"})(V||(V={}));function rl(n){if(n instanceof ne||n==="Option")return V.OPTION;if(n instanceof j||n==="Repetition")return V.REPETITION;if(n instanceof Ce||n==="RepetitionMandatory")return V.REPETITION_MANDATORY;if(n instanceof Se||n==="RepetitionMandatoryWithSeparator")return V.REPETITION_MANDATORY_WITH_SEPARATOR;if(n instanceof Te||n==="RepetitionWithSeparator")return V.REPETITION_WITH_SEPARATOR;if(n instanceof ve||n==="Alternation")return V.ALTERNATION;throw Error("non exhaustive match")}s(rl,"getProdType");function Vl(n){let{occurrence:e,rule:t,prodType:r,maxLookahead:i}=n,a=rl(r);return a===V.ALTERNATION?xs(e,t,i):Cs(e,t,a,i)}s(Vl,"getLookaheadPaths");function em(n,e,t,r,i,a){let o=xs(n,e,t),l=Pc(o)?os:La;return a(o,r,l,i)}s(em,"buildLookaheadFuncForOr");function tm(n,e,t,r,i,a){let o=Cs(n,e,i,t),l=Pc(o)?os:La;return a(o[0],l,r)}s(tm,"buildLookaheadFuncForOptionalProd");function nm(n,e,t,r){let i=n.length,a=Me(n,o=>Me(o,l=>l.length===1));if(e)return function(o){let l=C(o,u=>u.GATE);for(let u=0;ube(u)),l=ue(o,(u,c,d)=>(N(c,f=>{w(u,f.tokenTypeIdx)||(u[f.tokenTypeIdx]=d),N(f.categoryMatches,h=>{w(u,h)||(u[h]=d)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;oa.length===1),i=n.length;if(r&&!t){let a=be(n);if(a.length===1&&F(a[0].categoryMatches)){let o=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{let o=ue(a,(l,u,c)=>(l[u.tokenTypeIdx]=!0,N(u.categoryMatches,d=>{l[d]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;apo([o],1)),r=jl(t.length),i=C(t,o=>{let l={};return N(o,u=>{let c=Vs(u.partialPath);N(c,d=>{l[d]=!0})}),l}),a=t;for(let o=1;o<=e;o++){let l=a;a=jl(l.length);for(let u=0;u{let k=Vs(y.partialPath);N(k,R=>{i[u][R]=!0})})}}}}return r}s(Oc,"lookAheadSequenceFromAlternatives");function xs(n,e,t,r){let i=new im(n,V.ALTERNATION,r);return e.accept(i),Oc(i.result,t)}s(xs,"getLookaheadPathsForOr");function Cs(n,e,t,r){let i=new im(n,t);e.accept(i);let a=i.result,o=new vT(e,n,t).startWalking(),l=new ye({definition:a}),u=new ye({definition:o});return Oc([l,u],r)}s(Cs,"getLookaheadPathsForOptionalProd");function mo(n,e){e:for(let t=0;t{let i=e[r];return t===i||i.categoryMatchesMap[t.tokenTypeIdx]})}s(sm,"isStrictPrefixOfPath");function Pc(n){return Me(n,e=>Me(e,t=>Me(t,r=>F(r.categoryMatches))))}s(Pc,"areTokenCategoriesNotUsed");function om(n){let e=n.lookaheadStrategy.validate({rules:n.rules,tokenTypes:n.tokenTypes,grammarName:n.grammarName});return C(e,t=>Object.assign({type:de.CUSTOM_LOOKAHEAD_VALIDATION},t))}s(om,"validateLookahead");function lm(n,e,t,r){let i=Ee(n,u=>um(u,t)),a=vm(n,e,t),o=Ee(n,u=>mm(u,t)),l=Ee(n,u=>dm(u,n,r,t));return i.concat(a,o,l)}s(lm,"validateGrammar");function um(n,e){let t=new RT;n.accept(t);let r=t.allProductions,i=Zy(r,cm),a=Ue(i,o=>o.length>1);return C(Q(a),o=>{let l=Fe(o),u=e.buildDuplicateFoundError(n,o),c=De(l),d={message:u,type:de.DUPLICATE_PRODUCTIONS,ruleName:n.name,dslName:c,occurrence:l.idx},f=_c(l);return f&&(d.parameter=f),d})}s(um,"validateDuplicateProductions");function cm(n){return`${De(n)}_#_${n.idx}_#_${_c(n)}`}s(cm,"identifyProductionForDuplicates");function _c(n){return n instanceof B?n.terminalType.name:n instanceof ce?n.nonTerminalName:""}s(_c,"getExtraProductionArgument");var Mr,RT=(Mr=class extends Na{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)}},s(Mr,"OccurrenceValidationCollector"),Mr);function dm(n,e,t,r){let i=[];if(ue(e,(a,o)=>o.name===n.name?a+1:a,0)>1){let a=r.buildDuplicateRuleNameError({topLevelRule:n,grammarName:t});i.push({message:a,type:de.DUPLICATE_RULE_NAME,ruleName:n.name})}return i}s(dm,"validateRuleDoesNotAlreadyExist");function fm(n,e,t){let r=[],i;return fe(e,n)||(i=`Invalid rule override, rule: ->${n}<- cannot be overridden in the grammar: ->${t}<-as it is not defined in any of the super grammars `,r.push({message:i,type:de.INVALID_RULE_OVERRIDE,ruleName:n})),r}s(fm,"validateRuleIsOverridden");function Dc(n,e,t,r=[]){let i=[],a=Ja(e.definition);if(F(a))return[];{let o=n.name;fe(a,n)&&i.push({message:t.buildLeftRecursionError({topLevelRule:n,leftRecursionPath:r}),type:de.LEFT_RECURSION,ruleName:o});let l=_o(a,r.concat([n])),u=Ee(l,c=>{let d=re(r);return d.push(c),Dc(n,c,t,d)});return i.concat(u)}}s(Dc,"validateNoLeftRecursion");function Ja(n){let e=[];if(F(n))return e;let t=Fe(n);if(t instanceof ce)e.push(t.referencedRule);else if(t instanceof ye||t instanceof ne||t instanceof Ce||t instanceof Se||t instanceof Te||t instanceof j)e=e.concat(Ja(t.definition));else if(t instanceof ve)e=be(C(t.definition,a=>Ja(a.definition)));else if(!(t instanceof B))throw Error("non exhaustive match");let r=ss(t),i=n.length>1;if(r&&i){let a=te(n);return e.concat(Ja(a))}else return e}s(Ja,"getFirstNoneTerminal");var Fr,Mc=(Fr=class extends Na{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}},s(Fr,"OrCollector"),Fr);function hm(n,e){let t=new Mc;n.accept(t);let r=t.alternations;return Ee(r,i=>{let a=es(i.definition);return Ee(a,(o,l)=>{let u=bc([o],[],La,1);return F(u)?[{message:e.buildEmptyAlternationError({topLevelRule:n,alternation:i,emptyChoiceIdx:l}),type:de.NONE_LAST_EMPTY_ALT,ruleName:n.name,occurrence:i.idx,alternative:l+1}]:[]})})}s(hm,"validateEmptyOrAlternative");function pm(n,e,t){let r=new Mc;n.accept(r);let i=r.alternations;return i=Po(i,a=>a.ignoreAmbiguities===!0),Ee(i,a=>{let o=a.idx,l=a.maxLookahead||e,u=xs(o,n,l,a),c=ym(u,a,n,t),d=Tm(u,a,n,t);return c.concat(d)})}s(pm,"validateAmbiguousAlternationAlternatives");var Gr,AT=(Gr=class extends Na{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)}},s(Gr,"RepetitionCollector"),Gr);function mm(n,e){let t=new Mc;n.accept(t);let r=t.alternations;return Ee(r,i=>i.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:n,alternation:i}),type:de.TOO_MANY_ALTS,ruleName:n.name,occurrence:i.idx}]:[])}s(mm,"validateTooManyAlts");function gm(n,e,t){let r=[];return N(n,i=>{let a=new AT;i.accept(a);let o=a.allProductions;N(o,l=>{let u=rl(l),c=l.maxLookahead||e,d=l.idx,f=Cs(d,i,u,c)[0];if(F(be(f))){let h=t.buildEmptyRepetitionError({topLevelRule:i,repetition:l});r.push({message:h,type:de.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}s(gm,"validateSomeNonEmptyLookaheadPath");function ym(n,e,t,r){let i=[],a=ue(n,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||N(l,c=>{let d=[u];N(n,(f,h)=>{u!==h&&mo(f,c)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!mo(i,c)&&(i.push(c),o.push({alts:d,path:c}))}),o),[]);return C(a,o=>{let l=C(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:de.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:o.alts}})}s(ym,"checkAlternativesAmbiguities");function Tm(n,e,t,r){let i=ue(n,(a,o,l)=>{let u=C(o,c=>({idx:l,path:c}));return a.concat(u)},[]);return ms(Ee(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];let o=a.idx,l=a.path,u=xe(i,c=>e.definition[c.idx].ignoreAmbiguities!==!0&&c.idx{let d=[c.idx+1,o+1],f=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:d,prefixPath:c.path}),type:de.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:f,alternatives:d}})}))}s(Tm,"checkPrefixAlternativesAmbiguities");function vm(n,e,t){let r=[],i=C(e,a=>a.name);return N(n,a=>{let o=a.name;if(fe(i,o)){let l=t.buildNamespaceConflictError(a);r.push({message:l,type:de.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),r}s(vm,"checkTerminalAndNoneTerminalsNameSpace");function Rm(n){let e=Ru(n,{errMsgProvider:hT}),t={};return N(n.rules,r=>{t[r.name]=r}),Qp(t,e.errMsgProvider)}s(Rm,"resolveGrammar");function Am(n){return n=Ru(n,{errMsgProvider:Ot}),lm(n.rules,n.tokenTypes,n.errMsgProvider,n.grammarName)}s(Am,"validateGrammar");var Em="MismatchedTokenException",km="NoViableAltException",$m="EarlyExitException",xm="NotAllInputParsedException",Cm=[Em,km,$m,xm];Object.freeze(Cm);function ls(n){return fe(Cm,n.name)}s(ls,"isRecognitionException");var Ur,il=(Ur=class extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},s(Ur,"RecognitionException"),Ur),Br,Sm=(Br=class extends il{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Em}},s(Br,"MismatchedTokenException"),Br),Kr,ET=(Kr=class extends il{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=km}},s(Kr,"NoViableAltException"),Kr),Vr,kT=(Vr=class extends il{constructor(e,t){super(e,t),this.name=xm}},s(Vr,"NotAllInputParsedException"),Vr),jr,$T=(jr=class extends il{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=$m}},s(jr,"EarlyExitException"),jr),El={},Im="InRuleRecoveryException",Wr,xT=(Wr=class extends Error{constructor(e){super(e),this.name=Im}},s(Wr,"InRuleRecoveryException"),Wr),Hr,CT=(Hr=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:dt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Nm)}getTokenToInsert(e){let t=$s(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,i){let a=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,c=this.LA(1),d=this.LA(1),f=s(()=>{let h=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:h,ruleName:this.getCurrRuleFullName()}),g=new Sm(p,c,this.LA(0));g.resyncedTokens=es(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(d,i)){f();return}else if(r.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(d,a)?u=!0:(d=this.SKIP_TOKEN(),this.addToResyncTokens(d,l));this.importLexerState(o)}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 xT("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||F(t))return!1;let r=this.LA(1);return ya(t,i=>this.tokenMatcher(r,i))!==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 fe(r,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let i=ya(e,a=>Lc(t,a));if(i!==void 0)return i;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return El;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 C(e,(r,i)=>i===0?El:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=C(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return be(e)}getFollowSetFromFollowKey(e){if(e===El)return[Rt];let t=e.ruleName+e.idxInCallingRule+pp+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Rt)||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 es(t)}attemptInRepetitionRecovery(e,t,r,i,a,o,l){}getCurrentGrammarPath(e,t){let r=this.getHumanReadableRuleStack(),i=re(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return C(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},s(Hr,"Recoverable"),Hr);function Nm(n,e,t,r,i,a,o){let l=this.getKeyForAutomaticLookahead(r,i),u=this.firstAfterRepMap[l];if(u===void 0){let h=this.getCurrRuleFullName(),p=this.getGAstProductions()[h];u=new a(p,i).startWalking(),this.firstAfterRepMap[l]=u}let c=u.token,d=u.occurrence,f=u.isEndOfRule;this.RULE_STACK.length===1&&f&&c===void 0&&(c=Rt,d=1),!(c===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,d,o)&&this.tryInRepetitionRecovery(n,e,t,c)}s(Nm,"attemptInRepetitionRecovery");function js(n,e,t){return t|e|n}s(js,"getKeyForAutomaticLookahead");var zr,Fc=(zr=class{constructor(e){var t;this.maxLookahead=(t=e?.maxLookahead)!==null&&t!==void 0?t:dt.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(F(t)){let r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...i,...a]}return t}validateNoLeftRecursion(e){return Ee(e,t=>Dc(t,t,Ot))}validateEmptyOrAlternatives(e){return Ee(e,t=>hm(t,Ot))}validateAmbiguousAlternationAlternatives(e,t){return Ee(e,r=>pm(r,t,Ot))}validateSomeNonEmptyLookaheadPath(e,t){return gm(e,t,Ot)}buildLookaheadForAlternation(e){return em(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,nm)}buildLookaheadForOptional(e){return tm(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,rl(e.prodType),rm)}},s(zr,"LLkLookaheadStrategy"),zr),Yr,ST=(Yr=class{initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:dt.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:dt.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new Fc({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){N(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{let{alternation:r,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=wm(t);N(r,c=>{let d=c.idx===0?"":c.idx;this.TRACE_INIT(`${De(c)}${d}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=js(this.fullRuleNameToShort[t.name],256,c.idx);this.setLaFuncCache(h,f)})}),N(i,c=>{this.computeLookaheadFunc(t,c.idx,768,"Repetition",c.maxLookahead,De(c))}),N(a,c=>{this.computeLookaheadFunc(t,c.idx,512,"Option",c.maxLookahead,De(c))}),N(o,c=>{this.computeLookaheadFunc(t,c.idx,1024,"RepetitionMandatory",c.maxLookahead,De(c))}),N(l,c=>{this.computeLookaheadFunc(t,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,De(c))}),N(u,c=>{this.computeLookaheadFunc(t,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,De(c))})})})}computeLookaheadFunc(e,t,r,i,a,o){this.TRACE_INIT(`${o}${t===0?"":t}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=js(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,t){let r=this.getLastExplicitRuleShortName();return js(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},s(Yr,"LooksAhead"),Yr),qr,IT=(qr=class extends Na{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)}},s(qr,"DslMethodsCollectorVisitor"),qr),ws=new IT;function wm(n){ws.reset(),n.accept(ws);let e=ws.dslMethods;return ws.reset(),e}s(wm,"collectMethods");function Wl(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.endOffset=e.endOffset):n.endOffseto.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` `)}`)}},"validateVisitor")};return t.prototype=r,t.prototype.constructor=t,t._RULE_NAMES=e,t}s(Pm,"createBaseSemanticVisitorConstructor");function _m(n,e,t){let r=s(function(){},"derivedConstructor");Gc(r,n+"BaseSemanticsWithDefaults");let i=Object.create(t.prototype);return N(e,a=>{i[a]=Om}),r.prototype=i,r.prototype.constructor=r,r}s(_m,"createBaseVisitorConstructorWithDefaults");var zl;(function(n){n[n.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",n[n.MISSING_METHOD=1]="MISSING_METHOD"})(zl||(zl={}));function Dm(n,e){return Mm(n,e)}s(Dm,"validateVisitor");function Mm(n,e){let t=xe(e,i=>on(n[i])===!1),r=C(t,i=>({msg:`Missing visitor method: <${i}> on ${n.constructor.name} CST Visitor.`,type:zl.MISSING_METHOD,methodName:i}));return ms(r)}s(Mm,"validateMissingCstMethods");var Xr,wT=(Xr=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=w(e,"nodeLocationTracking")?e.nodeLocationTracking:dt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=J,this.cstFinallyStateUpdate=J,this.cstPostTerminal=J,this.cstPostNonTerminal=J,this.cstPostRule=J;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Hl,this.setNodeLocationFromNode=Hl,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Wl,this.setNodeLocationFromNode=Wl,this.cstPostRule=J,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=J,this.setNodeLocationFromNode=J,this.cstPostRule=J,this.setInitialNodeLocation=J;else throw Error(`Invalid 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];Lm(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];bm(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(it(this.baseCstVisitorConstructor)){let e=Pm(this.className,Za(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(it(this.baseCstVisitorWithDefaultsConstructor)){let e=_m(this.className,Za(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]}},s(Xr,"TreeBuilder"),Xr),Jr,LT=(Jr=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing 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)):go}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?go: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()}},s(Jr,"LexerAdapter"),Jr),Qr,bT=(Qr=class{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=yo){if(fe(this.definedRulesNames,e)){let a={message:Ot.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:de.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);let i=this.defineRule(e,t,r);return this[e]=i,i}OVERRIDE_RULE(e,t,r=yo){let i=fm(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);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(i){if(ls(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return lp(Q(this.gastProductionsCache))}},s(Qr,"RecognizerApi"),Qr),Zr,OT=(Zr=class{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={},w(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Le(e)){if(F(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(Le(e))this.tokensMap=ue(e,(a,o)=>(a[o.name]=o,a),{});else if(w(e,"modes")&&Me(be(Q(e.modes)),Xp)){let a=be(Q(e.modes)),o=Au(a);this.tokensMap=ue(o,(l,u)=>(l[u.name]=u,l),{})}else if(Xy(e))this.tokensMap=re(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Rt;let r=w(e,"modes")?be(Q(e.modes)):Q(e),i=Me(r,a=>F(a.categoryMatches));this.tokenMatcher=i?os:La,ba(Q(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 i=w(r,"resyncEnabled")?r.resyncEnabled:yo.resyncEnabled,a=w(r,"recoveryValueFunc")?r.recoveryValueFunc:yo.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=s(function(...u){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,u);let c=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(c),c}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=s(function(...u){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,u)}catch(c){return this.invokeRuleCatch(c,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let i=this.RULE_STACK.length===1,a=t&&!this.isBackTracking()&&this.recoveryEnabled;if(ls(e)){let o=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return r(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),r(e);throw o}}else throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let o=t.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=t;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,V.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,TT)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let i=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,Xd],o,1536,e,Xd)}else throw this.raiseEarlyExitException(e,V.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let l=t.GATE;if(l!==void 0){let u=i;i=s(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=t;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,yT,o)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let i=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);let o=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,qd],o,1280,e,qd)}}repetitionSepSecondInternal(e,t,r,i,a){for(;r();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,i,a],r,1536,e,a)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),i=Le(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].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 kT(t,e))}}subruleInternal(e,t,r){let i;try{let a=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,a),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}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 i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,r)}catch(a){i=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,t,r){let i,a=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Sm(i,t,a))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===Im?r:a}}else throw r}saveRecogState(){let e=this.errors,t=re(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),Rt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},s(Zr,"RecognizerEngine"),Zr),ei,PT=(ei=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:dt.errorMessageProvider}SAVE_ERROR(e){if(ls(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:re(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return re(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],o=Cs(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:i});throw this.SAVE_ERROR(new $T(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],a=xs(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ET(u,this.LA(1),l))}},s(ei,"ErrorHandler"),ei),ti,_T=(ti=class{initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(it(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return bc([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Fe(e.ruleStack),r=this.getGAstProductions()[t];return new gT(r,e).startWalking()}},s(ti,"ContentAssist"),ti),al={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(al);var Jd=!0,Qd=Math.pow(2,8)-1,Fm=rr({name:"RECORDING_PHASE_TOKEN",pattern:le.NA});ba([Fm]);var Gm=$s(Fm,`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(Gm);var DT={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},ni,MT=(ni=class{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,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${t}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},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 go}topLevelRuleRecord(e,t){try{let r=new Ia({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 gn.call(this,ne,e,t)}atLeastOneInternalRecord(e,t){gn.call(this,Ce,t,e)}atLeastOneSepFirstInternalRecord(e,t){gn.call(this,Se,t,e,Jd)}manyInternalRecord(e,t){gn.call(this,j,t,e)}manySepFirstInternalRecord(e,t){gn.call(this,Te,t,e,Jd)}orInternalRecord(e,t){return Um.call(this,e,t)}subruleInternalRecord(e,t,r){if(us(t),!e||w(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ga(this.recordingProdStack),a=e.ruleName,o=new ce({idx:t,nonTerminalName:a,label:r?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?DT:al}consumeInternalRecord(e,t,r){if(us(t),!Nc(e)){let o=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=ga(this.recordingProdStack),a=new B({idx:t,terminalType:e,label:r?.LABEL});return i.definition.push(a),Gm}},s(ni,"GastRecorder"),ni);function gn(n,e,t,r=!1){us(t);let i=ga(this.recordingProdStack),a=on(e)?e:e.DEF,o=new n({definition:[],idx:t});return r&&(o.separator=e.SEP),w(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),al}s(gn,"recordProd");function Um(n,e){us(e);let t=ga(this.recordingProdStack),r=Le(n)===!1,i=r===!1?n:n.DEF,a=new ve({definition:[],idx:e,ignoreAmbiguities:r&&n.IGNORE_AMBIGUITIES===!0});w(n,"MAX_LOOKAHEAD")&&(a.maxLookahead=n.MAX_LOOKAHEAD);let o=gh(i,l=>on(l.GATE));return a.hasPredicates=o,t.definition.push(a),N(i,l=>{let u=new ye({definition:[]});a.definition.push(u),w(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:w(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),al}s(Um,"recordOrProd");function Yl(n){return n===0?"":`${n}`}s(Yl,"getIdxSuffix");function us(n){if(n<0||n>Qd){let e=new Error(`Invalid DSL Method idx value: <${n}> Idx value must be a none negative value smaller than ${Qd+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}s(us,"assertMethodIdxIsValid");var ri,FT=(ri=class{initPerformanceTracer(e){if(w(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=dt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=kc(t),o=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return t()}},s(ri,"PerformanceTracer"),ri);function Bm(n,e){e.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(r,i);a&&(a.get||a.set)?Object.defineProperty(n.prototype,i,a):n.prototype[i]=t.prototype[i]})})}s(Bm,"applyMixins");var go=$s(Rt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(go);var dt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:tr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),yo=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),de;(function(n){n[n.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",n[n.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",n[n.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",n[n.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",n[n.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",n[n.LEFT_RECURSION=5]="LEFT_RECURSION",n[n.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",n[n.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",n[n.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",n[n.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",n[n.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",n[n.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",n[n.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",n[n.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(de||(de={}));function ql(n=void 0){return function(){return n}}s(ql,"EMPTY_ALT");var Ft,Uc=(Ft=class{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{$c(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),N(this.definedRulesNames,i=>{let a=this[i].originalGrammarAction,o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=Rm({rules:Q(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(F(r)&&this.skipValidations===!1){let i=Am({rules:Q(this.gastProductionsCache),tokenTypes:Q(this.tokensMap),errMsgProvider:Ot,grammarName:t}),a=om({lookaheadStrategy:this.lookaheadStrategy,rules:Q(this.gastProductionsCache),tokenTypes:Q(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,a)}}),F(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=mp(Q(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Q(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Q(this.gastProductionsCache))})),!Ft.DEFER_DEFINITION_ERRORS_HANDLING&&!F(this.definitionErrors))throw e=C(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;let r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),w(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES For further details.`);this.skipValidations=w(t,"skipValidations")?t.skipValidations:dt.skipValidations}},s(Ft,"Parser"),Ft);Uc.DEFER_DEFINITION_ERRORS_HANDLING=!1;Bm(Uc,[CT,ST,wT,LT,OT,bT,PT,_T,MT,FT]);var ii,GT=(ii=class extends Uc{constructor(e,t=dt){let r=re(t);r.outputCst=!1,super(e,r)}},s(ii,"EmbeddedActionsParser"),ii);function an(n,e,t){return`${n.name}_${e}_${t}`}s(an,"buildATNKey");var At=1,UT=2,Km=4,Vm=5,Ss=7,BT=8,KT=9,VT=10,jT=11,jm=12,ai,Bc=(ai=class{constructor(e){this.target=e}isEpsilon(){return!1}},s(ai,"AbstractTransition"),ai),si,Kc=(si=class extends Bc{constructor(e,t){super(e),this.tokenType=t}},s(si,"AtomTransition"),si),oi,Wm=(oi=class extends Bc{constructor(e){super(e)}isEpsilon(){return!0}},s(oi,"EpsilonTransition"),oi),li,Vc=(li=class extends Bc{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}},s(li,"RuleTransition"),li);function Hm(n){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};zm(e,n);let t=n.length;for(let r=0;rjc(n,e,a));return dn(n,e,r,t,...i)}s(Qm,"alternation");function Zm(n,e,t){let r=X(n,e,t,{type:At});pt(n,r);let i=dn(n,e,r,t,Ct(n,e,t));return eg(n,e,t,i)}s(Zm,"option");function Ct(n,e,t){let r=xe(C(t.definition,i=>jc(n,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:ng(n,r)}s(Ct,"block");function Wc(n,e,t,r,i){let a=r.left,o=r.right,l=X(n,e,t,{type:jT});pt(n,l);let u=X(n,e,t,{type:jm});return a.loopback=l,u.loopback=l,n.decisionMap[an(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=l,z(o,l),i===void 0?(z(l,a),z(l,u)):(z(l,u),z(l,i.left),z(i.right,a)),{left:a,right:u}}s(Wc,"plus");function Hc(n,e,t,r,i){let a=r.left,o=r.right,l=X(n,e,t,{type:VT});pt(n,l);let u=X(n,e,t,{type:jm}),c=X(n,e,t,{type:KT});return l.loopback=c,u.loopback=c,z(l,a),z(l,u),z(o,c),i!==void 0?(z(c,u),z(c,i.left),z(i.right,a)):z(c,l),n.decisionMap[an(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=l,{left:l,right:u}}s(Hc,"star");function eg(n,e,t,r){let i=r.left,a=r.right;return z(i,a),n.decisionMap[an(e,"Option",t.idx)]=i,r}s(eg,"optional");function pt(n,e){return n.decisionStates.push(e),e.decision=n.decisionStates.length-1,e.decision}s(pt,"defineDecisionState");function dn(n,e,t,r,...i){let a=X(n,e,r,{type:BT,start:t});t.end=a;for(let l of i)l!==void 0?(z(t,l.left),z(l.right,a)):z(t,a);let o={left:t,right:a};return n.decisionMap[an(e,tg(r),r.idx)]=t,o}s(dn,"makeAlts");function tg(n){if(n instanceof ve)return"Alternation";if(n instanceof ne)return"Option";if(n instanceof j)return"Repetition";if(n instanceof Te)return"RepetitionWithSeparator";if(n instanceof Ce)return"RepetitionMandatory";if(n instanceof Se)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}s(tg,"getProdType");function ng(n,e){let t=e.length;for(let a=0;ae.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}},s(ui,"ATNConfigSet"),ui);function zc(n,e=!0){return`${e?`a${n.alt}`:""}s${n.state.stateNumber}:${n.stack.map(t=>t.stateNumber.toString()).join("_")}`}s(zc,"getATNConfigKey");function sg(n,e){let t={};return r=>{let i=r.toString(),a=t[i];return a!==void 0||(a={atnStartState:n,decision:e,states:{}},t[i]=a),a}}s(sg,"createDFACache");var ci,og=(ci=class{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;rconsole.log(r))}initialize(e){this.atn=Hm(e.rules),this.dfas=lg(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=an(r,"Alternation",t),c=this.atn.decisionMap[u].decision,d=C(Vl({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),f=>C(f,h=>h[0]));if(Jl(d,!1)&&!a){let f=ue(d,(h,p,g)=>(N(p,y=>{y&&(h[y.tokenTypeIdx]=g,N(y.categoryMatches,k=>{h[k]=g}))}),h),{});return i?function(h){var p;let g=this.LA(1),y=f[g.tokenTypeIdx];if(h!==void 0&&y!==void 0){let k=(p=h[y])===null||p===void 0?void 0:p.GATE;if(k!==void 0&&k.call(this)===!1)return}return y}:function(){let h=this.LA(1);return f[h.tokenTypeIdx]}}else return i?function(f){let h=new og,p=f===void 0?0:f.length;for(let y=0;yC(f,h=>h[0]));if(Jl(d)&&d[0][0]&&!a){let f=d[0],h=be(f);if(h.length===1&&F(h[0].categoryMatches)){let p=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===p}}else{let p=ue(h,(g,y)=>(y!==void 0&&(g[y.tokenTypeIdx]=!0,N(y.categoryMatches,k=>{g[k]=!0})),g),{});return function(){let g=this.LA(1);return p[g.tokenTypeIdx]===!0}}}return function(){let f=Ws.call(this,o,c,Zd,l);return typeof f=="object"?!1:f===0}}},s(di,"LLStarLookaheadStrategy"),di);function Jl(n,e=!0){let t=new Set;for(let r of n){let i=new Set;for(let a of r){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of o)if(t.has(l)){if(!i.has(l))return!1}else t.add(l),i.add(l)}}return!0}s(Jl,"isLL1Sequence");function lg(n){let e=n.decisionStates.length,t=Array(e);for(let r=0;rDt(i)).join(", "),t=n.production.idx===0?"":n.production.idx,r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(", ")}> in <${hg(n.production)}${t}> inside <${n.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,r}s(fg,"buildAmbiguityError");function hg(n){if(n instanceof ce)return"SUBRULE";if(n instanceof ne)return"OPTION";if(n instanceof ve)return"OR";if(n instanceof Ce)return"AT_LEAST_ONE";if(n instanceof Se)return"AT_LEAST_ONE_SEP";if(n instanceof Te)return"MANY_SEP";if(n instanceof j)return"MANY";if(n instanceof B)return"CONSUME";throw Error("non exhaustive match")}s(hg,"getProductionDslName");function pg(n,e,t){let r=Ee(e.configs.elements,a=>a.state.transitions),i=Qy(r.filter(a=>a instanceof Kc).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:n}}s(pg,"buildAdaptivePredictError");function mg(n,e){return n.edges[e.tokenTypeIdx]}s(mg,"getExistingTargetState");function gg(n,e,t){let r=new Xl,i=[];for(let o of n.elements){if(t.is(o.alt)===!1)continue;if(o.state.type===Ss){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u0&&!Ag(a))for(let o of i)a.add(o);return a}s(gg,"computeReachSet");function yg(n,e){if(n instanceof Kc&&Lc(e,n.tokenType))return n.target}s(yg,"getReachableTarget");function Tg(n,e){let t;for(let r of n.elements)if(e.is(r.alt)===!0){if(t===void 0)t=r.alt;else if(t!==r.alt)return}return t}s(Tg,"getUniqueAlt");function Yc(n){return{configs:n,edges:{},isAcceptState:!1,prediction:-1}}s(Yc,"newDFAState");function Ql(n,e,t,r){return r=qc(n,r),e.edges[t.tokenTypeIdx]=r,r}s(Ql,"addDFAEdge");function qc(n,e){if(e===To)return e;let t=e.configs.key,r=n.states[t];return r!==void 0?r:(e.configs.finalize(),n.states[t]=e,e)}s(qc,"addDFAState");function vg(n){let e=new Xl,t=n.transitions.length;for(let r=0;r0){let i=[...n.stack],a={state:i.pop(),alt:n.alt,stack:i};cs(a,e)}else e.add(n);return}t.epsilonOnlyTransitions||e.add(n);let r=t.transitions.length;for(let i=0;i1)return!0;return!1}s(xg,"hasConflictingAltSet");function Cg(n){for(let e of Array.from(n.values()))if(Object.keys(e).length===1)return!0;return!1}s(Cg,"hasStateAssociatedWithOneAlt");var ef;(function(n){function e(t){return typeof t=="string"}s(e,"is"),n.is=e})(ef||(ef={}));var Zl;(function(n){function e(t){return typeof t=="string"}s(e,"is"),n.is=e})(Zl||(Zl={}));var tf;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}s(e,"is"),n.is=e})(tf||(tf={}));var vo;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}s(e,"is"),n.is=e})(vo||(vo={}));var M;(function(n){function e(r,i){return r===Number.MAX_VALUE&&(r=vo.MAX_VALUE),i===Number.MAX_VALUE&&(i=vo.MAX_VALUE),{line:r,character:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&m.uinteger(i.line)&&m.uinteger(i.character)}s(t,"is"),n.is=t})(M||(M={}));var _;(function(n){function e(r,i,a,o){if(m.uinteger(r)&&m.uinteger(i)&&m.uinteger(a)&&m.uinteger(o))return{start:M.create(r,i),end:M.create(a,o)};if(M.is(r)&&M.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${a}, ${o}]`)}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&M.is(i.start)&&M.is(i.end)}s(t,"is"),n.is=t})(_||(_={}));var Ro;(function(n){function e(r,i){return{uri:r,range:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&_.is(i.range)&&(m.string(i.uri)||m.undefined(i.uri))}s(t,"is"),n.is=t})(Ro||(Ro={}));var nf;(function(n){function e(r,i,a,o){return{targetUri:r,targetRange:i,targetSelectionRange:a,originSelectionRange:o}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&_.is(i.targetRange)&&m.string(i.targetUri)&&_.is(i.targetSelectionRange)&&(_.is(i.originSelectionRange)||m.undefined(i.originSelectionRange))}s(t,"is"),n.is=t})(nf||(nf={}));var eu;(function(n){function e(r,i,a,o){return{red:r,green:i,blue:a,alpha:o}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&m.numberRange(i.red,0,1)&&m.numberRange(i.green,0,1)&&m.numberRange(i.blue,0,1)&&m.numberRange(i.alpha,0,1)}s(t,"is"),n.is=t})(eu||(eu={}));var rf;(function(n){function e(r,i){return{range:r,color:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&_.is(i.range)&&eu.is(i.color)}s(t,"is"),n.is=t})(rf||(rf={}));var af;(function(n){function e(r,i,a){return{label:r,textEdit:i,additionalTextEdits:a}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&m.string(i.label)&&(m.undefined(i.textEdit)||Ea.is(i))&&(m.undefined(i.additionalTextEdits)||m.typedArray(i.additionalTextEdits,Ea.is))}s(t,"is"),n.is=t})(af||(af={}));var sf;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(sf||(sf={}));var of;(function(n){function e(r,i,a,o,l,u){let c={startLine:r,endLine:i};return m.defined(a)&&(c.startCharacter=a),m.defined(o)&&(c.endCharacter=o),m.defined(l)&&(c.kind=l),m.defined(u)&&(c.collapsedText=u),c}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&m.uinteger(i.startLine)&&m.uinteger(i.startLine)&&(m.undefined(i.startCharacter)||m.uinteger(i.startCharacter))&&(m.undefined(i.endCharacter)||m.uinteger(i.endCharacter))&&(m.undefined(i.kind)||m.string(i.kind))}s(t,"is"),n.is=t})(of||(of={}));var tu;(function(n){function e(r,i){return{location:r,message:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&Ro.is(i.location)&&m.string(i.message)}s(t,"is"),n.is=t})(tu||(tu={}));var lf;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(lf||(lf={}));var uf;(function(n){n.Unnecessary=1,n.Deprecated=2})(uf||(uf={}));var cf;(function(n){function e(t){let r=t;return m.objectLiteral(r)&&m.string(r.href)}s(e,"is"),n.is=e})(cf||(cf={}));var Ao;(function(n){function e(r,i,a,o,l,u){let c={range:r,message:i};return m.defined(a)&&(c.severity=a),m.defined(o)&&(c.code=o),m.defined(l)&&(c.source=l),m.defined(u)&&(c.relatedInformation=u),c}s(e,"create"),n.create=e;function t(r){var i;let a=r;return m.defined(a)&&_.is(a.range)&&m.string(a.message)&&(m.number(a.severity)||m.undefined(a.severity))&&(m.integer(a.code)||m.string(a.code)||m.undefined(a.code))&&(m.undefined(a.codeDescription)||m.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(m.string(a.source)||m.undefined(a.source))&&(m.undefined(a.relatedInformation)||m.typedArray(a.relatedInformation,tu.is))}s(t,"is"),n.is=t})(Ao||(Ao={}));var Aa;(function(n){function e(r,i,...a){let o={title:r,command:i};return m.defined(a)&&a.length>0&&(o.arguments=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.string(i.title)&&m.string(i.command)}s(t,"is"),n.is=t})(Aa||(Aa={}));var Ea;(function(n){function e(a,o){return{range:a,newText:o}}s(e,"replace"),n.replace=e;function t(a,o){return{range:{start:a,end:a},newText:o}}s(t,"insert"),n.insert=t;function r(a){return{range:a,newText:""}}s(r,"del"),n.del=r;function i(a){let o=a;return m.objectLiteral(o)&&m.string(o.newText)&&_.is(o.range)}s(i,"is"),n.is=i})(Ea||(Ea={}));var nu;(function(n){function e(r,i,a){let o={label:r};return i!==void 0&&(o.needsConfirmation=i),a!==void 0&&(o.description=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&m.string(i.label)&&(m.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(m.string(i.description)||i.description===void 0)}s(t,"is"),n.is=t})(nu||(nu={}));var ka;(function(n){function e(t){let r=t;return m.string(r)}s(e,"is"),n.is=e})(ka||(ka={}));var df;(function(n){function e(a,o,l){return{range:a,newText:o,annotationId:l}}s(e,"replace"),n.replace=e;function t(a,o,l){return{range:{start:a,end:a},newText:o,annotationId:l}}s(t,"insert"),n.insert=t;function r(a,o){return{range:a,newText:"",annotationId:o}}s(r,"del"),n.del=r;function i(a){let o=a;return Ea.is(o)&&(nu.is(o.annotationId)||ka.is(o.annotationId))}s(i,"is"),n.is=i})(df||(df={}));var ru;(function(n){function e(r,i){return{textDocument:r,edits:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&lu.is(i.textDocument)&&Array.isArray(i.edits)}s(t,"is"),n.is=t})(ru||(ru={}));var iu;(function(n){function e(r,i,a){let o={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return i&&i.kind==="create"&&m.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||m.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||m.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}s(t,"is"),n.is=t})(iu||(iu={}));var au;(function(n){function e(r,i,a,o){let l={kind:"rename",oldUri:r,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),o!==void 0&&(l.annotationId=o),l}s(e,"create"),n.create=e;function t(r){let i=r;return i&&i.kind==="rename"&&m.string(i.oldUri)&&m.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||m.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||m.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}s(t,"is"),n.is=t})(au||(au={}));var su;(function(n){function e(r,i,a){let o={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return i&&i.kind==="delete"&&m.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||m.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||m.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ka.is(i.annotationId))}s(t,"is"),n.is=t})(su||(su={}));var ou;(function(n){function e(t){let r=t;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>m.string(i.kind)?iu.is(i)||au.is(i)||su.is(i):ru.is(i)))}s(e,"is"),n.is=e})(ou||(ou={}));var ff;(function(n){function e(r){return{uri:r}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.string(i.uri)}s(t,"is"),n.is=t})(ff||(ff={}));var hf;(function(n){function e(r,i){return{uri:r,version:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.string(i.uri)&&m.integer(i.version)}s(t,"is"),n.is=t})(hf||(hf={}));var lu;(function(n){function e(r,i){return{uri:r,version:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.string(i.uri)&&(i.version===null||m.integer(i.version))}s(t,"is"),n.is=t})(lu||(lu={}));var pf;(function(n){function e(r,i,a,o){return{uri:r,languageId:i,version:a,text:o}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.string(i.uri)&&m.string(i.languageId)&&m.integer(i.version)&&m.string(i.text)}s(t,"is"),n.is=t})(pf||(pf={}));var uu;(function(n){n.PlainText="plaintext",n.Markdown="markdown";function e(t){let r=t;return r===n.PlainText||r===n.Markdown}s(e,"is"),n.is=e})(uu||(uu={}));var ds;(function(n){function e(t){let r=t;return m.objectLiteral(t)&&uu.is(r.kind)&&m.string(r.value)}s(e,"is"),n.is=e})(ds||(ds={}));var mf;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(mf||(mf={}));var gf;(function(n){n.PlainText=1,n.Snippet=2})(gf||(gf={}));var yf;(function(n){n.Deprecated=1})(yf||(yf={}));var Tf;(function(n){function e(r,i,a){return{newText:r,insert:i,replace:a}}s(e,"create"),n.create=e;function t(r){let i=r;return i&&m.string(i.newText)&&_.is(i.insert)&&_.is(i.replace)}s(t,"is"),n.is=t})(Tf||(Tf={}));var vf;(function(n){n.asIs=1,n.adjustIndentation=2})(vf||(vf={}));var Rf;(function(n){function e(t){let r=t;return r&&(m.string(r.detail)||r.detail===void 0)&&(m.string(r.description)||r.description===void 0)}s(e,"is"),n.is=e})(Rf||(Rf={}));var Af;(function(n){function e(t){return{label:t}}s(e,"create"),n.create=e})(Af||(Af={}));var Ef;(function(n){function e(t,r){return{items:t||[],isIncomplete:!!r}}s(e,"create"),n.create=e})(Ef||(Ef={}));var Eo;(function(n){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(e,"fromPlainText"),n.fromPlainText=e;function t(r){let i=r;return m.string(i)||m.objectLiteral(i)&&m.string(i.language)&&m.string(i.value)}s(t,"is"),n.is=t})(Eo||(Eo={}));var kf;(function(n){function e(t){let r=t;return!!r&&m.objectLiteral(r)&&(ds.is(r.contents)||Eo.is(r.contents)||m.typedArray(r.contents,Eo.is))&&(t.range===void 0||_.is(t.range))}s(e,"is"),n.is=e})(kf||(kf={}));var $f;(function(n){function e(t,r){return r?{label:t,documentation:r}:{label:t}}s(e,"create"),n.create=e})($f||($f={}));var xf;(function(n){function e(t,r,...i){let a={label:t};return m.defined(r)&&(a.documentation=r),m.defined(i)?a.parameters=i:a.parameters=[],a}s(e,"create"),n.create=e})(xf||(xf={}));var Cf;(function(n){n.Text=1,n.Read=2,n.Write=3})(Cf||(Cf={}));var Sf;(function(n){function e(t,r){let i={range:t};return m.number(r)&&(i.kind=r),i}s(e,"create"),n.create=e})(Sf||(Sf={}));var If;(function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26})(If||(If={}));var Nf;(function(n){n.Deprecated=1})(Nf||(Nf={}));var wf;(function(n){function e(t,r,i,a,o){let l={name:t,kind:r,location:{uri:a,range:i}};return o&&(l.containerName=o),l}s(e,"create"),n.create=e})(wf||(wf={}));var Lf;(function(n){function e(t,r,i,a){return a!==void 0?{name:t,kind:r,location:{uri:i,range:a}}:{name:t,kind:r,location:{uri:i}}}s(e,"create"),n.create=e})(Lf||(Lf={}));var bf;(function(n){function e(r,i,a,o,l,u){let c={name:r,detail:i,kind:a,range:o,selectionRange:l};return u!==void 0&&(c.children=u),c}s(e,"create"),n.create=e;function t(r){let i=r;return i&&m.string(i.name)&&m.number(i.kind)&&_.is(i.range)&&_.is(i.selectionRange)&&(i.detail===void 0||m.string(i.detail))&&(i.deprecated===void 0||m.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}s(t,"is"),n.is=t})(bf||(bf={}));var Of;(function(n){n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll"})(Of||(Of={}));var ko;(function(n){n.Invoked=1,n.Automatic=2})(ko||(ko={}));var Pf;(function(n){function e(r,i,a){let o={diagnostics:r};return i!=null&&(o.only=i),a!=null&&(o.triggerKind=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.typedArray(i.diagnostics,Ao.is)&&(i.only===void 0||m.typedArray(i.only,m.string))&&(i.triggerKind===void 0||i.triggerKind===ko.Invoked||i.triggerKind===ko.Automatic)}s(t,"is"),n.is=t})(Pf||(Pf={}));var _f;(function(n){function e(r,i,a){let o={title:r},l=!0;return typeof i=="string"?(l=!1,o.kind=i):Aa.is(i)?o.command=i:o.edit=i,l&&a!==void 0&&(o.kind=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return i&&m.string(i.title)&&(i.diagnostics===void 0||m.typedArray(i.diagnostics,Ao.is))&&(i.kind===void 0||m.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Aa.is(i.command))&&(i.isPreferred===void 0||m.boolean(i.isPreferred))&&(i.edit===void 0||ou.is(i.edit))}s(t,"is"),n.is=t})(_f||(_f={}));var Df;(function(n){function e(r,i){let a={range:r};return m.defined(i)&&(a.data=i),a}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&_.is(i.range)&&(m.undefined(i.command)||Aa.is(i.command))}s(t,"is"),n.is=t})(Df||(Df={}));var Mf;(function(n){function e(r,i){return{tabSize:r,insertSpaces:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&m.uinteger(i.tabSize)&&m.boolean(i.insertSpaces)}s(t,"is"),n.is=t})(Mf||(Mf={}));var Ff;(function(n){function e(r,i,a){return{range:r,target:i,data:a}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&_.is(i.range)&&(m.undefined(i.target)||m.string(i.target))}s(t,"is"),n.is=t})(Ff||(Ff={}));var Gf;(function(n){function e(r,i){return{range:r,parent:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&_.is(i.range)&&(i.parent===void 0||n.is(i.parent))}s(t,"is"),n.is=t})(Gf||(Gf={}));var Uf;(function(n){n.namespace="namespace",n.type="type",n.class="class",n.enum="enum",n.interface="interface",n.struct="struct",n.typeParameter="typeParameter",n.parameter="parameter",n.variable="variable",n.property="property",n.enumMember="enumMember",n.event="event",n.function="function",n.method="method",n.macro="macro",n.keyword="keyword",n.modifier="modifier",n.comment="comment",n.string="string",n.number="number",n.regexp="regexp",n.operator="operator",n.decorator="decorator"})(Uf||(Uf={}));var Bf;(function(n){n.declaration="declaration",n.definition="definition",n.readonly="readonly",n.static="static",n.deprecated="deprecated",n.abstract="abstract",n.async="async",n.modification="modification",n.documentation="documentation",n.defaultLibrary="defaultLibrary"})(Bf||(Bf={}));var Kf;(function(n){function e(t){let r=t;return m.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}s(e,"is"),n.is=e})(Kf||(Kf={}));var Vf;(function(n){function e(r,i){return{range:r,text:i}}s(e,"create"),n.create=e;function t(r){let i=r;return i!=null&&_.is(i.range)&&m.string(i.text)}s(t,"is"),n.is=t})(Vf||(Vf={}));var jf;(function(n){function e(r,i,a){return{range:r,variableName:i,caseSensitiveLookup:a}}s(e,"create"),n.create=e;function t(r){let i=r;return i!=null&&_.is(i.range)&&m.boolean(i.caseSensitiveLookup)&&(m.string(i.variableName)||i.variableName===void 0)}s(t,"is"),n.is=t})(jf||(jf={}));var Wf;(function(n){function e(r,i){return{range:r,expression:i}}s(e,"create"),n.create=e;function t(r){let i=r;return i!=null&&_.is(i.range)&&(m.string(i.expression)||i.expression===void 0)}s(t,"is"),n.is=t})(Wf||(Wf={}));var Hf;(function(n){function e(r,i){return{frameId:r,stoppedLocation:i}}s(e,"create"),n.create=e;function t(r){let i=r;return m.defined(i)&&_.is(r.stoppedLocation)}s(t,"is"),n.is=t})(Hf||(Hf={}));var cu;(function(n){n.Type=1,n.Parameter=2;function e(t){return t===1||t===2}s(e,"is"),n.is=e})(cu||(cu={}));var du;(function(n){function e(r){return{value:r}}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&(i.tooltip===void 0||m.string(i.tooltip)||ds.is(i.tooltip))&&(i.location===void 0||Ro.is(i.location))&&(i.command===void 0||Aa.is(i.command))}s(t,"is"),n.is=t})(du||(du={}));var zf;(function(n){function e(r,i,a){let o={position:r,label:i};return a!==void 0&&(o.kind=a),o}s(e,"create"),n.create=e;function t(r){let i=r;return m.objectLiteral(i)&&M.is(i.position)&&(m.string(i.label)||m.typedArray(i.label,du.is))&&(i.kind===void 0||cu.is(i.kind))&&i.textEdits===void 0||m.typedArray(i.textEdits,Ea.is)&&(i.tooltip===void 0||m.string(i.tooltip)||ds.is(i.tooltip))&&(i.paddingLeft===void 0||m.boolean(i.paddingLeft))&&(i.paddingRight===void 0||m.boolean(i.paddingRight))}s(t,"is"),n.is=t})(zf||(zf={}));var Yf;(function(n){function e(t){return{kind:"snippet",value:t}}s(e,"createSnippet"),n.createSnippet=e})(Yf||(Yf={}));var qf;(function(n){function e(t,r,i,a){return{insertText:t,filterText:r,range:i,command:a}}s(e,"create"),n.create=e})(qf||(qf={}));var Xf;(function(n){function e(t){return{items:t}}s(e,"create"),n.create=e})(Xf||(Xf={}));var Jf;(function(n){n.Invoked=0,n.Automatic=1})(Jf||(Jf={}));var Qf;(function(n){function e(t,r){return{range:t,text:r}}s(e,"create"),n.create=e})(Qf||(Qf={}));var Zf;(function(n){function e(t,r){return{triggerKind:t,selectedCompletionInfo:r}}s(e,"create"),n.create=e})(Zf||(Zf={}));var eh;(function(n){function e(t){let r=t;return m.objectLiteral(r)&&Zl.is(r.uri)&&m.string(r.name)}s(e,"is"),n.is=e})(eh||(eh={}));var th;(function(n){function e(a,o,l,u){return new HT(a,o,l,u)}s(e,"create"),n.create=e;function t(a){let o=a;return!!(m.defined(o)&&m.string(o.uri)&&(m.undefined(o.languageId)||m.string(o.languageId))&&m.uinteger(o.lineCount)&&m.func(o.getText)&&m.func(o.positionAt)&&m.func(o.offsetAt))}s(t,"is"),n.is=t;function r(a,o){let l=a.getText(),u=i(o,(d,f)=>{let h=d.range.start.line-f.range.start.line;return h===0?d.range.start.character-f.range.start.character:h}),c=l.length;for(let d=u.length-1;d>=0;d--){let f=u[d],h=a.offsetAt(f.range.start),p=a.offsetAt(f.range.end);if(p<=c)l=l.substring(0,h)+f.newText+l.substring(p,l.length);else throw new Error("Overlapping edit");c=h}return l}s(r,"applyEdits"),n.applyEdits=r;function i(a,o){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),c=a.slice(l);i(u,o),i(c,o);let d=0,f=0,h=0;for(;d0&&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,i=t.length;if(i===0)return M.create(0,e);for(;re?i=o:r=o+1}let a=r-1;return M.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],i=e.line+1"u"}s(r,"undefined"),n.undefined=r;function i(p){return p===!0||p===!1}s(i,"boolean"),n.boolean=i;function a(p){return e.call(p)==="[object String]"}s(a,"string"),n.string=a;function o(p){return e.call(p)==="[object Number]"}s(o,"number"),n.number=o;function l(p,g,y){return e.call(p)==="[object Number]"&&g<=p&&p<=y}s(l,"numberRange"),n.numberRange=l;function u(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}s(u,"integer"),n.integer=u;function c(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}s(c,"uinteger"),n.uinteger=c;function d(p){return e.call(p)==="[object Function]"}s(d,"func"),n.func=d;function f(p){return p!==null&&typeof p=="object"}s(f,"objectLiteral"),n.objectLiteral=f;function h(p,g){return Array.isArray(p)&&p.every(g)}s(h,"typedArray"),n.typedArray=h})(m||(m={}));var hi,Sg=(hi=class{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Jc(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new ll;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new $o(e.startOffset,e.image.length,rs(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 o=new $o(a.startOffset,a.image.length,rs(a),a.tokenType,!0);o.root=this.rootNode,t.push(o)}let r=this.current,i=!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),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},s(hi,"CstNodeBuilder"),hi),pi,Xc=(pi=class{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;let r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(t=this.container)===null||t===void 0?void 0:t.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},s(pi,"AbstractCstNode"),pi),mi,$o=(mi=class extends Xc{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,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=t,this._range=r}},s(mi,"LeafCstNodeImpl"),mi),gi,ll=(gi=class extends Xc{constructor(){super(...arguments),this.content=new zT(this)}get children(){return this.content}get offset(){var e,t;return(t=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:0}get length(){return this.end-this.offset}get end(){var e,t;return(t=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&t!==void 0?t:0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:r}=e,{range:i}=t;this._rangeCache={start:r.start,end:i.end.line=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},s(gi,"CompositeCstNodeImpl"),gi),Gt,zT=(Gt=class extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Gt.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},s(Gt,"CstNodeContainer"),Gt),yi,Jc=(yi=class extends ll{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},s(yi,"RootCstNodeImpl"),yi),xo=Symbol("Datatype");function Hs(n){return n.$type===xo}s(Hs,"isDataTypeNode");var nh="​",Ig=s(n=>n.endsWith(nh)?n:n+nh,"withRuleSuffix"),Ti,Qc=(Ti=class{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";this.wrapper=new qT(t,Object.assign(Object.assign({},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()}},s(Ti,"AbstractLangiumParser"),Ti),vi,Ng=(vi=class extends Qc{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Sg,this.stack=[],this.assignmentMap=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),i=this.wrapper.DEFINE_RULE(Ig(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment)return Rs(e)?xo:Sa(e)??e.name}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let i=t.rule?this.allRules.get(t.rule):this.mainRule;if(!i)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let a=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:a,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{let i=!this.isRecording()&&e!==void 0;if(i){let o={$type:e};this.stack.push(o),e===xo&&(o.value="")}let a;try{a=t(r)}catch{a=void 0}return a===void 0&&i&&(a=this.construct()),a}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let i=0;ir)return t.splice(0,i);return t.splice(0,t.length)}consume(e,t,r){let i=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let o=this.nodeBuilder.buildLeafNode(i,r),{assignment:l,isCrossRef:u}=this.getAssignment(r),c=this.current;if(l){let d=lt(r)?i.image:this.converter.convert(i.image,o);this.assign(l.operator,l.feature,d,o,u)}else if(Hs(c)){let d=i.image;lt(r)||(d=this.converter.convert(d,o).toString()),c.value+=d}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,i,a){let o;!this.isRecording()&&!r&&(o=this.nodeBuilder.buildCompositeNode(i));let l=this.wrapper.wrapSubrule(e,t,a);!this.isRecording()&&o&&o.length>0&&this.performSubruleAssignment(l,i,o)}performSubruleAssignment(e,t,r){let{assignment:i,isCrossRef:a}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,r,a);else if(!i){let o=this.current;if(Hs(o))o.value+=e.toString();else if(typeof e=="object"&&e){let l=this.assignWithoutOverride(e,o);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 i={$type:e};this.stack.push(i),this.assign(t.operator,t.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return zo(e),this.nodeBuilder.construct(e),this.stack.pop(),Hs(e)?this.converter.convert(e.value,e.$cstNode):(ec(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=xa(e,ot);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?ys(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,r,i,a){let o=this.current,l;switch(a&&typeof r=="string"?l=this.linker.buildReference(o,t,i,r):l=r,e){case"=":{o[t]=l;break}case"?=":{o[t]=!0;break}case"+=":Array.isArray(o[t])||(o[t]=[]),o[t].push(l)}}assignWithoutOverride(e,t){for(let[i,a]of Object.entries(t)){let o=e[i];o===void 0?e[i]=a:Array.isArray(o)&&Array.isArray(a)&&(a.push(...o),e[i]=a)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},s(vi,"LangiumParser"),vi),Ri,wg=(Ri=class{buildMismatchTokenMessage(e){return tr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return tr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return tr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return tr.buildEarlyExitMessage(e)}},s(Ri,"AbstractParserErrorMessageProvider"),Ri),Ai,Zc=(Ai=class extends wg{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}\`.`}},s(Ai,"LangiumParserErrorMessageProvider"),Ai),Ei,Lg=(Ei=class extends Qc{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(Ig(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,i,a){this.before(i),this.wrapper.wrapSubrule(e,t,a),this.after(i)}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}},s(Ei,"LangiumCompletionParser"),Ei),YT={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Zc},ki,qT=(ki=class extends GT{constructor(e,t){let r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},YT),{lookaheadStrategy:r?new Fc({maxLookahead:t.maxLookahead}):new WT({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}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)}},s(ki,"ChevrotainWrapper"),ki);function ul(n,e,t){return bg({parser:e,tokens:t,ruleNames:new Map},n),e}s(ul,"createParser");function bg(n,e){let t=qo(e,!1),r=Y(e.rules).filter(ge).filter(i=>t.has(i));for(let i of r){let a=Object.assign(Object.assign({},n),{consume:1,optional:1,subrule:1,many:1,or:1});n.parser.rule(i,Et(a,i.definition))}}s(bg,"buildRules");function Et(n,e,t=!1){let r;if(lt(e))r=Gg(n,e);else if(vt(e))r=Og(n,e);else if(ot(e))r=Et(n,e.terminal);else if(ys(e))r=ed(n,e);else if(ut(e))r=Pg(n,e);else if(jo(e))r=Dg(n,e);else if(Ho(e))r=Mg(n,e);else if(un(e))r=Fg(n,e);else if(Wu(e)){let i=n.consume++;r=s(()=>n.parser.consume(i,Rt,e),"method")}else throw new Go(e.$cstNode,`Unexpected element type: ${e.$type}`);return td(n,t?void 0:fs(e),r,e.cardinality)}s(Et,"buildElement");function Og(n,e){let t=As(e);return()=>n.parser.action(t,e)}s(Og,"buildAction");function Pg(n,e){let t=e.rule.ref;if(ge(t)){let r=n.subrule++,i=t.fragment,a=e.arguments.length>0?_g(t,e.arguments):()=>({});return o=>n.parser.subrule(r,nd(n,t),i,e,a(o))}else if(qe(t)){let r=n.consume++,i=Co(n,t.name);return()=>n.parser.consume(r,i,e)}else if(t)$t();else throw new Go(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}s(Pg,"buildRuleCall");function _g(n,e){let t=e.map(r=>We(r.value));return r=>{let i={};for(let a=0;ae(r)||t(r)}else if(Mu(n)){let e=We(n.left),t=We(n.right);return r=>e(r)&&t(r)}else if(Gu(n)){let e=We(n.value);return t=>!e(t)}else if(Uu(n)){let e=n.parameter.ref.name;return t=>t!==void 0&&t[e]===!0}else if(Du(n)){let e=!!n.true;return()=>e}$t()}s(We,"buildPredicate");function Dg(n,e){if(e.elements.length===1)return Et(n,e.elements[0]);{let t=[];for(let i of e.elements){let a={ALT:Et(n,i,!0)},o=fs(i);o&&(a.GATE=We(o)),t.push(a)}let r=n.or++;return i=>n.parser.alternatives(r,t.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(o.GATE=()=>l(i)),o}))}}s(Dg,"buildAlternatives");function Mg(n,e){if(e.elements.length===1)return Et(n,e.elements[0]);let t=[];for(let l of e.elements){let u={ALT:Et(n,l,!0)},c=fs(l);c&&(u.GATE=We(c)),t.push(u)}let r=n.or++,i=s((l,u)=>{let c=u.getRuleStack().join("-");return`uGroup_${l}_${c}`},"idFunc"),a=s(l=>n.parser.alternatives(r,t.map((u,c)=>{let d={ALT:s(()=>!0,"ALT")},f=n.parser;d.ALT=()=>{if(u.ALT(l),!f.isRecording()){let p=i(r,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let g=f.unorderedGroups.get(p);typeof g?.[c]>"u"&&(g[c]=!0)}};let h=u.GATE;return h?d.GATE=()=>h(l):d.GATE=()=>!f.unorderedGroups.get(i(r,f))?.[c],d})),"alternatives"),o=td(n,fs(e),a,"*");return l=>{o(l),n.parser.isRecording()||n.parser.unorderedGroups.delete(i(r,n.parser))}}s(Mg,"buildUnorderedGroup");function Fg(n,e){let t=e.elements.map(r=>Et(n,r));return r=>t.forEach(i=>i(r))}s(Fg,"buildGroup");function fs(n){if(un(n))return n.guardCondition}s(fs,"getGuardCondition");function ed(n,e,t=e.terminal){if(t)if(ut(t)&&ge(t.rule.ref)){let r=t.rule.ref,i=n.subrule++;return a=>n.parser.subrule(i,nd(n,r),!1,e,a)}else if(ut(t)&&qe(t.rule.ref)){let r=n.consume++,i=Co(n,t.rule.ref.name);return()=>n.parser.consume(r,i,e)}else if(lt(t)){let r=n.consume++,i=Co(n,t.value);return()=>n.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let r=Zo(e.type.ref),i=r?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+As(e.type.ref));return ed(n,e,i)}}s(ed,"buildCrossReference");function Gg(n,e){let t=n.consume++,r=n.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>n.parser.consume(t,r,e)}s(Gg,"buildKeyword");function td(n,e,t,r){let i=e&&We(e);if(!r)if(i){let a=n.or++;return o=>n.parser.alternatives(a,[{ALT:s(()=>t(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:ql(),GATE:s(()=>!i(o),"GATE")}])}else return t;if(r==="*"){let a=n.many++;return o=>n.parser.many(a,{DEF:s(()=>t(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(r==="+"){let a=n.many++;if(i){let o=n.or++;return l=>n.parser.alternatives(o,[{ALT:s(()=>n.parser.atLeastOne(a,{DEF:s(()=>t(l),"DEF")}),"ALT"),GATE:s(()=>i(l),"GATE")},{ALT:ql(),GATE:s(()=>!i(l),"GATE")}])}else return o=>n.parser.atLeastOne(a,{DEF:s(()=>t(o),"DEF")})}else if(r==="?"){let a=n.optional++;return o=>n.parser.optional(a,{DEF:s(()=>t(o),"DEF"),GATE:i?()=>i(o):void 0})}else $t()}s(td,"wrap");function nd(n,e){let t=Ug(n,e),r=n.parser.getRule(t);if(!r)throw new Error(`Rule "${t}" not found."`);return r}s(nd,"getRule");function Ug(n,e){if(ge(e))return e.name;if(n.ruleNames.has(e))return n.ruleNames.get(e);{let t=e,r=t.$container,i=e.$type;for(;!ge(r);)(un(r)||jo(r)||Ho(r))&&(i=r.elements.indexOf(t).toString()+":"+i),t=r,r=r.$container;return i=r.name+":"+i,n.ruleNames.set(e,i),i}}s(Ug,"getRuleName");function Co(n,e){let t=n.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}s(Co,"getToken");function rd(n){let e=n.Grammar,t=n.parser.Lexer,r=new Lg(n);return ul(e,r,t.definition),r.finalize(),r}s(rd,"createCompletionParser");function id(n){let e=ad(n);return e.finalize(),e}s(id,"createLangiumParser");function ad(n){let e=n.Grammar,t=n.parser.Lexer,r=new Ng(n);return ul(e,r,t.definition)}s(ad,"prepareLangiumParser");var $i,cl=($i=class{constructor(){this.diagnostics=[]}buildTokens(e,t){let r=Y(qo(e,!1)),i=this.buildTerminalTokens(r),a=this.buildKeywordTokens(r,i,t);return i.forEach(o=>{let l=o.PATTERN;typeof l=="object"&&l&&"test"in l&&as(l)?a.unshift(o):a.push(o)}),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qe).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){let t=Es(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=as(t)?le.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?(t.lastIndex=i,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(ge).flatMap(i=>xt(i).filter(lt)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let i=this.buildKeywordPattern(e,r),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,t)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(ic(e.value)):e.value}findLongerAlt(e,t){return t.reduce((r,i)=>{let a=i?.PATTERN;return a?.source&&ac("^"+a.source+"$",e.value)&&r.push(i),r},[])}},s($i,"DefaultTokenBuilder"),$i),xi,sd=(xi=class{convert(e,t){let r=t.grammarSource;if(ys(r)&&(r=cc(r)),ut(r)){let i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,t)}return e}runConverter(e,t,r){var i;switch(e.name.toUpperCase()){case"INT":return Ve.convertInt(t);case"STRING":return Ve.convertString(t);case"ID":return Ve.convertID(t)}switch((i=vc(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return Ve.convertNumber(t);case"boolean":return Ve.convertBoolean(t);case"bigint":return Ve.convertBigint(t);case"date":return Ve.convertDate(t);default:return t}}},s(xi,"DefaultValueConverter"),xi),Ve;(function(n){function e(c){let d="";for(let f=1;f{typeof setImmediate>"u"?setTimeout(n,0):setImmediate(n)})}s(dl,"delayNextTick");var zs=0,Bg=10;function fl(){return zs=performance.now(),new G.CancellationTokenSource}s(fl,"startCancelableOperation");function od(n){Bg=n}s(od,"setInterruptionPeriod");var kt=Symbol("OperationCancelled");function fn(n){return n===kt}s(fn,"isOperationCancelled");async function se(n){if(n===G.CancellationToken.None)return;let e=performance.now();if(e-zs>=Bg&&(zs=e,await dl(),zs=performance.now()),n.isCancellationRequested)throw kt}s(se,"interruptAndCheck");var Ci,ft=(Ci=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}},s(Ci,"Deferred"),Ci),Tt,rh=(Tt=class{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(Tt.isIncremental(r)){let i=ud(r.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+r.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,d=fu(r.text,!1,a);if(u-l===d.length)for(let h=0,p=d.length;he?i=o:r=o+1}let a=r-1;return e=this.ensureBeforeEOL(e,t[a]),{line:a,character: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];if(e.character<=0)return r;let i=e.line+1t&&ld(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}},s(Tt,"FullTextDocument"),Tt),So;(function(n){function e(i,a,o,l){return new rh(i,a,o,l)}s(e,"create"),n.create=e;function t(i,a,o){if(i instanceof rh)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(t,"update"),n.update=t;function r(i,a){let o=i.getText(),l=Io(a.map(Kg),(d,f)=>{let h=d.range.start.line-f.range.start.line;return h===0?d.range.start.character-f.range.start.character:h}),u=0,c=[];for(let d of l){let f=i.offsetAt(d.range.start);if(fu&&c.push(o.substring(u,f)),d.newText.length&&c.push(d.newText),u=i.offsetAt(d.range.end)}return c.push(o.substr(u)),c.join("")}s(r,"applyEdits"),n.applyEdits=r})(So||(So={}));function Io(n,e){if(n.length<=1)return n;let t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);Io(r,e),Io(i,e);let a=0,o=0,l=0;for(;at.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}s(ud,"getWellformedRange");function Kg(n){let e=ud(n.range);return e!==n.range?{newText:n.newText,range:e}:n}s(Kg,"getWellformedEdit");var Vg;(()=>{var n={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}s(a,"e");function o(u,c){for(var d,f="",h=0,p=-1,g=0,y=0;y<=u.length;++y){if(y2){var k=f.lastIndexOf("/");if(k!==f.length-1){k===-1?(f="",h=0):h=(f=f.slice(0,k)).length-1-f.lastIndexOf("/"),p=y,g=0;continue}}else if(f.length===2||f.length===1){f="",h=0,p=y,g=0;continue}}c&&(f.length>0?f+="/..":f="..",h=2)}else f.length>0?f+="/"+u.slice(p+1,y):f=u.slice(p+1,y),h=y-p-1;p=y,g=0}else d===46&&g!==-1?++g:g=-1}return f}s(o,"r");var l={resolve:s(function(){for(var u,c="",d=!1,f=arguments.length-1;f>=-1&&!d;f--){var h;f>=0?h=arguments[f]:(u===void 0&&(u=process.cwd()),h=u),a(h),h.length!==0&&(c=h+"/"+c,d=h.charCodeAt(0)===47)}return c=o(c,!d),d?c.length>0?"/"+c:"/":c.length>0?c:"."},"resolve"),normalize:s(function(u){if(a(u),u.length===0)return".";var c=u.charCodeAt(0)===47,d=u.charCodeAt(u.length-1)===47;return(u=o(u,!c)).length!==0||c||(u="."),u.length>0&&d&&(u+="/"),c?"/"+u:u},"normalize"),isAbsolute:s(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var u,c=0;c0&&(u===void 0?u=d:u+="/"+d)}return u===void 0?".":l.normalize(u)},"join"),relative:s(function(u,c){if(a(u),a(c),u===c||(u=l.resolve(u))===(c=l.resolve(c)))return"";for(var d=1;dy){if(c.charCodeAt(p+R)===47)return c.slice(p+R+1);if(R===0)return c.slice(p+R)}else h>y&&(u.charCodeAt(d+R)===47?k=R:R===0&&(k=0));break}var E=u.charCodeAt(d+R);if(E!==c.charCodeAt(p+R))break;E===47&&(k=R)}var v="";for(R=d+k+1;R<=f;++R)R!==f&&u.charCodeAt(R)!==47||(v.length===0?v+="..":v+="/..");return v.length>0?v+c.slice(p+k):(p+=k,c.charCodeAt(p)===47&&++p,c.slice(p))},"relative"),_makeLong:s(function(u){return u},"_makeLong"),dirname:s(function(u){if(a(u),u.length===0)return".";for(var c=u.charCodeAt(0),d=c===47,f=-1,h=!0,p=u.length-1;p>=1;--p)if((c=u.charCodeAt(p))===47){if(!h){f=p;break}}else h=!1;return f===-1?d?"/":".":d&&f===1?"//":u.slice(0,f)},"dirname"),basename:s(function(u,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');a(u);var d,f=0,h=-1,p=!0;if(c!==void 0&&c.length>0&&c.length<=u.length){if(c.length===u.length&&c===u)return"";var g=c.length-1,y=-1;for(d=u.length-1;d>=0;--d){var k=u.charCodeAt(d);if(k===47){if(!p){f=d+1;break}}else y===-1&&(p=!1,y=d+1),g>=0&&(k===c.charCodeAt(g)?--g==-1&&(h=d):(g=-1,h=y))}return f===h?h=y:h===-1&&(h=u.length),u.slice(f,h)}for(d=u.length-1;d>=0;--d)if(u.charCodeAt(d)===47){if(!p){f=d+1;break}}else h===-1&&(p=!1,h=d+1);return h===-1?"":u.slice(f,h)},"basename"),extname:s(function(u){a(u);for(var c=-1,d=0,f=-1,h=!0,p=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)f===-1&&(h=!1,f=g+1),y===46?c===-1?c=g:p!==1&&(p=1):c!==-1&&(p=-1);else if(!h){d=g+1;break}}return c===-1||f===-1||p===0||p===1&&c===f-1&&c===d+1?"":u.slice(c,f)},"extname"),format:s(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return(function(c,d){var f=d.dir||d.root,h=d.base||(d.name||"")+(d.ext||"");return f?f===d.root?f+h:f+"/"+h:h})(0,u)},"format"),parse:s(function(u){a(u);var c={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return c;var d,f=u.charCodeAt(0),h=f===47;h?(c.root="/",d=1):d=0;for(var p=-1,g=0,y=-1,k=!0,R=u.length-1,E=0;R>=d;--R)if((f=u.charCodeAt(R))!==47)y===-1&&(k=!1,y=R+1),f===46?p===-1?p=R:E!==1&&(E=1):p!==-1&&(E=-1);else if(!k){g=R+1;break}return p===-1||y===-1||E===0||E===1&&p===y-1&&p===g+1?y!==-1&&(c.base=c.name=g===0&&h?u.slice(1,y):u.slice(g,y)):(g===0&&h?(c.name=u.slice(1,p),c.base=u.slice(1,y)):(c.name=u.slice(g,p),c.base=u.slice(g,y)),c.ext=u.slice(p,y)),g>0?c.dir=u.slice(0,g-1):h&&(c.dir="/"),c},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function t(i){var a=e[i];if(a!==void 0)return a.exports;var o=e[i]={exports:{}};return n[i](o,o.exports,t),o.exports}s(t,"r"),t.d=(i,a)=>{for(var o in a)t.o(a,o)&&!t.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:a[o]})},t.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:s(()=>h,"URI"),Utils:s(()=>Ie,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u($,T){if(!$.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!a.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!o.test($.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test($.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,"s");let c="",d="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;const Pe=class Pe{static isUri(T){return T instanceof Pe||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,S,x,D,P,O=!1){typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=(function(he,ie){return he||ie?he:"file"})(T,O),this.authority=S||c,this.path=(function(he,ie){switch(he){case"https":case"http":case"file":ie?ie[0]!==d&&(ie=d+ie):ie=d}return ie})(this.scheme,x||c),this.query=D||c,this.fragment=P||c,u(this,O))}get fsPath(){return E(this,!1)}with(T){if(!T)return this;let{scheme:S,authority:x,path:D,query:P,fragment:O}=T;return S===void 0?S=this.scheme:S===null&&(S=c),x===void 0?x=this.authority:x===null&&(x=c),D===void 0?D=this.path:D===null&&(D=c),P===void 0?P=this.query:P===null&&(P=c),O===void 0?O=this.fragment:O===null&&(O=c),S===this.scheme&&x===this.authority&&D===this.path&&P===this.query&&O===this.fragment?this:new g(S,x,D,P,O)}static parse(T,S=!1){let x=f.exec(T);return x?new g(x[2]||c,ee(x[4]||c),ee(x[5]||c),ee(x[7]||c),ee(x[9]||c),S):new g(c,c,c,c,c)}static file(T){let S=c;if(i&&(T=T.replace(/\\/g,d)),T[0]===d&&T[1]===d){let x=T.indexOf(d,2);x===-1?(S=T.substring(2),T=d):(S=T.substring(2,x),T=T.substring(x)||d)}return new g("file",S,T,c,c)}static from(T){let S=new g(T.scheme,T.authority,T.path,T.query,T.fragment);return u(S,!0),S}toString(T=!1){return v(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof Pe)return T;{let S=new g(T);return S._formatted=T.external,S._fsPath=T._sep===p?T.fsPath:null,S}}return T}};s(Pe,"f");let h=Pe,p=i?1:void 0;const Oa=class Oa extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=E(this,!1)),this._fsPath}toString(T=!1){return T?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=p),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}};s(Oa,"l");let g=Oa,y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function k($,T,S){let x,D=-1;for(let P=0;P<$.length;P++){let O=$.charCodeAt(P);if(O>=97&&O<=122||O>=65&&O<=90||O>=48&&O<=57||O===45||O===46||O===95||O===126||T&&O===47||S&&O===91||S&&O===93||S&&O===58)D!==-1&&(x+=encodeURIComponent($.substring(D,P)),D=-1),x!==void 0&&(x+=$.charAt(P));else{x===void 0&&(x=$.substr(0,P));let he=y[O];he!==void 0?(D!==-1&&(x+=encodeURIComponent($.substring(D,P)),D=-1),x+=he):D===-1&&(D=P)}}return D!==-1&&(x+=encodeURIComponent($.substring(D))),x!==void 0?x:$}s(k,"d");function R($){let T;for(let S=0;S<$.length;S++){let x=$.charCodeAt(S);x===35||x===63?(T===void 0&&(T=$.substr(0,S)),T+=y[x]):T!==void 0&&(T+=$[S])}return T!==void 0?T:$}s(R,"p");function E($,T){let S;return S=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?T?$.path.substr(1):$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(S=S.replace(/\//g,"\\")),S}s(E,"m");function v($,T){let S=T?R:k,x="",{scheme:D,authority:P,path:O,query:he,fragment:ie}=$;if(D&&(x+=D,x+=":"),(P||D==="file")&&(x+=d,x+=d),P){let H=P.indexOf("@");if(H!==-1){let gt=P.substr(0,H);P=P.substr(H+1),H=gt.lastIndexOf(":"),H===-1?x+=S(gt,!1,!1):(x+=S(gt.substr(0,H),!1,!1),x+=":",x+=S(gt.substr(H+1),!1,!0)),x+="@"}P=P.toLowerCase(),H=P.lastIndexOf(":"),H===-1?x+=S(P,!1,!0):(x+=S(P.substr(0,H),!1,!0),x+=P.substr(H))}if(O){if(O.length>=3&&O.charCodeAt(0)===47&&O.charCodeAt(2)===58){let H=O.charCodeAt(1);H>=65&&H<=90&&(O=`/${String.fromCharCode(H+32)}:${O.substr(3)}`)}else if(O.length>=2&&O.charCodeAt(1)===58){let H=O.charCodeAt(0);H>=65&&H<=90&&(O=`${String.fromCharCode(H+32)}:${O.substr(2)}`)}x+=S(O,!0,!1)}return he&&(x+="?",x+=S(he,!1,!1)),ie&&(x+="#",x+=T?ie:k(ie,!1,!1)),x}s(v,"y");function I($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+I($.substr(3)):$}}s(I,"v");let K=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ee($){return $.match(K)?$.replace(K,(T=>I(T))):$}s(ee,"C");var Oe=t(470);let Re=Oe.posix||Oe,Ke="/";var Ie;(function($){$.joinPath=function(T,...S){return T.with({path:Re.join(T.path,...S)})},$.resolvePath=function(T,...S){let x=T.path,D=!1;x[0]!==Ke&&(x=Ke+x,D=!0);let P=Re.resolve(x,...S);return D&&P[0]===Ke&&!T.authority&&(P=P.substring(1)),T.with({path:P})},$.dirname=function(T){if(T.path.length===0||T.path===Ke)return T;let S=Re.dirname(T.path);return S.length===1&&S.charCodeAt(0)===46&&(S=""),T.with({path:S})},$.basename=function(T){return Re.basename(T.path)},$.extname=function(T){return Re.extname(T.path)}})(Ie||(Ie={}))})(),Vg=r})();var{URI:ht,Utils:Pa}=Vg,Ye;(function(n){n.basename=Pa.basename,n.dirname=Pa.dirname,n.extname=Pa.extname,n.joinPath=Pa.joinPath,n.resolvePath=Pa.resolvePath;function e(i,a){return i?.toString()===a?.toString()}s(e,"equals"),n.equals=e;function t(i,a){let o=typeof i=="string"?i:i.path,l=typeof a=="string"?a:a.path,u=o.split("/").filter(p=>p.length>0),c=l.split("/").filter(p=>p.length>0),d=0;for(;di??(i=So.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}},s(Si,"DefaultLangiumDocumentFactory"),Si),Ii,Wg=(Ii=class{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return Y(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(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(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=U.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=U.Changed,this.documentMap.delete(t)),r}},s(Ii,"DefaultLangiumDocuments"),Ii),kl=Symbol("ref_resolving"),Ni,Hg=(Ni=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=G.CancellationToken.None){for(let r of rt(e.parseResult.value))await se(t),vs(r).forEach(i=>this.doLink(i,e))}doLink(e,t){var r;let i=e.reference;if(i._ref===void 0){i._ref=kl;try{let a=this.getCandidate(e);if(nr(a))i._ref=a;else if(i._nodeDescription=a,this.langiumDocuments().hasDocument(a.documentUri)){let o=this.loadAstNode(a);i._ref=o??this.createLinkingError(e,a)}else i._ref=void 0}catch(a){console.error(`An error occurred while resolving reference to '${i.$refText}':`,a);let o=(r=a.message)!==null&&r!==void 0?r:String(a);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${o}`})}t.references.push(i)}}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,t,r,i){let a=this,o={$refNode:r,$refText:i,get ref(){var l;if(q(this._ref))return this._ref;if(ku(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:o,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=kl;let u=is(e).$document,c=a.getLinkedNode({reference:o,container:e,property:t});if(c.error&&u&&u.state=e.end)return a.ref}}if(r){let i=this.nameProvider.getNameNode(r);if(i&&(i===e||xu(e,i)))return r}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(t?.$cstNode)return this.nameProvider.getNameNode(t)??t.$cstNode}findReferences(e,t){let r=[];if(t.includeDeclaration){let a=this.getReferenceToSelf(e);a&&r.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(a=>Ye.equals(a.sourceUri,t.documentUri))),r.push(...i),Y(r)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let r=Ge(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Ra(t),local:!0}}}},s(Li,"DefaultReferences"),Li),bi,$a=(bi=class{constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return ns.sum(Y(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 i=r.indexOf(t);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var t;return(t=this.map.get(e))!==null&&t!==void 0?t:[]}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(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Y(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return Y(this.map.keys())}values(){return Y(this.map.values()).flat()}entriesGroupedByKey(){return Y(this.map.entries())}},s(bi,"MultiMap"),bi),Oi,No=(Oi=class{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}},s(Oi,"BiMap"),Oi),Pi,qg=(Pi=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=G.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=Ts,i=G.CancellationToken.None){let a=[];this.exportNode(e,a,t);for(let o of r(e))await se(i),this.exportNode(o,a,t);return a}exportNode(e,t,r){let i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,t=G.CancellationToken.None){let r=e.parseResult.value,i=new $a;for(let a of xt(r))await se(t),this.processNode(a,e,i);return i}processNode(e,t,r){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&r.add(i,this.descriptions.createDescription(e,a,t))}}},s(Pi,"DefaultScopeComputation"),Pi),_i,hu=(_i=class{constructor(e,t,r){var i;this.elements=e,this.outerScope=t,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}},s(_i,"StreamScope"),_i),Di,Xg=(Di=class{constructor(e,t,r){var i;this.elements=new Map,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let o=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(o,a)}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)}getAllElements(){let e=Y(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},s(Di,"MapScope"),Di),XT={getElement(){},getAllElements(){return Mo}},Mi,hl=(Mi=class{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")}},s(Mi,"DisposableCache"),Mi),Fi,dd=(Fi=class extends hl{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()}},s(Fi,"SimpleCache"),Fi),Gi,pl=(Gi=class extends hl{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 i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(r){let a=r();return i.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}},s(Gi,"ContextCache"),Gi),Ui,Jg=(Ui=class extends pl{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,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{let a=r.concat(i);for(let o of a)this.clear(o)}))}},s(Ui,"DocumentCache"),Ui),Bi,fd=(Bi=class extends dd{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},s(Bi,"WorkspaceCache"),Bi),Ki,Qg=(Ki=class{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 fd(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),i=Ge(e.container).precomputedScopes;if(i){let o=e.container;do{let l=i.get(o);l.length>0&&t.push(Y(l).filter(u=>this.reflection.isSubtype(u.type,r))),o=o.$container}while(o)}let a=this.getGlobalScope(r,e);for(let o=t.length-1;o>=0;o--)a=this.createScope(t[o],a);return a}createScope(e,t,r){return new hu(Y(e),t,r)}createScopeForNodes(e,t,r){let i=Y(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new hu(i,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Xg(this.indexManager.allElements(e)))}},s(Ki,"DefaultScopeProvider"),Ki);function hd(n){return typeof n.$comment=="string"}s(hd,"isAstNodeWithComment");function pu(n){return typeof n=="object"&&!!n&&("$ref"in n||"$error"in n)}s(pu,"isIntermediateReference");var Vi,Zg=(Vi=class{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??{},i=t?.replacer,a=s((l,u)=>this.replacer(l,u,r),"defaultReplacer"),o=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=Ge(e),JSON.stringify(e,o,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=t??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,t,{refText:r,sourceText:i,textRegions:a,comments:o,uriConverter:l}){var u,c,d,f;if(!this.ignoreProperties.has(e))if(me(t)){let h=t.ref,p=r?t.$refText:void 0;if(h){let g=Ge(h),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,t):y=g.uri.toString());let k=this.astNodeLocator.getAstNodePath(h);return{$ref:`${y}#${k}`,$refText:p}}else return{$error:(c=(u=t.error)===null||u===void 0?void 0:u.message)!==null&&c!==void 0?c:"Could not resolve reference",$refText:p}}else if(q(t)){let h;if(a&&(h=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&h?.$textRegion&&(h.$textRegion.documentURI=(d=this.currentDocument)===null||d===void 0?void 0:d.uri.toString())),i&&!e&&(h??(h=Object.assign({},t)),h.$sourceText=(f=t.$cstNode)===null||f===void 0?void 0:f.text),o){h??(h=Object.assign({},t));let p=this.commentProvider.getComment(t);p&&(h.$comment=p.replace(/\r/g,""))}return h??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),i=r.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=fc(e.$cstNode,a).map(t);o.length!==0&&(i[a]=o)}),e}}linkNode(e,t,r,i,a,o){for(let[u,c]of Object.entries(e))if(Array.isArray(c))for(let d=0;d{await this.handleException(()=>e.call(t,r,i,a),"An error occurred during validation",i,r)}}async handleException(e,t,r,i){try{await e()}catch(a){if(fn(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let o=a instanceof Error?a.message:String(a);r("error",`${t}: ${o}`,{node:i})}}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=Y(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(i=>t.includes(i.category))),r.map(i=>i.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(i,a,o,l)=>{await this.handleException(()=>e.call(r,i,a,o,l),t,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}},s(Wi,"ValidationRegistry"),Wi),Hi,ny=(Hi=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=G.CancellationToken.None){let i=e.parseResult,a=[];if(await se(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,a,t),t.stopAfterLexingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===we.LexingError})||(this.processParsingErrors(i,a,t),t.stopAfterParsingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===we.ParsingError}))||(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===we.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,t,r))}catch(o){if(fn(o))throw o;console.error("An error occurred during validation:",o)}return await se(r),a}processLexingErrors(e,t,r){var i,a,o;let l=[...e.lexerErrors,...(a=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&a!==void 0?a:[]];for(let u of l){let c=(o=u.severity)!==null&&o!==void 0?o:"error",d={severity:Qa(c),range:{start:{line:u.line-1,character:u.column-1},end:{line:u.line-1,character:u.column+u.length-1}},message:u.message,data:md(c),source:this.getSource()};t.push(d)}}processParsingErrors(e,t,r){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};a={start:l,end:l}}}}else a=rs(i.token);if(a){let o={severity:Qa("error"),range:a,message:i.message,data:Pt(we.ParsingError),source:this.getSource()};t.push(o)}}}processLinkingErrors(e,t,r){for(let i of e.references){let a=i.error;if(a){let o={node:a.container,property:a.property,index:a.index,data:{code:we.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};t.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,t,r=G.CancellationToken.None){let i=[],a=s((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),i}async validateAstBefore(e,t,r,i=G.CancellationToken.None){var a;let o=this.validationRegistry.checksBefore;for(let l of o)await se(i),await l(e,r,(a=t.categories)!==null&&a!==void 0?a:[],i)}async validateAstNodes(e,t,r,i=G.CancellationToken.None){await Promise.all(rt(e).map(async a=>{await se(i);let o=this.validationRegistry.getChecks(a.$type,t.categories);for(let l of o)await l(a,r,i)}))}async validateAstAfter(e,t,r,i=G.CancellationToken.None){var a;let o=this.validationRegistry.checksAfter;for(let l of o)await se(i),await l(e,r,(a=t.categories)!==null&&a!==void 0?a:[],i)}toDiagnostic(e,t,r){return{message:t,range:pd(r),severity:Qa(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},s(Hi,"DefaultDocumentValidator"),Hi);function pd(n){if(n.range)return n.range;let e;return typeof n.property=="string"?e=Xo(n.node.$cstNode,n.property,n.index):typeof n.keyword=="string"&&(e=hc(n.node.$cstNode,n.keyword,n.index)),e??(e=n.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}s(pd,"getDiagnosticRange");function Qa(n){switch(n){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+n)}}s(Qa,"toDiagnosticSeverity");function md(n){switch(n){case"error":return Pt(we.LexingError);case"warning":return Pt(we.LexingWarning);case"info":return Pt(we.LexingInfo);case"hint":return Pt(we.LexingHint);default:throw new Error("Invalid diagnostic severity: "+n)}}s(md,"toDiagnosticData");var we;(function(n){n.LexingError="lexing-error",n.LexingWarning="lexing-warning",n.LexingInfo="lexing-info",n.LexingHint="lexing-hint",n.ParsingError="parsing-error",n.LinkingError="linking-error"})(we||(we={}));var zi,ry=(zi=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let i=r??Ge(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 o,l=s(()=>{var u;return o??(o=Ra((u=this.nameProvider.getNameNode(e))!==null&&u!==void 0?u:e.$cstNode))},"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return l()},selectionSegment:Ra(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},s(zi,"DefaultAstNodeDescriptionProvider"),zi),Yi,iy=(Yi=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=G.CancellationToken.None){let r=[],i=e.parseResult.value;for(let a of rt(i))await se(t),vs(a).filter(o=>!nr(o)).forEach(o=>{let l=this.createDescription(o);l&&r.push(l)});return r}createDescription(e){let t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;let i=Ge(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:Ra(r),local:Ye.equals(t.documentUri,i)}}},s(Yi,"DefaultReferenceDescriptionProvider"),Yi),qi,ay=(qi=class{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((r,i)=>{if(!r||i.length===0)return r;let a=i.indexOf(this.indexSeparator);if(a>0){let o=i.substring(0,a),l=parseInt(i.substring(a+1));return r[o]?.[l]}return r[i]},e)}},s(qi,"DefaultAstNodeLocator"),qi),ml={};bo(ml,mh(Th()));var Xi,sy=(Xi=class{constructor(e){this._ready=new ft,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new ml.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=(r=(t=e.capabilities.workspace)===null||t===void 0?void 0:t.configuration)!==null&&r!==void 0?r:!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(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((i,a)=>{this.updateSectionConfiguration(i.section,r[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{let r=e.settings[t];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}},s(Xi,"DefaultConfigurationProvider"),Xi),Mt;(function(n){function e(t){return{dispose:s(async()=>await t(),"dispose")}}s(e,"create"),n.create=e})(Mt||(Mt={}));var Ji,oy=(Ji=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new $a,this.documentPhaseListeners=new $a,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=U.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=G.CancellationToken.None){var i,a;for(let o of e){let l=o.uri.toString();if(o.state===U.Validated){if(typeof t.validation=="boolean"&&t.validation)o.state=U.IndexedReferences,o.diagnostics=void 0,this.buildState.delete(l);else if(typeof t.validation=="object"){let u=this.buildState.get(l),c=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(c){let d=((a=t.validation.categories)!==null&&a!==void 0?a:hs.all).filter(f=>!c.includes(f));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:d})},result:u.result}),o.state=U.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=U.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=G.CancellationToken.None){this.currentState=U.Changed;for(let o of t)this.langiumDocuments.deleteDocument(o),this.buildState.delete(o.toString()),this.indexManager.remove(o);for(let o of e){if(!this.langiumDocuments.invalidateDocument(o)){let l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o);l.state=U.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(o.toString())}let i=Y(e).concat(t).map(o=>o.toString()).toSet();this.langiumDocuments.all.filter(o=>!i.has(o.uri.toString())&&this.shouldRelink(o,i)).forEach(o=>{this.serviceRegistry.getServices(o.uri).references.Linker.unlink(o),o.state=Math.min(o.state,U.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,t),await se(r);let a=this.sortDocuments(this.langiumDocuments.all.filter(o=>{var l;return o.stater(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t=0&&!this.hasTextDocument(e[r]);)r--;tr.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Mt.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,U.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,U.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,U.ComputedScopes,r,async a=>{let o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await o.computeLocalScopes(a,r)}),await this.runCancelable(e,U.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(e,U.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,U.Validated,r,a=>this.validate(a,r));for(let a of e){let o=this.buildState.get(a.uri.toString());o&&(o.completed=!0)}}prepareBuild(e,t){for(let r of e){let i=r.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:t,result:a?.result})}}async runCancelable(e,t,r,i){let a=e.filter(l=>l.statel.state===t);await this.notifyBuildPhase(o,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Mt.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Mt.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let i;if(t&&"path"in t?i=t:r=t,r??(r=G.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(kt):new Promise((a,o)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let c=this.langiumDocuments.getDocument(i);a(c?.uri)}else a(void 0)}),u=r.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(kt)})})}async notifyDocumentPhase(e,t,r){let i=this.documentPhaseListeners.get(t).slice();for(let a of i)try{await a(e,r)}catch(o){if(!fn(o))throw o}}async notifyBuildPhase(e,t,r){if(e.length===0)return;let i=this.buildPhaseListeners.get(t).slice();for(let a of i)await se(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,o=this.getBuildOptions(e).validation,l=typeof o=="object"?o:void 0,u=await a.validateDocument(e,l,t);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let c=this.buildState.get(e.uri.toString());if(c){(r=c.result)!==null&&r!==void 0||(c.result={});let d=(i=l?.categories)!==null&&i!==void 0?i:hs.all;c.result.validationChecks?c.result.validationChecks.push(...d):c.result.validationChecks=[...d]}}getBuildOptions(e){var t,r;return(r=(t=this.buildState.get(e.uri.toString()))===null||t===void 0?void 0:t.options)!==null&&r!==void 0?r:{}}},s(Ji,"DefaultDocumentBuilder"),Ji),Qi,ly=(Qi=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new pl,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=Ge(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{Ye.equals(o.targetUri,r)&&o.targetPath===t&&i.push(o)})}),Y(i)}allElements(e,t){let r=Y(this.symbolIndex.keys());return t&&(r=r.filter(i=>!t||t.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var i;return((i=this.symbolIndex.get(e))!==null&&i!==void 0?i:[]).filter(a=>this.astReflection.isSubtype(a.type,t))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=G.CancellationToken.None){let r=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),i=e.uri.toString();this.symbolIndex.set(i,r),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=G.CancellationToken.None){let r=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),r)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&t.has(i.targetUri.toString())):!1}},s(Qi,"DefaultIndexManager"),Qi),Zi,uy=(Zi=class{constructor(e){this.initialBuildOptions={},this._ready=new ft,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){var t;this.folders=(t=e.workspaceFolders)!==null&&t!==void 0?t:void 0}initialized(e){return this.mutex.write(t=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],t)})}async initializeWorkspace(e,t=G.CancellationToken.None){let r=await this.performStartup(e);await se(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),r=[],i=s(a=>{r.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,t,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,t,r,i){let a=await this.fileSystemProvider.readDirectory(t);await Promise.all(a.map(async o=>{if(this.includeEntry(e,o,r)){if(o.isDirectory)await this.traverseFolder(e,o.uri,r,i);else if(o.isFile){let l=await this.langiumDocuments.getOrCreateDocument(o.uri);i(l)}}}))}includeEntry(e,t,r){let i=Ye.basename(t.uri);if(i.startsWith("."))return!1;if(t.isDirectory)return i!=="node_modules"&&i!=="out";if(t.isFile){let a=Ye.extname(t.uri);return r.includes(a)}return!1}},s(Zi,"DefaultWorkspaceManager"),Zi),ea,cy=(ea=class{buildUnexpectedCharactersMessage(e,t,r,i,a){return Kl.buildUnexpectedCharactersMessage(e,t,r,i,a)}buildUnableToPopLexerModeMessage(e){return Kl.buildUnableToPopLexerModeMessage(e)}},s(ea,"DefaultLexerErrorMessageProvider"),ea),gd={mode:"full"},ta,yd=(ta=class{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=wo(t)?Object.values(t):t,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new le(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=gd){var r,i,a;let o=this.chevrotainLexer.tokenize(e);return{tokens:o.tokens,errors:o.errors,hidden:(r=o.groups.hidden)!==null&&r!==void 0?r:[],report:(a=(i=this.tokenBuilder).flushLexingReport)===null||a===void 0?void 0:a.call(i,e)}}toTokenTypeDictionary(e){if(wo(e))return e;let t=yl(e)?Object.values(e.modes).flat():e,r={};return t.forEach(i=>r[i.name]=i),r}},s(ta,"DefaultLexer"),ta);function gl(n){return Array.isArray(n)&&(n.length===0||"name"in n[0])}s(gl,"isTokenTypeArray");function yl(n){return n&&"modes"in n&&"defaultMode"in n}s(yl,"isIMultiModeLexerDefinition");function wo(n){return!gl(n)&&!yl(n)}s(wo,"isTokenTypeDictionary");function Td(n,e,t){let r,i;typeof n=="string"?(i=e,r=t):(i=n.range.start,r=e),i||(i=M.create(0,0));let a=Rd(n),o=Tl(r),l=dy({lines:a,position:i,options:o});return py({index:0,tokens:l,position:i})}s(Td,"parseJSDoc");function vd(n,e){let t=Tl(e),r=Rd(n);if(r.length===0)return!1;let i=r[0],a=r[r.length-1],o=t.start,l=t.end;return!!o?.exec(i)&&!!l?.exec(a)}s(vd,"isJSDoc");function Rd(n){let e="";return typeof n=="string"?e=n:e=n.text,e.split(Wh)}s(Rd,"getLines");var ih=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,JT=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function dy(n){var e,t,r;let i=[],a=n.position.line,o=n.position.character;for(let l=0;l=d.length){if(i.length>0){let h=M.create(a,o);i.push({type:"break",content:"",range:_.create(h,h)})}}else{ih.lastIndex=f;let h=ih.exec(d);if(h){let p=h[0],g=h[1],y=M.create(a,o+f),k=M.create(a,o+f+p.length);i.push({type:"tag",content:g,range:_.create(y,k)}),f+=p.length,f=Lo(d,f)}if(f0&&i[i.length-1].type==="break"?i.slice(0,-1):i}s(dy,"tokenize");function fy(n,e,t,r){let i=[];if(n.length===0){let a=M.create(t,r),o=M.create(t,r+e.length);i.push({type:"text",content:e,range:_.create(a,o)})}else{let a=0;for(let l of n){let u=l.index,c=e.substring(a,u);c.length>0&&i.push({type:"text",content:e.substring(a,u),range:_.create(M.create(t,a+r),M.create(t,u+r))});let d=c.length+1,f=l[1];if(i.push({type:"inline-tag",content:f,range:_.create(M.create(t,a+d+r),M.create(t,a+d+f.length+r))}),d+=f.length,l.length===4){d+=l[2].length;let h=l[3];i.push({type:"text",content:h,range:_.create(M.create(t,a+d+r),M.create(t,a+d+h.length+r))})}else i.push({type:"text",content:"",range:_.create(M.create(t,a+d+r),M.create(t,a+d+r))});a=u+l[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:_.create(M.create(t,a+r),M.create(t,a+r+o.length))})}return i}s(fy,"buildInlineTokens");var QT=/\S/,ZT=/\s*$/;function Lo(n,e){let t=n.substring(e).match(QT);return t?e+t.index:n.length}s(Lo,"skipWhitespace");function hy(n){let e=n.match(ZT);if(e&&typeof e.index=="number")return e.index}s(hy,"lastCharacter");function py(n){var e,t,r,i;let a=M.create(n.position.line,n.position.character);if(n.tokens.length===0)return new ah([],_.create(a,a));let o=[];for(;n.indext.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+=gu(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 i=r.toMarkdown(e);t+=gu(t)+i}return t.trim()}},s(na,"JSDocCommentImpl"),na),ra,$l=(ra=class{constructor(e,t,r,i){this.name=e,this.content=t,this.inline=r,this.range=i}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){var t,r;return(r=(t=e?.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let a=Ty(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 i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${t}`:this.content.inlines.length>1&&(i=`${i} ${t}`),this.inline?`{${i}}`:i}},s(ra,"JSDocTagImpl"),ra);function Ty(n,e,t){var r,i;if(n==="linkplain"||n==="linkcode"||n==="link"){let a=e.indexOf(" "),o=e;if(a>0){let l=Lo(e,a);o=e.substring(l),e=e.substring(0,a)}return(n==="linkcode"||n==="link"&&t.link==="code")&&(o=`\`${o}\``),(i=(r=t.renderLink)===null||r===void 0?void 0:r.call(t,e,o))!==null&&i!==void 0?i:vy(e,o)}}s(Ty,"renderInlineTag");function vy(n,e){try{return ht.parse(n,!0),`[${e}](${n})`}catch{return n}}s(vy,"renderLinkDefault");var ia,mu=(ia=class{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tr.range.start.line&&(e+=` `)}return e}toMarkdown(e){let t="";for(let r=0;ri.range.start.line&&(t+=` `)}return t}},s(ia,"JSDocTextImpl"),ia),aa,Ry=(aa=class{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}},s(aa,"JSDocLineImpl"),aa);function gu(n){return n.endsWith(` `)?` `:` `}s(gu,"fillNewlines");var sa,Ay=(sa=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&vd(t))return Td(t).toMarkdown({renderLink:s((r,i)=>this.documentationLinkRenderer(e,r,i),"renderLink"),renderTag:s(r=>this.documentationTagRenderer(e,r),"renderTag")})}documentationLinkRenderer(e,t,r){var i;let a=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);if(a&&a.nameSegment){let o=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${o},${l}`});return`[${r}](${u.toString()})`}else return}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let r=Ge(e).precomputedScopes;if(!r)return;let i=e;do{let a=r.get(i).find(o=>o.name===t);if(a)return a;i=i.$container}while(i)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(r=>r.name===t)}},s(sa,"JSDocDocumentationProvider"),sa),oa,Ey=(oa=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return hd(e)?e.$comment:(t=Nu(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}},s(oa,"DefaultCommentProvider"),oa),la,ky=(la=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},s(la,"DefaultAsyncParser"),la),ua,ev=(ua=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{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),i=new ft,a,o=t.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(r)},this.terminationDelay)});return r.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let 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 ft;return e.onCancellationRequested(()=>{let r=this.queue.indexOf(t);r>=0&&this.queue.splice(r,1),t.reject(kt)}),this.queue.push(t),t.promise}},s(ua,"AbstractThreadedAsyncParser"),ua),ca,tv=(ca=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,i){this.onReadyEmitter=new ml.Emitter,this.deferred=new ft,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,t(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),r(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(kt),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 ft,this.sendMessage(e),this.deferred.promise}},s(ca,"ParserWorker"),ca),da,$y=(da=class{constructor(){this.previousTokenSource=new G.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=fl();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=G.CancellationToken.None){let i=new ft,a={action:t,deferred:i,cancellationToken:r};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:t,deferred:r,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>t(i));r.resolve(a)}catch(a){fn(a)?r.resolve(void 0):r.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},s(da,"DefaultWorkspaceLock"),da),fa,xy=(fa=class{constructor(e){this.grammarElementIdMap=new No,this.tokenTypeIdMap=new No,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=>Object.assign(Object.assign({},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 i of rt(e))t.set(i,{});if(e.$cstNode)for(let i of va(e.$cstNode))r.set(i,{});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[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];r[i]=o;for(let l of a)q(l)?o.push(this.dehydrateAstNode(l,t)):me(l)?o.push(this.dehydrateReference(l,t)):o.push(l)}else q(a)?r[i]=this.dehydrateAstNode(a,t):me(a)?r[i]=this.dehydrateReference(a,t):a!==void 0&&(r[i]=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 Do(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),st(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,t)):ln(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 rt(e))t.set(a,{});let i;if(e.$cstNode)for(let a of va(e.$cstNode)){let o;"fullText"in a?(o=new Jc(a.fullText),i=o):"content"in a?o=new ll:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(r.set(a,o),o.root=i)}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[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];r[i]=o;for(let l of a)q(l)?o.push(this.setParent(this.hydrateAstNode(l,t),r)):me(l)?o.push(this.hydrateReference(l,r,i,t)):o.push(l)}else q(a)?r[i]=this.setParent(this.hydrateAstNode(a,t),r):me(a)?r[i]=this.hydrateReference(a,r,i,t):a!==void 0&&(r[i]=a);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,i){return this.linker.buildReference(t,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),st(i))for(let a of e.content){let o=this.hydrateCstNode(a,t,r++);i.content.push(o)}return i}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,i=e.length,a=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,c=e.hidden;return new $o(r,i,{start:{line:a,character:o},end:{line:l,character:u}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rt(this.grammar))Uo(t)&&this.grammarElementIdMap.set(t,e++)}},s(fa,"DefaultHydrator"),fa);function Je(n){return{documentation:{CommentProvider:s(e=>new Ey(e),"CommentProvider"),DocumentationProvider:s(e=>new Ay(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new ky(e),"AsyncParser"),GrammarConfig:s(e=>Ac(e),"GrammarConfig"),LangiumParser:s(e=>id(e),"LangiumParser"),CompletionParser:s(e=>rd(e),"CompletionParser"),ValueConverter:s(()=>new sd,"ValueConverter"),TokenBuilder:s(()=>new cl,"TokenBuilder"),Lexer:s(e=>new yd(e),"Lexer"),ParserErrorMessageProvider:s(()=>new Zc,"ParserErrorMessageProvider"),LexerErrorMessageProvider:s(()=>new cy,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new ay,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new ry(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new iy(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new Hg(e),"Linker"),NameProvider:s(()=>new zg,"NameProvider"),ScopeProvider:s(e=>new Qg(e),"ScopeProvider"),ScopeComputation:s(e=>new qg(e),"ScopeComputation"),References:s(e=>new Yg(e),"References")},serializer:{Hydrator:s(e=>new xy(e),"Hydrator"),JsonSerializer:s(e=>new Zg(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new ny(e),"DocumentValidator"),ValidationRegistry:s(e=>new ty(e),"ValidationRegistry")},shared:s(()=>n.shared,"shared")}}s(Je,"createDefaultCoreModule");function Qe(n){return{ServiceRegistry:s(e=>new ey(e),"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new Wg(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new jg(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new oy(e),"DocumentBuilder"),IndexManager:s(e=>new ly(e),"IndexManager"),WorkspaceManager:s(e=>new uy(e),"WorkspaceManager"),FileSystemProvider:s(e=>n.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new $y,"WorkspaceLock"),ConfigurationProvider:s(e=>new sy(e),"ConfigurationProvider")}}}s(Qe,"createDefaultSharedCoreModule");var yu;(function(n){n.merge=(e,t)=>ps(ps({},e),t)})(yu||(yu={}));function Z(n,e,t,r,i,a,o,l,u){let c=[n,e,t,r,i,a,o,l,u].reduce(ps,{});return xd(c)}s(Z,"inject");var Cy=Symbol("isProxy");function $d(n){if(n&&n[Cy])for(let e of Object.values(n))$d(e);return n}s($d,"eagerLoad");function xd(n,e){let t=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),set:s(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:s((r,i)=>i===Cy?!0:Tu(r,i,n,e||t),"get"),getOwnPropertyDescriptor:s((r,i)=>(Tu(r,i,n,e||t),Object.getOwnPropertyDescriptor(r,i)),"getOwnPropertyDescriptor"),has:s((r,i)=>i in n,"has"),ownKeys:s(()=>[...Object.getOwnPropertyNames(n)],"ownKeys")});return t}s(xd,"_inject");var sh=Symbol();function Tu(n,e,t,r){if(e in n){if(n[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:n[e]});if(n[e]===sh)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return n[e]}else if(e in t){let i=t[e];n[e]=sh;try{n[e]=typeof i=="function"?i(r):xd(i,r)}catch(a){throw n[e]=a instanceof Error?a:void 0,a}return n[e]}else return}s(Tu,"_resolve");function ps(n,e){if(e){for(let[t,r]of Object.entries(e))if(r!==void 0){let i=n[t];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?n[t]=ps(i,r):n[t]=r}}return n}s(ps,"_merge");var vu={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},_t;(function(n){n.REGULAR="indentation-sensitive",n.IGNORE_INDENTATION="ignore-indentation"})(_t||(_t={}));var ha,Sy=(ha=class extends cl{constructor(e=vu){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options=Object.assign(Object.assign({},vu),e),this.indentTokenType=rr({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=rr({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r=super.buildTokens(e,t);if(!gl(r))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:o,ignoreIndentationDelimiters:l}=this.options,u,c,d,f=[];for(let h of r){for(let[p,g]of l)h.name===p?h.PUSH_MODE=_t.IGNORE_INDENTATION:h.name===g&&(h.POP_MODE=!0);h.name===a?u=h:h.name===i?c=h:h.name===o?d=h:f.push(h)}if(!u||!c||!d)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[_t.REGULAR]:[u,c,...f,d],[_t.IGNORE_INDENTATION]:[...f,d]},defaultMode:_t.REGULAR}:[u,c,d,...f]}flushLexingReport(e){let t=super.flushLexingReport(e);return Object.assign(Object.assign({},t),{remainingDedents:this.flushRemainingDedents(e)})}isStartOfLine(e,t){return t===0||`\r `.includes(e[t-1])}matchWhitespace(e,t,r,i){var a;this.whitespaceRegExp.lastIndex=t;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:(a=o?.[0].length)!==null&&a!==void 0?a:0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,t,r,i){let a=this.getLineNumber(t,i);return $s(e,r,i,i+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,i){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:o,match:l}=this.matchWhitespace(e,t,r,i);return a<=o?null:(this.indentationStack.push(a),l)}dedentMatcher(e,t,r,i){var a,o,l,u;if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:c,prevIndentLevel:d,match:f}=this.matchWhitespace(e,t,r,i);if(c>=d)return null;let h=this.indentationStack.lastIndexOf(c);if(h===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${c} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:(o=(a=f?.[0])===null||a===void 0?void 0:a.length)!==null&&o!==void 0?o:0,line:this.getLineNumber(e,t),column:1}),null;let p=this.indentationStack.length-h-1,g=(u=(l=e.substring(0,t).match(/[\r\n]+$/))===null||l===void 0?void 0:l[0].length)!==null&&u!==void 0?u:1;for(let y=0;y1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},s(ha,"IndentationAwareTokenBuilder"),ha),pa,nv=(pa=class extends yd{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Sy)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=gd){let r=super.tokenize(e),i=r.report;t?.mode==="full"&&r.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:o}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=o.tokenTypeIdx,c=[],d=r.tokens.length-1;for(let f=0;f=0&&c.push(r.tokens[d]),r.tokens=c,r}},s(pa,"IndentationAwareLexer"),pa),Cd={};sn(Cd,{AstUtils:()=>Zu,BiMap:()=>No,Cancellation:()=>G,ContextCache:()=>pl,CstUtils:()=>Eu,DONE_RESULT:()=>oe,Deferred:()=>ft,Disposable:()=>Mt,DisposableCache:()=>hl,DocumentCache:()=>Jg,EMPTY_STREAM:()=>Mo,ErrorWithLocation:()=>Go,GrammarUtils:()=>Ou,MultiMap:()=>$a,OperationCancelled:()=>kt,Reduction:()=>ns,RegExpUtils:()=>nc,SimpleCache:()=>dd,StreamImpl:()=>He,TreeStreamImpl:()=>Ta,URI:()=>ht,UriUtils:()=>Ye,WorkspaceCache:()=>fd,assertUnreachable:()=>$t,delayNextTick:()=>dl,interruptAndCheck:()=>se,isOperationCancelled:()=>fn,loadGrammarFromJson:()=>Ze,setInterruptionPeriod:()=>od,startCancelableOperation:()=>fl,stream:()=>Y});bo(Cd,ml);var ma,Iy=(ma=class{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},s(ma,"EmptyFileSystemProvider"),ma),mt={fileSystemProvider:s(()=>new Iy,"fileSystemProvider")},rv={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},iv={AstReflection:s(()=>new Qu,"AstReflection")};function Ny(){let n=Z(Qe(mt),iv),e=Z(Je({shared:n}),rv);return n.ServiceRegistry.register(e),e}s(Ny,"createMinimalGrammarServices");function Ze(n){var e;let t=Ny(),r=t.serializer.JsonSerializer.deserialize(n);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}s(Ze,"loadGrammarFromJson");bo(vh,Cd);var av=Object.defineProperty,A=s((n,e)=>av(n,"name",{value:e,configurable:!0}),"__name"),oh="Statement",qs="Architecture";function wy(n){return Be.isInstance(n,qs)}s(wy,"isArchitecture");A(wy,"isArchitecture");var Ls="Axis",Ua="Branch";function Ly(n){return Be.isInstance(n,Ua)}s(Ly,"isBranch");A(Ly,"isBranch");var bs="Checkout",Os="CherryPicking",xl="ClassDefStatement",Ba="Commit";function by(n){return Be.isInstance(n,Ba)}s(by,"isCommit");A(by,"isCommit");var Cl="Curve",Sl="Edge",Il="Entry",Ka="GitGraph";function Oy(n){return Be.isInstance(n,Ka)}s(Oy,"isGitGraph");A(Oy,"isGitGraph");var Nl="Group",Xs="Info";function Py(n){return Be.isInstance(n,Xs)}s(Py,"isInfo");A(Py,"isInfo");var Ps="Item",wl="Junction",Va="Merge";function _y(n){return Be.isInstance(n,Va)}s(_y,"isMerge");A(_y,"isMerge");var Ll="Option",Js="Packet";function Dy(n){return Be.isInstance(n,Js)}s(Dy,"isPacket");A(Dy,"isPacket");var Qs="PacketBlock";function My(n){return Be.isInstance(n,Qs)}s(My,"isPacketBlock");A(My,"isPacketBlock");var Zs="Pie";function Fy(n){return Be.isInstance(n,Zs)}s(Fy,"isPie");A(Fy,"isPie");var eo="PieSection";function Gy(n){return Be.isInstance(n,eo)}s(Gy,"isPieSection");A(Gy,"isPieSection");var bl="Radar",Ol="Service",to="Treemap";function Uy(n){return Be.isInstance(n,to)}s(Uy,"isTreemap");A(Uy,"isTreemap");var Pl="TreemapRow",_s="Direction",Ds="Leaf",Ms="Section",Ut,By=(Ut=class extends $u{getAllTypes(){return[qs,Ls,Ua,bs,Os,xl,Ba,Cl,_s,Sl,Il,Ka,Nl,Xs,Ps,wl,Ds,Va,Ll,Js,Qs,Zs,eo,bl,Ms,Ol,oh,to,Pl]}computeIsSubtype(e,t){switch(e){case Ua:case bs:case Os:case Ba:case Va:return this.isSubtype(oh,t);case _s:return this.isSubtype(Ka,t);case Ds:case Ms:return this.isSubtype(Ps,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Entry:axis":return Ls;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case qs:return{name:qs,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Ls:return{name:Ls,properties:[{name:"label"},{name:"name"}]};case Ua:return{name:Ua,properties:[{name:"name"},{name:"order"}]};case bs:return{name:bs,properties:[{name:"branch"}]};case Os:return{name:Os,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case xl:return{name:xl,properties:[{name:"className"},{name:"styleText"}]};case Ba:return{name:Ba,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Cl:return{name:Cl,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Sl:return{name:Sl,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case Il:return{name:Il,properties:[{name:"axis"},{name:"value"}]};case Ka:return{name:Ka,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case Nl:return{name:Nl,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Xs:return{name:Xs,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Ps:return{name:Ps,properties:[{name:"classSelector"},{name:"name"}]};case wl:return{name:wl,properties:[{name:"id"},{name:"in"}]};case Va:return{name:Va,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ll:return{name:Ll,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case Js:return{name:Js,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Qs:return{name:Qs,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case Zs:return{name:Zs,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case eo:return{name:eo,properties:[{name:"label"},{name:"value"}]};case bl:return{name:bl,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Ol:return{name:Ol,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case to:return{name:to,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Pl:return{name:Pl,properties:[{name:"indent"},{name:"item"}]};case _s:return{name:_s,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case Ds:return{name:Ds,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case Ms:return{name:Ms,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},s(Ut,"MermaidAstReflection"),A(Ut,"MermaidAstReflection"),Ut),Be=new By,lh,sv=A(()=>lh??(lh=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Info","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":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),uh,ov=A(()=>uh??(uh=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Packet","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),ch,lv=A(()=>ch??(ch=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Pie","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),dh,uv=A(()=>dh??(dh=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),fh,cv=A(()=>fh??(fh=Ze(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),hh,dv=A(()=>hh??(hh=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Radar","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),ph,fv=A(()=>ph??(ph=Ze(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"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@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"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]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"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@14"}}},"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":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$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 */"}`)),"TreemapGrammar"),hv={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pv={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mv={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gv={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yv={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Tv={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vv={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hn={AstReflection:A(()=>new By,"AstReflection")},Rv={Grammar:A(()=>sv(),"Grammar"),LanguageMetaData:A(()=>hv,"LanguageMetaData"),parser:{}},Av={Grammar:A(()=>ov(),"Grammar"),LanguageMetaData:A(()=>pv,"LanguageMetaData"),parser:{}},Ev={Grammar:A(()=>lv(),"Grammar"),LanguageMetaData:A(()=>mv,"LanguageMetaData"),parser:{}},kv={Grammar:A(()=>uv(),"Grammar"),LanguageMetaData:A(()=>gv,"LanguageMetaData"),parser:{}},$v={Grammar:A(()=>cv(),"Grammar"),LanguageMetaData:A(()=>yv,"LanguageMetaData"),parser:{}},xv={Grammar:A(()=>dv(),"Grammar"),LanguageMetaData:A(()=>Tv,"LanguageMetaData"),parser:{}},Cv={Grammar:A(()=>fv(),"Grammar"),LanguageMetaData:A(()=>vv,"LanguageMetaData"),parser:{}},Sv=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Iv=/accTitle[\t ]*:([^\n\r]*)/,Nv=/title([\t ][^\n\r]*|)/,wv={ACC_DESCR:Sv,ACC_TITLE:Iv,TITLE:Nv},Bt,vl=(Bt=class extends sd{runConverter(e,t,r){let i=this.runCommonConverter(e,t,r);return i===void 0&&(i=this.runCustomConverter(e,t,r)),i===void 0?super.runConverter(e,t,r):i}runCommonConverter(e,t,r){let i=wv[e.name];if(i===void 0)return;let a=i.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,` `)}}},s(Bt,"AbstractMermaidValueConverter"),A(Bt,"AbstractMermaidValueConverter"),Bt),Kt,Rl=(Kt=class extends vl{runCustomConverter(e,t,r){}},s(Kt,"CommonValueConverter"),A(Kt,"CommonValueConverter"),Kt),Vt,St=(Vt=class extends cl{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let i=super.buildKeywordTokens(e,t,r);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},s(Vt,"AbstractMermaidTokenBuilder"),A(Vt,"AbstractMermaidTokenBuilder"),Vt),jt;jt=class extends St{},s(jt,"CommonTokenBuilder"),A(jt,"CommonTokenBuilder");var nt={},Lv={info:A(async()=>{let{createInfoServices:n}=await Nt(()=>Promise.resolve().then(()=>Wv),void 0),e=n().Info.parser.LangiumParser;nt.info=e},"info"),packet:A(async()=>{let{createPacketServices:n}=await Nt(()=>Promise.resolve().then(()=>Hv),void 0),e=n().Packet.parser.LangiumParser;nt.packet=e},"packet"),pie:A(async()=>{let{createPieServices:n}=await Nt(()=>Promise.resolve().then(()=>zv),void 0),e=n().Pie.parser.LangiumParser;nt.pie=e},"pie"),architecture:A(async()=>{let{createArchitectureServices:n}=await Nt(()=>Promise.resolve().then(()=>Yv),void 0),e=n().Architecture.parser.LangiumParser;nt.architecture=e},"architecture"),gitGraph:A(async()=>{let{createGitGraphServices:n}=await Nt(()=>Promise.resolve().then(()=>qv),void 0),e=n().GitGraph.parser.LangiumParser;nt.gitGraph=e},"gitGraph"),radar:A(async()=>{let{createRadarServices:n}=await Nt(()=>Promise.resolve().then(()=>Xv),void 0),e=n().Radar.parser.LangiumParser;nt.radar=e},"radar"),treemap:A(async()=>{let{createTreemapServices:n}=await Nt(()=>Promise.resolve().then(()=>Jv),void 0),e=n().Treemap.parser.LangiumParser;nt.treemap=e},"treemap")};async function Ky(n,e){let t=Lv[n];if(!t)throw new Error(`Unknown diagram type: ${n}`);nt[n]||await t();let r=nt[n].parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new bv(r);return r.value}s(Ky,"parse");A(Ky,"parse");var Wt,bv=(Wt=class extends Error{constructor(e){let t=e.lexerErrors.map(i=>i.message).join(` `),r=e.parserErrors.map(i=>i.message).join(` `);super(`Parsing failed: ${t} ${r}`),this.result=e}},s(Wt,"MermaidParseError"),A(Wt,"MermaidParseError"),Wt),Ht,Ov=(Ht=class extends St{constructor(){super(["packet"])}},s(Ht,"PacketTokenBuilder"),A(Ht,"PacketTokenBuilder"),Ht),Vy={parser:{TokenBuilder:A(()=>new Ov,"TokenBuilder"),ValueConverter:A(()=>new Rl,"ValueConverter")}};function Sd(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),Av,Vy);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}s(Sd,"createPacketServices");A(Sd,"createPacketServices");var zt,Pv=(zt=class extends St{constructor(){super(["pie","showData"])}},s(zt,"PieTokenBuilder"),A(zt,"PieTokenBuilder"),zt),Yt,_v=(Yt=class extends vl{runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},s(Yt,"PieValueConverter"),A(Yt,"PieValueConverter"),Yt),jy={parser:{TokenBuilder:A(()=>new Pv,"TokenBuilder"),ValueConverter:A(()=>new _v,"ValueConverter")}};function Id(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),Ev,jy);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}s(Id,"createPieServices");A(Id,"createPieServices");var qt,Dv=(qt=class extends St{constructor(){super(["architecture"])}},s(qt,"ArchitectureTokenBuilder"),A(qt,"ArchitectureTokenBuilder"),qt),Xt,Mv=(Xt=class extends vl{runCustomConverter(e,t,r){if(e.name==="ARCH_ICON")return t.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return t.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return t.replace(/[[\]]/g,"").trim()}},s(Xt,"ArchitectureValueConverter"),A(Xt,"ArchitectureValueConverter"),Xt),Wy={parser:{TokenBuilder:A(()=>new Dv,"TokenBuilder"),ValueConverter:A(()=>new Mv,"ValueConverter")}};function Nd(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),kv,Wy);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}s(Nd,"createArchitectureServices");A(Nd,"createArchitectureServices");var Jt,Fv=(Jt=class extends St{constructor(){super(["gitGraph"])}},s(Jt,"GitGraphTokenBuilder"),A(Jt,"GitGraphTokenBuilder"),Jt),Hy={parser:{TokenBuilder:A(()=>new Fv,"TokenBuilder"),ValueConverter:A(()=>new Rl,"ValueConverter")}};function wd(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),$v,Hy);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}s(wd,"createGitGraphServices");A(wd,"createGitGraphServices");var Qt,Gv=(Qt=class extends St{constructor(){super(["radar-beta"])}},s(Qt,"RadarTokenBuilder"),A(Qt,"RadarTokenBuilder"),Qt),zy={parser:{TokenBuilder:A(()=>new Gv,"TokenBuilder"),ValueConverter:A(()=>new Rl,"ValueConverter")}};function Ld(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),xv,zy);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}s(Ld,"createRadarServices");A(Ld,"createRadarServices");var Zt,Uv=(Zt=class extends St{constructor(){super(["treemap"])}},s(Zt,"TreemapTokenBuilder"),A(Zt,"TreemapTokenBuilder"),Zt),Bv=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,en,Kv=(en=class extends vl{runCustomConverter(e,t,r){if(e.name==="NUMBER2")return parseFloat(t.replace(/,/g,""));if(e.name==="SEPARATOR"||e.name==="STRING2")return t.substring(1,t.length-1);if(e.name==="INDENTATION")return t.length;if(e.name==="ClassDef"){if(typeof t!="string")return t;let i=Bv.exec(t);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},s(en,"TreemapValueConverter"),A(en,"TreemapValueConverter"),en);function bd(n){let e=n.validation.TreemapValidator,t=n.validation.ValidationRegistry;if(t){let r={Treemap:e.checkSingleRoot.bind(e)};t.register(r,e)}}s(bd,"registerValidationChecks");A(bd,"registerValidationChecks");var tn,Vv=(tn=class{checkSingleRoot(e,t){let r;for(let i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},s(tn,"TreemapValidator"),A(tn,"TreemapValidator"),tn),Yy={parser:{TokenBuilder:A(()=>new Uv,"TokenBuilder"),ValueConverter:A(()=>new Kv,"ValueConverter")},validation:{TreemapValidator:A(()=>new Vv,"TreemapValidator")}};function Od(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),Cv,Yy);return e.ServiceRegistry.register(t),bd(t),{shared:e,Treemap:t}}s(Od,"createTreemapServices");A(Od,"createTreemapServices");var nn,jv=(nn=class extends St{constructor(){super(["info","showInfo"])}},s(nn,"InfoTokenBuilder"),A(nn,"InfoTokenBuilder"),nn),qy={parser:{TokenBuilder:A(()=>new jv,"TokenBuilder"),ValueConverter:A(()=>new Rl,"ValueConverter")}};function Pd(n=mt){let e=Z(Qe(n),hn),t=Z(Je({shared:e}),Rv,qy);return e.ServiceRegistry.register(t),{shared:e,Info:t}}s(Pd,"createInfoServices");A(Pd,"createInfoServices");const Wv=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:qy,createInfoServices:Pd},Symbol.toStringTag,{value:"Module"})),Hv=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Vy,createPacketServices:Sd},Symbol.toStringTag,{value:"Module"})),zv=Object.freeze(Object.defineProperty({__proto__:null,PieModule:jy,createPieServices:Id},Symbol.toStringTag,{value:"Module"})),Yv=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Wy,createArchitectureServices:Nd},Symbol.toStringTag,{value:"Module"})),qv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Hy,createGitGraphServices:wd},Symbol.toStringTag,{value:"Module"})),Xv=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:zy,createRadarServices:Ld},Symbol.toStringTag,{value:"Module"})),Jv=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Yy,createTreemapServices:Od},Symbol.toStringTag,{value:"Module"}));export{Ky as p};