Files
seagull-game/app/basepak/static/js/mermaid/chunks/mermaid.esm.min/chunk-2XYWPRAO.mjs

128 lines
347 KiB
JavaScript
Raw Normal View History

2025-11-23 14:59:17 -08:00
import{A as oe,B as ho,C as et,D as be,G as zu,I as Ve,L as ue,M as Yt,O as Is,R as Qn,S as qu,a as de,b as Et,c as ke,d as he,e as te,g as At,i as Jn,j as Xt,k as vt,l as pe,m as Ft,n as $,o as Pe,p as xe,q as kt,r as $e,s as E,t as Ie,w as Hu,x as I,y as Ne,z as re}from"./chunk-OMTJKCYW.mjs";import{d as M}from"./chunk-IQQE2MEC.mjs";import{M as fo,d as ju,e as ot,z as ge}from"./chunk-A4ITRWGT.mjs";import{a,b as $s,c as qt,d as B,e as Vu}from"./chunk-GTKDMUJJ.mjs";var au=$s(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var nu;function iu(){if(nu===void 0)throw new Error("No runtime abstraction layer installed");return nu}a(iu,"RAL");(function(r){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");nu=t}a(e,"install"),r.install=e})(iu||(iu={}));su.default=iu});var Vd=$s(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.stringArray=_e.array=_e.func=_e.error=_e.number=_e.string=_e.boolean=void 0;function tg(r){return r===!0||r===!1}a(tg,"boolean");_e.boolean=tg;function Wd(r){return typeof r=="string"||r instanceof String}a(Wd,"string");_e.string=Wd;function rg(r){return typeof r=="number"||r instanceof Number}a(rg,"number");_e.number=rg;function ng(r){return r instanceof Error}a(ng,"error");_e.error=ng;function ig(r){return typeof r=="function"}a(ig,"func");_e.func=ig;function Kd(r){return Array.isArray(r)}a(Kd,"array");_e.array=Kd;function sg(r){return Kd(r)&&r.every(e=>Wd(e))}a(sg,"stringArray");_e.stringArray=sg});var lu=$s(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.Emitter=Kn.Event=void 0;var ag=au(),jd;(function(r){let e={dispose(){}};r.None=function(){return e}})(jd||(Kn.Event=jd={}));var ou=class{static{a(this,"CallbackList")}add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:a(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===t){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,o=n.length;s<o;s++)try{t.push(n[s].apply(i[s],e))}catch(l){(0,ag.default)().console.error(l)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Pa=class r{static{a(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,n)=>{this._callbacks||(this._callbacks=new ou),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let i={dispose:a(()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Kn.Emitter=Pa;Pa._noop=function(){}});var Hd=$s(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.CancellationTokenSource=Vn.CancellationToken=void 0;var og=au(),lg=Vd(),uu=lu(),ba;(function(r){r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:uu.Event.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:uu.Event.None});function e(t){let n=t;return n&&(n===r.None||n===r.Cancelled||lg.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}a(e,"is"),r.is=e})(ba||(Vn.CancellationToken=ba={}));var ug=Object.freeze(function(r,e){let t=(0,og.default)().timer.setTimeout(r.bind(e),0);return{dispose(){t.dispose()}}}),Ma=class{static{a(this,"MutableToken")}constructor()
`),w("\r"),w(" "),w("\v"),w(" "),w("\xA0"),w("\u1680"),w("\u2000"),w("\u2001"),w("\u2002"),w("\u2003"),w("\u2004"),w("\u2005"),w("\u2006"),w("\u2007"),w("\u2008"),w("\u2009"),w("\u200A"),w("\u2028"),w("\u2029"),w("\u202F"),w("\u205F"),w("\u3000"),w("\uFEFF")];var qh=/[0-9a-fA-F]/,Us=/[0-9]/,Xh=/[1-9]/,ar=class{static{a(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":mn(n,"global");break;case"i":mn(n,"ignoreCase");break;case"m":mn(n,"multiLine");break;case"u":mn(n,"unicode");break;case"y":mn(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,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}sr(t);let n=this.disjunction();return this.consumeChar(")"),{type:t,value:n,loc:this.loc(e)}}return di()}quantifier(e=!1){let t,n=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 s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;sr(t);break}if(!(e===!0&&t===void 0)&&sr(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(n),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()),sr(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):di()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[w(`
`),w("\r"),w("\u2028"),w("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=hi;break;case"D":e=hi,t=!0;break;case"s":e=Bo;break;case"S":e=Bo,t=!0;break;case"w":e=pi;break;case"W":e=pi,t=!0;break}return sr(e)?{type:"Set",value:e,complement:t}:di()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=w("\f");break;case"n":e=w(`
`);break;case"r":e=w("\r");break;case"t":e=w(" ");break;case"v":e=w("\v");break}return sr(e)?{type:"Character",value:e}:di()}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:w("\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:w(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:w(e)}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Uo(n)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom(),o=s.type==="Character";if(Uo(s)){if(s.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:s.value})}else Gs(n.value,e),e.push(w("-")),Gs(s.value,e)}else Gs(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:w("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}let t=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(Xh.test(e)===!1)throw Error("Expecting a positive integer");for(;Us.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Us.test(e)===!1)throw Error("Expecting an integer");for(;Us.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:w(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Us.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let i=0;i<e;i++){let s=this.popChar();if(qh.test(s)===!1)throw Error("Expecting a HexDecimal digits");t+=s}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var dt=class{static{a(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"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){}};var Ko=/\r?\n/gm,rc=new ar,Wo=class extends dt{static{a(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(!this.multiline&&t===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=lr(t);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=!!`
`.match(n)}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)}},or=new Wo;function Yh(r){try{typeof r!="string"&&(r=r.source),r=`/${r}/`;let e=rc.pattern(r),t=[];for(let n of e.value.value)or.reset(r),or.visit(n),t.push({start:or.startRegexp,end:or.endRegex});return t}catch{return[]}}a(Yh,"getTerminalParts");function Vo(r){try{return typeof r=="string"&&(r=new RegExp(r)),r=r.toString(),or.reset(r),or.visit(rc.pattern(r)),or.multiline}catch{return!1}}a(Vo,"isMultilineComment");var nc=`\f
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function gn(r){let e=typeof r=="string"?new RegExp(r):r;return nc.some(t=>e.test(t))}a(gn,"isWhitespace");function lr(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}a(lr,"escapeRegExp");function jo(r){return Array.prototype.map.call(r,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:lr(e)).join("")}a(jo,"getCaseInsensitivePattern");function Ho(r,e){let t=ic(r),n=e.match(t);return!!n&&n[0].length>0}a(Ho,"partialMatches");function ic(r){typeof r=="string"&&(r=new RegExp(r));let e=r,t=r.source,n=0;function i(){let s="",o;function l(c){s+=t.substr(n,c),n+=c}a(l,"appendRaw");function u(c){s+="(?:"+t.substr(n,c)+"|$)",n+=c}for(a(u,"appendOptional");n<t.length;)switch(t[n]){case"\\":switch(t[n+1]){case"c":u(3);break;case"x":u(4);break;case"u":e.unicode?t[n+2]==="{"?u(t.indexOf("}",n)-n+1):u(6):u(2);break;case"p":case"P":e.unicode?u(t.indexOf("}",n)-n+1):u(2);break;case"k":u(t.indexOf(">",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,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=n,o=o.exec(t),o?l(o[0].length):u(1);break;case"(":if(t[n+1]==="?")switch(t[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":o=n,n+=3,i(),s+=t.substr(o,n-o);break;case"<":switch(t[n+3]){case"=":case"!":o=n,n+=4,i(),s+=t.substr(o,n-o);break;default:l(t.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else l(1),s+=i()+"|$)";break;case")":return++n,s;default:u(1);break}return s}return a(i,"process"),new RegExp(i(),r.flags)}a(ic,"partialRegExp");function sc(r){return r.rules.find(e=>Se(e)&&e.entry)}a(sc,"getEntryRule");function ac(r){return r.rules.filter(e=>He(e)&&e.hidden)}a(ac,"getHiddenRules");function mi(r,e){let t=new Set,n=sc(r);if(!n)return new Set(r.rules);let i=[n].concat(ac(r));for(let o of i)oc(o,t,e);let s=new Set;for(let o of r.rules)(t.has(o.name)||He(o)&&o.hidden)&&s.add(o);return s}a(mi,"getAllReachableRules");function oc(r,e,t){e.add(r.name),ft(r).forEach(n=>{if(nt(n)||t&&bs(n)){let i=n.rule.ref;i&&!e.has(i.name)&&oc(i,e,t)}})}a(oc,"ruleDfs");function Xo(r){if(r.terminal)return r.terminal;if(r.type.ref){let e=Ws(r.type.ref);return e?.terminal}}a(Xo,"getCrossReferenceTerminal");function Yo(r){return r.hidden&&!gn(Tn(r))}a(Yo,"isCommentTerminal");function Jo(r,e){return!r||!e?[]:Qo(r,e,r.astNode,!0)}a(Jo,"findNodesForProperty");function gi(r,e,t){if(!r||!e)return;let n=Qo(r,e,r.astNode,!0);if(n.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,n.length-1)):t=0,n[t]}a(gi,"findNodeForProperty");function Qo(r,e,t,n){if(!n){let i=ir(r.grammarSource,rt);if(i&&i.feature===e)return[r]}return tt(r)&&r.astNode===t?r.content.flatMap(i=>Qo(i,e,t,!1)):[]}a(Qo,"findNodesForPropertyInternal");function Jh(r,e){return r?el(r,e,r?.astNode):[]}a(Jh,"findNodesForKeyword");function Zo(r,e,t){if(!r)return;let n=el(r,e,r?.astNode);if(n.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,n.length-1)):t=0,n[t]}a(Zo,"findNodeForKeyword");function el(r,e,t){if(r.astNode!==t)return[];if(Ye(r.grammarSource)&&r.grammarSource.value===e)return[r];let n=Zt(r).iterator(),i,s=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===t?Ye(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):n.prune()}while(!i.done);return s}a(el,"findNodesForKeywordInternal");function tl(r){var e;let t=r.astNode;for(;t===((e=r.container)===null||e===void 0?void 0:e.astNode);){let n=ir(r.grammarSource,rt);if(n)return n;r=r.container}}a(tl,"findAssignment");function Ws(r){let e=r;return _s(e)&&($t(e.$container)?e=e.$container.$container:Se(e.$container)?e=e.$container:ct(e.$container)),lc(r,e,new Map)}a(Ws,"findNameAssignment");function lc(r,e,t){var n;function i(s,o){let l;return ir(s,rt)||(l=lc(o,o,t)),t.set(r,l),l}if(a(i,"go"),t.has(r))return t.get(r);t.set(r,void 0);for(let s of ft(e)){if(rt(s)&&s.feature.toLowerCase()==="name")return t.set(r,s),s;if(nt(s)&&Se(s.rule.ref))return i(s,s.rul
`;function yc(r,e=!1){try{let t=An(r);return ll(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===gc)e&&Ri(`${Ai} Unable to optimize: < ${r.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),xn(`${Ai}
Failed parsing: < ${r.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}a(yc,"getOptimizedStartCodesIndices");function ll(r,e,t){switch(r.type){case"Disjunction":for(let i=0;i<r.value.length;i++)ll(r.value[i],e,t);break;case"Alternative":let n=r.value;for(let i=0;i<n.length;i++){let s=n[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=s;switch(o.type){case"Character":zs(o.value,e,t);break;case"Set":if(o.complement===!0)throw Error(gc);$(o.value,u=>{if(typeof u=="number")zs(u,e,t);else{let c=u;if(t===!0)for(let f=c.from;f<=c.to;f++)zs(f,e,t);else{for(let f=c.from;f<=c.to&&f<vn;f++)zs(f,e,t);if(c.to>=vn){let f=c.from>=vn?c.from:vn,d=c.to,h=ht(f),p=ht(d);for(let g=h;g<=p;g++)e[g]=g}}}});break;case"Group":ll(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"&&ul(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return re(e)}a(ll,"firstCharOptimizedIndices");function zs(r,e,t){let n=ht(r);e[n]=n,t===!0&&mp(r,e)}a(zs,"addOptimizedIdxToResult");function mp(r,e){let t=String.fromCharCode(r),n=t.toUpperCase();if(n!==t){let i=ht(n.charCodeAt(0));e[i]=i}else{let i=t.toLowerCase();if(i!==t){let s=ht(i.charCodeAt(0));e[s]=s}}}a(mp,"handleIgnoreCase");function mc(r,e){return kt(r.value,t=>{if(typeof t=="number")return oe(e,t);{let n=t;return kt(e,i=>n.from<=i&&i<=n.to)!==void 0}})}a(mc,"findCode");function ul(r){let e=r.quantifier;return e&&e.atLeast===0?!0:r.value?ge(r.value)?Pe(r.value,ul):ul(r.value):!1}a(ul,"isWholeOptional");var cl=class extends dt{static{a(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){oe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?mc(e,this.targetCharCodes)===void 0&&(this.found=!0):mc(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function qs(r,e){if(e instanceof RegExp){let t=An(e),n=new cl(r);return n.visit(t),n.found}else return kt(e,t=>oe(r,t.charCodeAt(0)))!==void 0}a(qs,"canMatchCharCode");var fr="PATTERN",kn="defaultMode",Xs="modes",dl=typeof new RegExp("(?:)").sticky=="boolean";function xc(r,e){e=Jn(e,{useSticky:dl,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:a((A,R)=>R(),"tracer")});let t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{Op()});let n;t("Reject Lexer.NA",()=>{n=Yt(r,A=>A[fr]===se.NA)});let i=!1,s;t("Transform Patterns",()=>{i=!1,s=E(n,A=>{let R=A[fr];if(et(R)){let P=R.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!R.ignoreCase?P:P.length===2&&P[0]==="\\"&&!oe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],P[1])?P[1]:e.useSticky?Rc(R):Tc(R)}else{if(ot(R))return i=!0,{exec:R};if(typeof R=="object")return i=!0,R;if(typeof R=="string"){if(R.length===1)return R;{let P=R.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),b=new RegExp(P);return e.useSticky?Rc(b):Tc(b)}}else throw Error("non exhaustive match")}})});let o,l,u,c,f;t("misc mapping",()=>{o=E(n,A=>A.tokenTypeIdx),l=E(n,A=>{let R=A.GROUP;if(R!==se.SKIPPED){if(Ne(R))return R;if(be(R))return!1;throw Error("non exhaustive match")}}),u=E(n,A=>{let R=A.LONGER_ALT;if(R)return ge(R)?E(R,b=>ho(n,b)):[ho(n,R)]}),c=E(n,A=>A.PUSH_MODE),f=E(n,A=>I(A,"POP_MODE"))});let d;t("Line Terminator Handling",()=>{let A=Cc(e.lineTerminatorCharacters);d=E(n,R=>!1),e.positionTracking!=="onlyOffset"&&(d=E(n,R=>I(R,"LINE_BREAKS")?!!R.LINE_BREAKS:Nc(R,A)===!1&&qs(A,R.PATTERN)))});let h,p,g,y;t("Misc Mapping #2",()=>{h=E(n,$c),p=E(s,_p),g=ue(n,(A,R)=>{let P=R.GROUP;return Ne(P)&&P!==se.SKIPPED&&(A[P]=[]),A},{}),y=E(s,(A,R)=>({pattern:s[R],longerAlt:u[R],canLineTerminator:d[R],isCustom:h[R],short:p[R],group:l[R],push:c[R],pop:f[R],tokenTypeIdx:o[R],tokenType:n[R]}))});let v=!0,x=[];return e.safeMode||t("First Char Optimization",()=>{x=ue(n,(A,R,P)=>{if(typeof R.PATTERN=="string"){let b=R.PATTERN.charCodeAt(0),Te=ht(b);fl(A,Te,y[P])}else if(ge(R.START_CHARS_HINT)){let b;$(R.START_CHARS_HINT,Te=>{let kr=typeof Te=="string"?Te.charCodeAt(0):Te,Ae=ht(kr);b!==Ae&&(b=Ae,fl(A,Ae,y[P]))})}else if(et(R.PATTERN))if(R.PATTERN.unicode)v=!1,e.ensureOptimizations&&xn(`${Ai} Unable to analyze < ${R.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 b=yc(R.PATTERN,e.ensureOptimizations);M(b)&&(v=!1),$(b,Te=>{fl(A,Te,y[P])})}else e.ensureOptimizations&&xn(`${Ai} TokenType: <${R.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return A},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}a(xc,"analyzeTokenTypes");function Ec(r,e){let t=[],n=yp(r);t=t.concat(n.errors);let i=Tp(n.valid),s=i.valid;return t=t.concat(i.errors),t=t.concat(gp(s)),t=t.concat(Ip(s)),t=t.concat(Np(s,e)),t=t.concat(Cp(s)),t}a(Ec,"validatePatterns");function gp(r){let e=[],t=xe(r,n=>et(n[fr]));return e=e.concat(xp(t)),e=e.concat(vp(t)),e=e.concat(kp(t)),e=e.concat($p(t)),e=e.concat(Ep(t)),e}a(gp,"validateRegExpPattern");function yp(r){let e=xe(r,i=>!I(i,fr)),t=E(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:ie.MISSING_PATTERN,tokenTypes:[i]})),n=Xt(r,e);return{errors:t,valid:n}}a(yp,"findMissingPatterns");function Tp(r){let e=xe(r,i=>{let s=i[fr];return!et(s)&&!ot(s)&&!I(s,"exec")&&!Ne(s)}),t=E(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:ie.INVALID_PATTERN,tokenTypes:[i]})),n=Xt(r,e);return{errors:t,valid:n}}a(Tp,"findInvalidPatterns");var Rp=/[^\\][$]/;function xp(r){class e extends dt{static{a(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}let t=xe(r,i=>{let s=i.PATTERN;try{let o=An(s),l=new e;return l.visit(o),l.found}catch{return Rp.test(s.source)}});return E(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:ie.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(xp,"findEndOfInputAnchor");function Ep(r){let e=xe(r,n=>n.PATTERN.test(""));return E(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:ie.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}a(Ep,"findEmptyMatchRegExps");var Ap=/[^\\[][\^]|^\^/;function vp(r){class e extends dt{static{a(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}let t=xe(r,i=>{let s=i.PATTERN;try{let o=An(s),l=new e;return l.visit(o),l.found}catch{return Ap.test(s.source)}});return E(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:ie.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(vp,"findStartOfInputAnchor");function kp(r){let e=xe(r,n=>{let i=n[fr];return i instanceof RegExp&&(i.multiline||i.global)});return E(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ie.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}a(kp,"findUnsupportedFlags");function $p(r){let e=[],t=E(r,s=>ue(r,(o,l)=>(s.PATTERN.source===l.PATTERN.source&&!oe(e,l)&&l.PATTERN!==se.NA&&(e.push(l),o.push(l)),o),[]));t=At(t);let n=xe(t,s=>s.length>1);return E(n,s=>{let o=E(s,u=>u.name);return{message:`The same RegExp pattern ->${$e(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:ie.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}a($p,"findDuplicatePatterns");function Ip(r){let e=xe(r,n=>{if(!I(n,"GROUP"))return!1;let i=n.GROUP;return i!==se.SKIPPED&&i!==se.NA&&!Ne(i)});return E(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ie.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}a(Ip,"findInvalidGroupType");function Np(r,e){let t=xe(r,i=>i.PUSH_MODE!==void 0&&!oe(e,i.PUSH_MODE));return E(t,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:ie.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}a(Np,"findModesThatDoNotExist");function Cp(r){let e=[],t=ue(r,(n,i,s)=>{let o=i.PATTERN;return o===se.NA||(Ne(o)?n.push({str:o,idx:s,tokenType:i}):et(o)&&wp(o)&&n.push({str:o.source,idx:s,tokenType:i})),n},[]);return $(r,(n,i)=>{$(t,({str:s,idx:o,tokenType:l})=>{if(i<o&&Sp(s,n.PATTERN)){let u=`Token: ->${l.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:ie.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}a(Cp,"findUnreachablePatterns");function Sp(r,e){if(et(e)){let t=e.exec(r);return t!==null&&t.index===0}else{if(ot(e))return e(r,0,[],{});if(I(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}a(Sp,"testTokenType");function wp(r){return kt([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>r.source.indexOf(t)!==-1)===void 0}a(wp,"noMetaChar");function Tc(r){let e=r.ignoreCase?"i":"";return new RegExp(`^(?:${r.source})`,e)}a(Tc,"addStartOfInput");function Rc(r){let e=r.ignoreCase?"iy":"y";return new RegExp(`${r.source}`,e)}a(Rc,"addStickyFlag");function Ac(r,e,t){let n=[];return I(r,kn)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+kn+`> property in its definition
`,type:ie.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),I(r,Xs)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Xs+`> property in its definition
`,type:ie.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),I(r,Xs)&&I(r,kn)&&!I(r.modes,r.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${kn}: <${r.defaultMode}>which does not exist
`,type:ie.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),I(r,Xs)&&$(r.modes,(i,s)=>{$(i,(o,l)=>{if(be(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${l}>
`,type:ie.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(I(o,"LONGER_ALT")){let u=ge(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];$(u,c=>{!be(c)&&!oe(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${s}>
`,type:ie.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}a(Ac,"performRuntimeChecks");function vc(r,e,t){let n=[],i=!1,s=At(he(re(r.modes))),o=Yt(s,u=>u[fr]===se.NA),l=Cc(t);return e&&$(o,u=>{let c=Nc(u,l);if(c!==!1){let d={message:Lp(u,c),type:c.issue,tokenType:u};n.push(d)}else I(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):qs(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:ie.NO_LINE_BREAKS_FLAGS}),n}a(vc,"performWarningRuntimeChecks");function kc(r){let e={},t=Et(r);return $(t,n=>{let i=r[n];if(ge(i))e[n]=[];else throw Error("non exhaustive match")}),e}a(kc,"cloneEmptyGroups");function $c(r){let e=r.PATTERN;if(et(e))return!1;if(ot(e))return!0;if(I(e,"exec"))return!0;if(Ne(e))return!1;throw Error("non exhaustive match")}a($c,"isCustomPattern");function _p(r){return Ne(r)&&r.length===1?r.charCodeAt(0):!1}a(_p,"isShortPattern");var Ic={test:a(function(r){let e=r.length;for(let t=this.lastIndex;t<e;t++){let n=r.charCodeAt(t);if(n===10)return this.lastIndex=t+1,!0;if(n===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},"test"),lastIndex:0};function Nc(r,e){if(I(r,"LINE_BREAKS"))return!1;if(et(r.PATTERN)){try{qs(e,r.PATTERN)}catch(t){return{issue:ie.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if(Ne(r.PATTERN))return!1;if($c(r))return{issue:ie.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}a(Nc,"checkLineBreaksIssues");function Lp(r,e){if(e.issue===ie.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${r.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===ie.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${r.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}a(Lp,"buildLineBreakIssueMessage");function Cc(r){return E(r,t=>Ne(t)?t.charCodeAt(0):t)}a(Cc,"getCharCodes");function fl(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}a(fl,"addToMapOfArrays");var vn=256,Ys=[];function ht(r){return r<vn?r:Ys[r]}a(ht,"charCodeToOptimizedIndex");function Op(){if(M(Ys)){Ys=new Array(65536);for(let r=0;r<65536;r++)Ys[r]=r>255?255+~~(r/255):r}}a(Op,"initCharCodeToOptimizedIndexMap");function Ct(r,e){let t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}a(Ct,"tokenStructuredMatcher");function $n(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}a($n,"tokenStructuredMatcherNoCategories");var Sc=1,_c={};function St(r){let e=Pp(r);bp(e),Dp(e),Mp(e),$(e,t=>{t.isParent=t.categoryMatches.length>0})}a(St,"augmentTokenTypes");function Pp(r){let e=te(r),t=r,n=!0;for(;n;){t=At(he(E(t,s=>s.CATEGORIES)));let i=Xt(t,e);e=e.concat(i),M(i)?n=!1:t=i}return e}a(Pp,"expandCategories");function bp(r){$(r,e=>{hl(e)||(_c[Sc]=e,e.tokenTypeIdx=Sc++),wc(e)&&!ge(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),wc(e)||(e.CATEGORIES=[]),Fp(e)||(e.categoryMatches=[]),Gp(e)||(e.categoryMatchesMap={})})}a(bp,"assignTokenDefaultProps");function Mp(r){$(r,e=>{e.categoryMatches=[],$(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(_c[n].tokenTypeIdx)})})}a(Mp,"assignCategoriesTokensProp");function Dp(r){$(r,e=>{Lc([],e)})}a(Dp,"assignCategoriesMapProp");function Lc(r,e){$(r,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),$(e.CATEGORIES,t=>{let n=r.concat(e);oe(n,t)||Lc(n,t)})}a(Lc,"singleAssignCategoriesToksMap");function hl(r){return I(r,"tokenTypeIdx")}a(hl,"hasShortKeyProperty");function wc(r){return I(r,"CATEGORIES")}a(wc,"hasCategoriesProperty");function Fp(r){return I(r,"categoryMatches")}a(Fp,"hasExtendingTokensTypesProperty");function Gp(r){return I(r,"categoryMatchesMap")}a(Gp,"hasExtendingTokensTypesMapProperty");function Oc(r){return I(r,"tokenTypeIdx")}a(Oc,"isTokenType");var In={buildUnableToPopLexerModeMessage(r){return`Unable to pop Lexer Mode after encountering Token ->${r.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(r,e,t,n,i){return`unexpected character: ->${r.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}};var ie;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",r[r.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(ie||(ie={}));var vi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:In,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(vi);var se=class{static{a(this,"Lexer")}constructor(e,t=vi){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);let{time:l,value:u}=xi(s),c=l>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${o}<-- <${i}> time: ${l}ms`),this.traceInitIndent--,u}else return s()},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({},vi,t);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===vi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Ic;else if(this.config.lineTerminatorCharacters===vi.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ge(e)?i={modes:{defaultMode:te(e)},defaultMode:kn}:(s=!1,i=te(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Ac(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(vc(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},$(i.modes,(l,u)=>{i.modes[u]=Yt(l,c=>be(c))});let o=Et(i.modes);if($(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(Ec(l,o))}),M(this.lexerDefinitionErrors)){St(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=xc(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,!M(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=E(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+u)}$(this.lexerDefinitionWarning,l=>{Ri(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(dl?(this.chopInput=fo,this.match=this.matchWithTest):(this.updateLastIndex=de,this.match=this.matchWithExec),s&&(this.handleModes=de),this.trackStartLines===!1&&(this.computeNewColumn=fo),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=de),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=ue(this.canModeBeOptimized,(u,c,f)=>(c===!1&&u.push(f),u),[]);if(t.ensureOptimizations&&!M(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",()=>{pc()}),this.TRACE_INIT("toFastProperties",()=>{Ei(this)})})}tokenize(e,t=this.defaultMode){if(!M(this.lexerDefinitionErrors)){let i=E(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,i,s,o,l,u,c,f,d,h,p,g,y,v,x,A,R=e,P=R.length,b=0,Te=0,kr=this.hasCustom?0:Math.floor(e.length/10),Ae=new Array(kr),Mt=[],Tt=this.trackStartLines?1:void 0,k=this.trackStartLines?1:void 0,T=kc(this.emptyGroups),C=this.trackStartLines,N=this.config.lineTerminatorsPattern,V=0,O=[],L=[],Le=[],Oe=[];Object.freeze(Oe);let ee;function Ht(){return O}a(Ht,"getPossiblePatternsSlow");function Uu(ve){let Xe=ht(ve),$r=L[Xe];return $r===void 0?Oe:$r}a(Uu,"getPossiblePatternsOptimized");let vh=a(ve=>{if(Le.length===1&&ve.tokenType.PUSH_MODE===void 0){let Xe=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ve);Mt.push({offset:ve.startOffset,line:ve.startLine,column:ve.startColumn,length:ve.image.length,message:Xe})}else{Le.pop();let Xe=vt(Le);O=this.patternIdxToConfig[Xe],L=this.charCodeToPatternIdxToConfig[Xe],V=O.length;let $r=this.canModeBeOptimized[Xe]&&this.config.safeMode===!1;L&&$r?ee=Uu:ee=Ht}},"pop_mode");function Bu(ve){Le.push(ve),L=this.charCodeToPatternIdxToConfig[ve],O=this.patternIdxToConfig[ve],V=O.length,V=O.length;let Xe=this.canModeBeOptimized[ve]&&this.config.safeMode===!1;L&&Xe?ee=Uu:ee=Ht}a(Bu,"push_mode"),Bu.call(this,t);let Ze,Wu=this.config.recoveryEnabled;for(;b<P;){u=null;let ve=R.charCodeAt(b),Xe=ee(ve),$r=Xe.length;for(n=0;n<$r;n++){Ze=Xe[n];let Ke=Ze.pattern;c=null;let Rt=Ze.short;if(Rt!==!1?ve===Rt&&(u=Ke):Ze.isCustom===!0?(A=Ke.exec(R,b,Ae,T),A!==null?(u=A[0],A.payload!==void 0&&(c=A.payload)):u=null):(this.updateLastIndex(Ke,b),u=this.match(Ke,e,b)),u!==null){if(l=Ze.longerAlt,l!==void 0){let Dt=l.length;for(s=0;s<Dt;s++){let xt=O[l[s]],zt=xt.pattern;if(f=null,xt.isCustom===!0?(A=zt.exec(R,b,Ae,T),A!==null?(o=A[0],A.payload!==void 0&&(f=A.payload)):o=null):(this.updateLastIndex(zt,b),o=this.match(zt,e,b)),o&&o.length>u.length){u=o,c=f,Ze=xt;break}}}break}}if(u!==null){if(d=u.length,h=Ze.group,h!==void 0&&(p=Ze.tokenTypeIdx,g=this.createTokenInstance(u,b,p,Ze.tokenType,Tt,k,d),this.handlePayload(g,c),h===!1?Te=this.addToken(Ae,Te,g):T[h].push(g)),e=this.chopInput(e,d),b=b+d,k=this.computeNewColumn(k,d),C===!0&&Ze.canLineTerminator===!0){let Ke=0,Rt,Dt;N.lastIndex=0;do Rt=N.test(u),Rt===!0&&(Dt=N.lastIndex-1,Ke++);while(Rt===!0);Ke!==0&&(Tt=Tt+Ke,k=d-Dt,this.updateTokenEndLineColumnLocation(g,h,Dt,Ke,Tt,k,d))}this.handleModes(Ze,vh,Bu,g)}else{let Ke=b,Rt=Tt,Dt=k,xt=Wu===!1;for(;xt===!1&&b<P;)for(e=this.chopInput(e,1),b++,i=0;i<V;i++){let zt=O[i],co=zt.pattern,Ku=zt.short;if(Ku!==!1?R.charCodeAt(b)===Ku&&(xt=!0):zt.isCustom===!0?xt=co.exec(R,b,Ae,T)!==null:(this.updateLastIndex(co,b),xt=co.exec(e)!==null),xt===!0)break}if(y=b-Ke,k=this.computeNewColumn(k,y),x=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(R,Ke,y,Rt,Dt),Mt.push({offset:Ke,line:Rt,column:Dt,length:y,message:x}),Wu===!1)break}}return this.hasCustom||(Ae.length=Te),{tokens:Ae,groups:T,errors:Mt}}handleModes(e,t,n,i){if(e.pop===!0){let s=e.push;t(i),s!==void 0&&n.call(this,s)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,n,i,s,o,l){let u,c;t!==void 0&&(u=n===l-1,c=u?-1:0,i===1&&u===!0||(e.endLine=s+c,e.endColumn=o-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,i){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,t,n,i,s,o){return{image:e,startOffset:t,startLine:s,startColumn:o,tokenTypeIdx:n,tokenType:i}}createFullToken(e,t,n,i,s,o,l){return{image:e,startOffset:t,endOffset:t+l-1,startLine:s,endLine:s,startColumn:o,endColumn:o+l-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,t,n){return e.push(n),t}addTokenUsingMemberAccess(e,t,n){return e[t]=n,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,n){return e.test(t)===!0?t.substring(n,e.lastIndex):null}matchWithExec(e,t){let n=e.exec(t);return n!==null?n[0]:null}};se.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into ob
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return I(r,Pc)&&(t.CATEGORIES=r[Pc]),St([t]),I(r,bc)&&(t.LABEL=r[bc]),I(r,Mc)&&(t.GROUP=r[Mc]),I(r,Fc)&&(t.POP_MODE=r[Fc]),I(r,Dc)&&(t.PUSH_MODE=r[Dc]),I(r,Gc)&&(t.LONGER_ALT=r[Gc]),I(r,Uc)&&(t.LINE_BREAKS=r[Uc]),I(r,Bc)&&(t.START_CHARS_HINT=r[Bc]),t}a(Bp,"createTokenInternal");var qe=Bt({name:"EOF",pattern:se.NA});St([qe]);function _t(r,e,t,n,i,s,o,l){return{image:e,startOffset:t,endOffset:n,startLine:i,endLine:s,startColumn:o,endColumn:l,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}a(_t,"createTokenInstance");function ki(r,e){return Ct(r,e)}a(ki,"tokenMatcher");var Lt={buildMismatchTokenMessage({expected:r,actual:e,previous:t,ruleName:n}){return`Expecting ${pl(r)?`--> ${wt(r)} <--`:`token of type --> ${r.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:r,ruleName:e}){return"Redundant input, expecting EOF but found: "+r.image},buildNoViableAltMessage({expectedPathsPerAlt:r,actual:e,previous:t,customUserDescription:n,ruleName:i}){let s="Expecting: ",l=`
but found: '`+$e(e).image+"'";if(n)return s+n+l;{let u=ue(r,(h,p)=>h.concat(p),[]),c=E(u,h=>`[${E(h,p=>wt(p)).join(", ")}]`),d=`one of these possible Token sequences:
${E(c,(h,p)=>` ${p+1}. ${h}`).join(`
`)}`;return s+d+l}},buildEarlyExitMessage({expectedIterationPaths:r,actual:e,customUserDescription:t,ruleName:n}){let i="Expecting: ",o=`
but found: '`+$e(e).image+"'";if(t)return i+t+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences::
<${E(r,c=>`[${E(c,f=>wt(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(Lt);var Wc={buildRuleNotFoundError(r,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+r.name+"<-"}},it={buildDuplicateFoundError(r,e){function t(f){return f instanceof D?f.terminalType.name:f instanceof H?f.nonTerminalName:""}a(t,"getExtraProductionArgument");let n=r.name,i=$e(e),s=i.idx,o=We(i),l=t(i),u=s>0,c=`->${o}${u?s:""}<- ${l?`with argument: ->${l}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
`),c},buildNamespaceConflictError(r){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${r.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(r){let e=E(r.prefixPath,i=>wt(i)).join(", "),t=r.alternation.idx===0?"":r.alternation.idx;return`Ambiguous alternatives: <${r.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${t}> inside <${r.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(r){let e=E(r.prefixPath,i=>wt(i)).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,n=`Ambiguous Alternatives Detected: <${r.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${r.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},buildEmptyRepetitionError(r){let e=We(r.repetition);return r.repetition.idx!==0&&(e+=r.repetition.idx),`The repetition <${e}> within Rule <${r.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(r){return"deprecated"},buildEmptyAlternationError(r){return`Ambiguous empty alternative: <${r.emptyChoiceIdx+1}> in <OR${r.alternation.idx}> inside <${r.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(r){return`An Alternation cannot have more than 256 alternatives:
<OR${r.alternation.idx}> inside <${r.topLevelRule.name}> Rule.
has ${r.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(r){let e=r.topLevelRule.name,t=E(r.leftRecursionPath,s=>s.name),n=`${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:
${n}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(r){return"deprecated"},buildDuplicateRuleNameError(r){let e;return r.topLevelRule instanceof Me?e=r.topLevelRule.name:e=r.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${r.grammarName}<-`}};function Kc(r,e){let t=new ml(r,e);return t.resolveRefs(),t.errors}a(Kc,"resolveGrammar");var ml=class extends De{static{a(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){$(re(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:ye.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var gl=class extends Nt{static{a(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=te(this.path.ruleStack).reverse(),this.occurrenceStack=te(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,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){M(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Js=class extends gl{static{a(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=t.concat(n),s=new J({definition:i});this.possibleTokTypes=cr(s),this.found=!0}}},Nn=class extends Nt{static{a(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Qs=class extends Nn{static{a(this,"NextTerminalAfterManyWalker")}walkMany(e,t,n){if(e.idx===this.occurrence){let i=$e(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,n)}},$i=class extends Nn{static{a(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,n){if(e.idx===this.occurrence){let i=$e(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,n)}},Zs=class extends Nn{static{a(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let i=$e(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,n)}},Ii=class extends Nn{static{a(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let i=$e(t.concat(n));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,n)}};function ea(r,e,t=[]){t=te(t);let n=[],i=0;function s(l){return l.concat(pe(r,i+1))}a(s,"remainingPathWith");function o(l){let u=ea(s(l),e,t);return n.concat(u)}for(a(o,"getAlternativesForP
${s.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return t.prototype=n,t.prototype.constructor=t,t._RULE_NAMES=e,t}a(mf,"createBaseSemanticVisitorConstructor");function gf(r,e,t){let n=a(function(){},"derivedConstructor");wl(n,r+"BaseSemanticsWithDefaults");let i=Object.create(t.prototype);return $(e,s=>{i[s]=em}),n.prototype=i,n.prototype.constructor=n,n}a(gf,"createBaseVisitorConstructorWithDefaults");var _l;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(_l||(_l={}));function tm(r,e){return rm(r,e)}a(tm,"validateVisitor");function rm(r,e){let t=xe(e,i=>ot(r[i])===!1),n=E(t,i=>({msg:`Missing visitor method: <${i}> on ${r.constructor.name} CST Visitor.`,type:_l.MISSING_METHOD,methodName:i}));return At(n)}a(rm,"validateMissingCstMethods");var ha=class{static{a(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=I(e,"nodeLocationTracking")?e.nodeLocationTracking:Fe.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=de,this.cstFinallyStateUpdate=de,this.cstPostTerminal=de,this.cstPostNonTerminal=de,this.cstPostRule=de;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Sl,this.setNodeLocationFromNode=Sl,this.cstPostRule=de,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=de,this.setNodeLocationFromNode=de,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cl,this.setNodeLocationFromNode=Cl,this.cstPostRule=de,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=de,this.setNodeLocationFromNode=de,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=de,this.setNodeLocationFromNode=de,this.cstPostRule=de,this.setInitialNodeLocation=de;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?n.endOffset=t.endOffset:n.startOffset=NaN}cstPostTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];hf(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];pf(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(be(this.baseCstVisitorConstructor)){let e=mf(this.className,Et(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(be(this.baseCstVisitorWithDefaultsConstructor)){let e=gf(this.className,Et(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_STA
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(ge(e)){if(M(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(ge(e))this.tokensMap=ue(e,(s,o)=>(s[o.name]=o,s),{});else if(I(e,"modes")&&Pe(he(re(e.modes)),Oc)){let s=he(re(e.modes)),o=Qn(s);this.tokensMap=ue(o,(l,u)=>(l[u.name]=u,l),{})}else if(ju(e))this.tokensMap=te(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=qe;let n=I(e,"modes")?he(re(e.modes)):re(e),i=Pe(n,s=>M(s.categoryMatches));this.tokenMatcher=i?$n:Ct,St(re(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=I(n,"resyncEnabled")?n.resyncEnabled:Ln.resyncEnabled,s=I(n,"recoveryValueFunc")?n.recoveryValueFunc:Ln.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=a(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=a(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),t.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){let i=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Wt(e)){let o=e;if(s){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,t){let n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let i=this.getLaFuncFromCache(n),s;if(typeof e!="function"){s=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,t){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let i=this.getLaFuncFromCache(n),s;if(typeof t!="function"){s=t.DEF;let o=t.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=t;if(i.call(this)===!0){let o=this.doSingleRepetition(s);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,ae.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,Zs)}atLeastOneSepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){let i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,Ii],l,1536,e,Ii)}else throw this.raiseEarlyExitException(e,ae.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let i=this.getLaFuncFromCache(n),s;if(typeof t!="function"){s=t.DEF;let l=t.GATE;if(l!==void 0){let u=i;i=a(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else s=t;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,Qs,o)}manySepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){let i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,$i],l,1280,e,$i)}}repetitionSepSecondInternal(e,t,n,i,s){for(;n();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,i,s],n,1536,e,s)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Ef);var im={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Ra=class{static{a(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${t}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${t}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${t}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${t}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${t}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${t}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${t}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},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 n=t>0?t:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return _n}topLevelRuleRecord(e,t){try{let n=new Me({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,t){return Oi.call(this,z,e,t)}atLeastOneInternalRecord(e,t){Oi.call(this,Q,t,e)}atLeastOneSepFirstInternalRecord(e,t){Oi.call(this,Z,t,e,yf)}manyInternalRecord(e,t){Oi.call(this,G,t,e)}manySepFirstInternalRecord(e,t){Oi.call(this,q,t,e,yf)}orInternalRecord(e,t){return sm.call(this,e,t)}subruleInternalRecord(e,t,n){if(xa(t),!e||I(e,"ruleName")===!1){let l=new Error(`<SUBRULE${Rf(t)}> 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=vt(this.recordingProdStack),s=e.ruleName,o=new H({idx:t,nonTerminalName:s,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?im:Ea}consumeInternalRecord(e,t,n){if(xa(t),!hl(e)){let o=new Error(`<CONSUME${Rf(t)}> 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=vt(this.recordingProdStack),s=new D({idx:t,terminalType:e,label:n?.LABEL});return i.definition.push(s),Ef}};function Oi(r,e,t,n=!1){xa(t);let i=vt(this.recordingProdStack),s=ot(e)?e:e.DEF,o=new r({definition:[],idx:t});return n&&(o.separator=e.SEP),I(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),Ea}a(Oi,"recordProd");function sm(r,e){xa(e);let t=vt(this.recordingProdStack),n=ge(r)===!1,i=n===!1?r:r.DEF,s=new X({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});I(r,"MAX_LOOKAHEAD")&&(s.maxLookahead=r.MAX_LOOKAHEAD);let o=Is(i,l=>ot(l.GATE));return s.hasPredicates=o,t.definition.push(s),$(i,l=>{let u=new J({definition:[]});s.definition.push(u),I(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:I(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),Ea}a(sm,"recordOrProd");function Rf(r){return r===0?"":`${r}`}a(Rf,"getIdxSuffix");function xa(r){if(r<0||r>Tf){let e=new Error(`Invalid DSL Method idx value: <${r}>
Idx value must be a none negative value smaller than ${Tf+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}a(xa,"assertMethodIdxIsValid");var Aa=class{static{a(this,"PerformanceTracer")}initPerformanceTracer(e){if(I(e,"traceInitPerf")){let t=e.traceInitPerf,n=typeof t=="number";this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Fe.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:s}=xi(t),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return t()}};function Af(r,e){e.forEach(t=>{let n=t.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let s=Object.getOwnPropertyDescriptor(n,i);s&&(s.get||s.set)?Object.defineProperty(r.prototype,i,s):r.prototype[i]=t.prototype[i]})})}a(Af,"applyMixins");var _n=_t(qe,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(_n);var Fe=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Lt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ln=Object.freeze({recoveryValueFunc:a(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),ye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",r[r.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(ye||(ye={}));function va(r=void 0){return function(){return r}}a(va,"EMPTY_ALT");var Pi=class r{static{a(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{Ei(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),$(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=af({rules:re(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(M(n)&&this.skipValidations===!1){let i=of({rules:re(this.gastProductionsCache),tokenTypes:re(this.tokensMap),errMsgProvider:it,grammarName:t}),s=Qc({lookaheadStrategy:this.lookaheadStrategy,rules:re(this.gastProductionsCache),tokenTypes:re(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,s)}}),M(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=hc(re(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:re(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(re(this.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!M(this.definitionErrors))throw e=E(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
${e.join(`
-------------------------------
`)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initContentAssist(),n.initGastRecorder(t),n.initPerformanceTracer(t),I(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=I(t,"skipValidations")?t.skipValidations:Fe.skipValidations}};Pi.DEFER_DEFINITION_ERRORS_HANDLING=!1;Af(Pi,[aa,ua,ha,pa,ga,ma,ya,Ta,Ra,Aa]);var bi=class extends Pi{static{a(this,"EmbeddedActionsParser")}constructor(e,t=Fe){let n=te(t);n.outputCst=!1,super(e,n)}};function hr(r,e,t){return`${r.name}_${e}_${t}`}a(hr,"buildATNKey");var Kt=1,om=2,vf=4,kf=5;var bn=7,lm=8,um=9,cm=10,fm=11,$f=12,Mi=class{static{a(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},On=class extends Mi{static{a(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},Di=class extends Mi{static{a(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Pn=class extends Mi{static{a(this,"RuleTransition")}constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}};function If(r){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};dm(e,r);let t=r.length;for(let n=0;n<t;n++){let i=r[n],s=pr(e,i,i);s!==void 0&&vm(e,i,s)}return e}a(If,"createATN");function dm(r,e){let t=e.length;for(let n=0;n<t;n++){let i=e[n],s=Re(r,i,void 0,{type:om}),o=Re(r,i,void 0,{type:bn});s.stop=o,r.ruleToStartState.set(i,s),r.ruleToStopState.set(i,o)}}a(dm,"createRuleStartAndStopATNStates");function Nf(r,e,t){return t instanceof D?Ol(r,e,t.terminalType,t):t instanceof H?Am(r,e,t):t instanceof X?ym(r,e,t):t instanceof z?Tm(r,e,t):t instanceof G?hm(r,e,t):t instanceof q?pm(r,e,t):t instanceof Q?mm(r,e,t):t instanceof Z?gm(r,e,t):pr(r,e,t)}a(Nf,"atom");function hm(r,e,t){let n=Re(r,e,t,{type:kf});Vt(r,n);let i=Mn(r,e,n,t,pr(r,e,t));return Sf(r,e,t,i)}a(hm,"repetition");function pm(r,e,t){let n=Re(r,e,t,{type:kf});Vt(r,n);let i=Mn(r,e,n,t,pr(r,e,t)),s=Ol(r,e,t.separator,t);return Sf(r,e,t,i,s)}a(pm,"repetitionSep");function mm(r,e,t){let n=Re(r,e,t,{type:vf});Vt(r,n);let i=Mn(r,e,n,t,pr(r,e,t));return Cf(r,e,t,i)}a(mm,"repetitionMandatory");function gm(r,e,t){let n=Re(r,e,t,{type:vf});Vt(r,n);let i=Mn(r,e,n,t,pr(r,e,t)),s=Ol(r,e,t.separator,t);return Cf(r,e,t,i,s)}a(gm,"repetitionMandatorySep");function ym(r,e,t){let n=Re(r,e,t,{type:Kt});Vt(r,n);let i=E(t.definition,o=>Nf(r,e,o));return Mn(r,e,n,t,...i)}a(ym,"alternation");function Tm(r,e,t){let n=Re(r,e,t,{type:Kt});Vt(r,n);let i=Mn(r,e,n,t,pr(r,e,t));return Rm(r,e,t,i)}a(Tm,"option");function pr(r,e,t){let n=xe(E(t.definition,i=>Nf(r,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Em(r,n)}a(pr,"block");function Cf(r,e,t,n,i){let s=n.left,o=n.right,l=Re(r,e,t,{type:fm});Vt(r,l);let u=Re(r,e,t,{type:$f});return s.loopback=l,u.loopback=l,r.decisionMap[hr(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=l,me(o,l),i===void 0?(me(l,s),me(l,u)):(me(l,u),me(l,i.left),me(i.right,s)),{left:s,right:u}}a(Cf,"plus");function Sf(r,e,t,n,i){let s=n.left,o=n.right,l=Re(r,e,t,{type:cm});Vt(r,l);let u=Re(r,e,t,{type:$f}),c=Re(r,e,t,{type:um});return l.loopback=c,u.loopback=c,me(l,s),me(l,u),me(o,c),i!==void 0?(me(c,u),me(c,i.left),me(i.right,s)):me(c,l),r.decisionMap[hr(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=l,{left:l,right:u}}a(Sf,"star");function Rm(r,e,t,n){let i=n.left,s=n.right;return me(i,s),r.decisionMap[hr(e,"Option",t.idx)]=i,n}a(Rm,"optional");function Vt(r,e){return r.decisionStates.push(e),e.decision=r.decisionStates.length-1,e.decision}a(Vt,"defineDecisionState");function Mn(r,e,t,n,...i){let s=Re(r,e,n,{type:lm,start:t});t.end=s;for(let l of i)l!==void 0?(me(t,l.left),me(l.right,s)):me(t,s);let o={left:t,right:s};return r.decisionMap[hr(e,xm(n),n.idx)]=t,o}a(Mn,"makeAlts");function xm(r){if(r instanceof X)return"Alternation";if(r instanceof z)return"Option";if(r instanceof G)return"Repetition";if(r instanceof q)return"RepetitionWithSeparator";if(r instanceof Q)return"RepetitionMandatory";if(r instanceof Z)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}a(xm,"getProdType");function Em(r,e){let t=e.length;for(let s=0;s<t-1;s++){let o=e[s],l;o.left.transitions.length===1&&(
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n}a(wm,"buildAmbiguityError");function _m(r){if(r instanceof H)return"SUBRULE";if(r instanceof z)return"OPTION";if(r instanceof X)return"OR";if(r instanceof Q)return"AT_LEAST_ONE";if(r instanceof Z)return"AT_LEAST_ONE_SEP";if(r instanceof q)return"MANY_SEP";if(r instanceof G)return"MANY";if(r instanceof D)return"CONSUME";throw Error("non exhaustive match")}a(_m,"getProductionDslName");function Lm(r,e,t){let n=Ie(e.configs.elements,s=>s.state.transitions),i=qu(n.filter(s=>s instanceof On).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:r}}a(Lm,"buildAdaptivePredictError");function Om(r,e){return r.edges[e.tokenTypeIdx]}a(Om,"getExistingTargetState");function Pm(r,e,t){let n=new Dn,i=[];for(let o of r.elements){if(t.is(o.alt)===!1)continue;if(o.state.type===bn){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u<l;u++){let c=o.state.transitions[u],f=bm(c,e);f!==void 0&&n.add({state:f,alt:o.alt,stack:o.stack})}}let s;if(i.length===0&&n.size===1&&(s=n),s===void 0){s=new Dn;for(let o of n.elements)$a(o,s)}if(i.length>0&&!Gm(s))for(let o of i)s.add(o);return s}a(Pm,"computeReachSet");function bm(r,e){if(r instanceof On&&ki(e,r.tokenType))return r.target}a(bm,"getReachableTarget");function Mm(r,e){let t;for(let n of r.elements)if(e.is(n.alt)===!0){if(t===void 0)t=n.alt;else if(t!==n.alt)return}return t}a(Mm,"getUniqueAlt");function Of(r){return{configs:r,edges:{},isAcceptState:!1,prediction:-1}}a(Of,"newDFAState");function Lf(r,e,t,n){return n=Pf(r,n),e.edges[t.tokenTypeIdx]=n,n}a(Lf,"addDFAEdge");function Pf(r,e){if(e===Fi)return e;let t=e.configs.key,n=r.states[t];return n!==void 0?n:(e.configs.finalize(),r.states[t]=e,e)}a(Pf,"addDFAState");function Dm(r){let e=new Dn,t=r.transitions.length;for(let n=0;n<t;n++){let s={state:r.transitions[n].target,alt:n,stack:[]};$a(s,e)}return e}a(Dm,"computeStartState");function $a(r,e){let t=r.state;if(t.type===bn){if(r.stack.length>0){let i=[...r.stack],o={state:i.pop(),alt:r.alt,stack:i};$a(o,e)}else e.add(r);return}t.epsilonOnlyTransitions||e.add(r);let n=t.transitions.length;for(let i=0;i<n;i++){let s=t.transitions[i],o=Fm(r,s);o!==void 0&&$a(o,e)}}a($a,"closure");function Fm(r,e){if(e instanceof Di)return{state:e.target,alt:r.alt,stack:r.stack};if(e instanceof Pn){let t=[...r.stack,e.followState];return{state:e.target,alt:r.alt,stack:t}}}a(Fm,"getEpsilonTarget");function Gm(r){for(let e of r.elements)if(e.state.type===bn)return!0;return!1}a(Gm,"hasConfigInRuleStopState");function Um(r){for(let e of r.elements)if(e.state.type!==bn)return!1;return!0}a(Um,"allConfigsInRuleStopStates");function Bm(r){if(Um(r))return!0;let e=Wm(r.elements);return Km(e)&&!Vm(e)}a(Bm,"hasConflictTerminatingPrediction");function Wm(r){let e=new Map;for(let t of r){let n=bl(t,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[t.alt]=!0}return e}a(Wm,"getConflictingAltSets");function Km(r){for(let e of Array.from(r.values()))if(Object.keys(e).length>1)return!0;return!1}a(Km,"hasConflictingAltSet");function Vm(r){for(let e of Array.from(r.values()))if(Object.keys(e).length===1)return!0;return!1}a(Vm,"hasStateAssociatedWithOneAlt");var bf;(function(r){function e(t){return typeof t=="string"}a(e,"is"),r.is=e})(bf||(bf={}));var Dl;(function(r){function e(t){return typeof t=="string"}a(e,"is"),r.is=e})(Dl||(Dl={}));var Mf;(function(r){r.MIN_VALUE=-2147483648,r.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&r.MIN_VALUE<=t&&t<=r.MAX_VALUE}a(e,"is"),r.is=e})(Mf||(Mf={}));var Ia;(function(r){r.MIN_VALUE=0,r.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&r.MIN_VALUE<=t&&t<=r.MAX_VALUE}a(e,"is"),r.is=e})(Ia||(Ia={}));var W;(function(r){function e(n,i){return n===Number.MAX_VALUE&&(n=Ia.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ia.MAX_VALUE),{line:n,character:i}}a(e,"create"),r.create=e;function t(n){let i=n;return m.objectLiteral(i)&&m.uinteger(i.line)&&m.uinteger(i.character)}a(t,"is"),r.is=t})(W||(W={}));var U;(function(r){function e(n,i,s,o){if(m.uinteger(n)&&m.uinteger(i)&&m.uinteger(s)&&m.uinteger(o))return{start:W.cr
`,s==="\r"&&i+1<t.length&&t.charAt(i+1)===`
`&&i++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,i=t.length;if(i===0)return W.create(0,e);for(;n<i;){let o=Math.floor((n+i)/2);t[o]>e?i=o:n=o+1}let s=n-1;return W.create(s,e-t[s])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}},m;(function(r){let e=Object.prototype.toString;function t(p){return typeof p<"u"}a(t,"defined"),r.defined=t;function n(p){return typeof p>"u"}a(n,"undefined"),r.undefined=n;function i(p){return p===!0||p===!1}a(i,"boolean"),r.boolean=i;function s(p){return e.call(p)==="[object String]"}a(s,"string"),r.string=s;function o(p){return e.call(p)==="[object Number]"}a(o,"number"),r.number=o;function l(p,g,y){return e.call(p)==="[object Number]"&&g<=p&&p<=y}a(l,"numberRange"),r.numberRange=l;function u(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}a(u,"integer"),r.integer=u;function c(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}a(c,"uinteger"),r.uinteger=c;function f(p){return e.call(p)==="[object Function]"}a(f,"func"),r.func=f;function d(p){return p!==null&&typeof p=="object"}a(d,"objectLiteral"),r.objectLiteral=d;function h(p,g){return Array.isArray(p)&&p.every(g)}a(h,"typedArray"),r.typedArray=h})(m||(m={}));var Bi=class{static{a(this,"CstNodeBuilder")}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 Bn(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new gr;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let n=new mr(e.startOffset,e.image.length,Nr(e),e.tokenType,!t);return n.grammarSource=t,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let t=e.container;if(t){let n=t.content.indexOf(e);n>=0&&t.content.splice(n,1)}}addHiddenNodes(e){let t=[];for(let s of e){let o=new mr(s.startOffset,s.image.length,Nr(s),s.tokenType,!0);o.root=this.rootNode,t.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...t);return}for(;n.container;){let s=n.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...t),i=!0;break}n=n.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 n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Wi=class{static{a(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;let n=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(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},mr=class extends Wi{static{a(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=t,this._range=n}},gr=class extends Wi{static{a(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new Jl(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!==voi
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return c}}a(t,"convertEscapeCharacter");function n(c){return c.charAt(0)==="^"?c.substring(1):c}a(n,"convertID"),r.convertID=n;function i(c){return parseInt(c)}a(i,"convertInt"),r.convertInt=i;function s(c){return BigInt(c)}a(s,"convertBigint"),r.convertBigint=s;function o(c){return new Date(c)}a(o,"convertDate"),r.convertDate=o;function l(c){return Number(c)}a(l,"convertNumber"),r.convertNumber=l;function u(c){return c.toLowerCase()==="true"}a(u,"convertBoolean"),r.convertBoolean=u})(pt||(pt={}));var S={};B(S,Vu(Hd(),1));function fu(){return new Promise(r=>{typeof setImmediate>"u"?setTimeout(r,0):setImmediate(r)})}a(fu,"delayNextTick");var Da=0,zd=10;function Fa(){return Da=performance.now(),new S.CancellationTokenSource}a(Fa,"startCancelableOperation");function qd(r){zd=r}a(qd,"setInterruptionPeriod");var mt=Symbol("OperationCancelled");function gt(r){return r===mt}a(gt,"isOperationCancelled");async function ce(r){if(r===S.CancellationToken.None)return;let e=performance.now();if(e-Da>=zd&&(Da=e,await fu(),Da=performance.now()),r.isCancellationRequested)throw mt}a(ce,"interruptAndCheck");var Ge=class{static{a(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=n=>(e(n),this),this.reject=n=>(t(n),this)})}};var Ga=class r{static{a(this,"FullTextDocument")}constructor(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(let n of e)if(r.isIncremental(n)){let i=Jd(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,f=Xd(n.text,!1,s);if(u-l===f.length)for(let h=0,p=f.length;h<p;h++)c[h+l+1]=f[h];else f.length<1e4?c.splice(l+1,u-l,...f):this._lineOffsets=c=c.slice(0,l+1).concat(f,c.slice(u+1));let d=n.text.length-(o-s);if(d!==0)for(let h=l+1+f.length,p=c.length;h<p;h++)c[h]=c[h]+d}else if(r.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Xd(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,i=t.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);t[o]>e?i=o:n=o+1}let s=n-1;return e=this.ensureBeforeEOL(e,t[s]),{line:s,character:e-t[s]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line];if(e.character<=0)return n;let i=e.line+1<t.length?t[e.line+1]:this._content.length,s=Math.min(n+e.character,i);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(e,t){for(;e>t&&Yd(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}},jn;(function(r){function e(i,s,o,l){return new Ga(i,s,o,l)}a(e,"create"),r.create=e;function t(i,s,o){if(i instanceof Ga)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}a(t,"update"),r.update=t;function n(i,s){let o=i.getText(),l=du(s.map(cg),(f,d)=>{let h=f.range.start.line-d.range.start.line;return h===0?f.range.start.character-d.range.start.character:h}),u=0,c=[];for(let f of l){let d=i.offsetAt(f.range.start);if(d<u)throw new Error("Overlapping edit");d>u&&c.push(o.substring(u,d)),f.newText.length&&c.push(f.newText),u=i.offsetAt(f.range.end)}return c.push(o.substr(u)
${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,n;return(n=(t=e?.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let s=Ag(this.name,t,e??{});if(typeof s=="string")return s}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${t}`:this.content.inlines.length>1&&(i=`${i}
${t}`),this.inline?`{${i}}`:i}};function Ag(r,e,t){var n,i;if(r==="linkplain"||r==="linkcode"||r==="link"){let s=e.indexOf(" "),o=e;if(s>0){let u=Tu(e,s);o=e.substring(u),e=e.substring(0,s)}return(r==="linkcode"||r==="link"&&t.link==="code")&&(o=`\`${o}\``),(i=(n=t.renderLink)===null||n===void 0?void 0:n.call(t,e,o))!==null&&i!==void 0?i:vg(e,o)}}a(Ag,"renderInlineTag");function vg(r,e){try{return Ue.parse(r,!0),`[${e}](${r})`}catch{return r}}a(vg,"renderLinkDefault");var ms=class{static{a(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let n=this.inlines[t],i=this.inlines[t+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let t="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],s=this.inlines[n+1];t+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(t+=`
`)}return t}},ja=class{static{a(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function ih(r){return r.endsWith(`
`)?`
`:`
`}a(ih,"fillNewlines");var gs=class{static{a(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&xu(t))return Ru(t).toMarkdown({renderLink:a((i,s)=>this.documentationLinkRenderer(e,i,s),"renderLink"),renderTag:a(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,t,n){var i;let s=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);if(s&&s.nameSegment){let o=s.nameSegment.range.start.line+1,l=s.nameSegment.range.start.character+1,u=s.documentUri.with({fragment:`L${o},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let i=we(e).precomputedScopes;if(!i)return;let s=e;do{let l=i.get(s).find(u=>u.name===t);if(l)return l;s=s.$container}while(s)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(i=>i.name===t)}};var ys=class{static{a(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return pu(e)?e.$comment:(t=To(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}};var Ts=class{static{a(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},Au=class{static{a(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let n=await this.acquireParserWorker(t),i=new Ge,s,o=t.onCancellationRequested(()=>{s=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(s)}),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 n of this.workerPool)if(n.ready)return n.lock(),n;let t=new Ge;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1),t.reject(mt)}),this.queue.push(t),t.promise}},vu=class{static{a(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,n,i){this.onReadyEmitter=new ne.Emitter,this.deferred=new Ge,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,t(s=>{let o=s;this.deferred.resolve(o),this.unlock()}),n(s=>{this.deferred.reject(s),this.unlock()})}terminate(){this.deferred.reject(mt),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 Ge,this.sendMessage(e),this.deferred.promise}};var Rs=class{static{a(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new S.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Fa();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=S.CancellationToken.None){let i=new Ge,s={action:t,deferred:i,cancellationToken:n};return e.push(s),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:n,cancellationToken:i})=>{try{let s=await Promise.resolve().then(()=>t(i));n.resolve(s)}catch(s){gt(s)?n.resolve(void 0):n.r
`.includes(e[t-1])}matchWhitespace(e,t,n,i){var s;this.whitespaceRegExp.lastIndex=t;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:(s=o?.[0].length)!==null&&s!==void 0?s:0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,t,n,i){let s=this.getLineNumber(t,i);return _t(e,n,i,i+n.length,s,s,1,n.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,n,i){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:s,prevIndentLevel:o,match:l}=this.matchWhitespace(e,t,n,i);return s<=o?null:(this.indentationStack.push(s),l)}dedentMatcher(e,t,n,i){var s,o,l,u;if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:c,prevIndentLevel:f,match:d}=this.matchWhitespace(e,t,n,i);if(c>=f)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=(s=d?.[0])===null||s===void 0?void 0:s.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;y<p;y++){let v=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(g-1));n.push(v),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:s}=this.options;return t.name===n?this.indentTokenType:t.name===i?this.dedentTokenType:t.name===s?Bt({name:s,pattern:this.whitespaceRegExp,group:se.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Cu=class extends Ar{static{a(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof qa)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=Wa){let n=super.tokenize(e),i=n.report;t?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:s,dedentTokenType:o}=this.indentationTokenBuilder,l=s.tokenTypeIdx,u=o.tokenTypeIdx,c=[],f=n.tokens.length-1;for(let d=0;d<f;d++){let h=n.tokens[d],p=n.tokens[d+1];if(h.tokenTypeIdx===l&&p.tokenTypeIdx===u){d++;continue}c.push(h)}return f>=0&&c.push(n.tokens[f]),n.tokens=c,n}};var K={};qt(K,{AstUtils:()=>Fs,BiMap:()=>Rr,Cancellation:()=>S,ContextCache:()=>xr,CstUtils:()=>Ss,DONE_RESULT:()=>Ce,Deferred:()=>Ge,Disposable:()=>jt,DisposableCache:()=>qn,DocumentCache:()=>Ua,EMPTY_STREAM:()=>ei,ErrorWithLocation:()=>tr,GrammarUtils:()=>Ks,MultiMap:()=>st,OperationCancelled:()=>mt,Reduction:()=>Ir,RegExpUtils:()=>Bs,SimpleCache:()=>es,StreamImpl:()=>je,TreeStreamImpl:()=>lt,URI:()=>Ue,UriUtils:()=>Be,WorkspaceCache:()=>Xn,assertUnreachable:()=>ct,delayNextTick:()=>fu,interruptAndCheck:()=>ce,isOperationCancelled:()=>gt,loadGrammarFromJson:()=>yt,setInterruptionPeriod:()=>qd,startCancelableOperation:()=>Fa,stream:()=>j});B(K,ne);var Xa=class{static{a(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Su={fileSystemProvider:a(()=>new Xa,"fileSystemProvider")};var kg={Grammar:a(()=>{},"Grammar"),LanguageMetaData:a(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},$g={AstReflection:a(()=>new hn,"AstReflection")};function Ig(){let r=za($u(Su),$g),e=za(ku({shared:r}),kg);return r.ServiceRegistry.register(e),e}a(Ig,"createMinimalGrammarServices");function yt(r){var e;let t=Ig(),n=t.serializer.JsonSerializer.deserialize(r);return t.shared.workspace.LangiumDocumentFactory.fromModel(n,Ue.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}a(yt,"loadGrammarFromJson");B(fe,K);var Ng=Object.defineProperty,F=a((r,e)
`)}}},aC=class extends ny{static{a(this,"CommonValueConverter")}static{F(this,"CommonValueConverter")}runCustomConverter(r,e,t){}},iy=class extends bt{static{a(this,"AbstractMermaidTokenBuilder")}static{F(this,"AbstractMermaidTokenBuilder")}constructor(r){super(),this.keywords=new Set(r)}buildKeywordTokens(r,e,t){let n=super.buildKeywordTokens(r,e,t);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},lC=class extends iy{static{a(this,"CommonTokenBuilder")}static{F(this,"CommonTokenBuilder")}};export{ku as a,$u as b,za as c,Su as d,fe as e,F as f,JN as g,QN as h,ZN as i,eC as j,tC as k,rC as l,nC as m,iC as n,ny as o,aC as p,iy as q};