@zenuml/core 3.40.1 → 3.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/zenuml.js CHANGED
@@ -23,7 +23,7 @@
23
23
  `,this.recog.ruleNames[t.state.ruleIndex],t):console.log(`closure at rule stop %s
24
24
  `,t)),t.context===null||t.context.hasEmptyPath()){if(t.context===null||t.context.isEmpty())return i.add(t),!0;i.add(new i3({state:t.state,context:e1.EMPTY},t)),s=!0}if(t.context!==null&&!t.context.isEmpty()){for(let L=0;L<t.context.length;L++)if(t.context.getReturnState(L)!==e1.EMPTY_RETURN_STATE){const _=t.context.getParent(L),p=this.atn.states[t.context.getReturnState(L)];d=new i3({state:p,context:_},t),s=this.closure(e,d,i,s,l,c)}}return s}t.state.epsilonOnlyTransitions||(!s||!t.passedThroughNonGreedyDecision)&&i.add(t);for(let L=0;L<t.state.transitions.length;L++){const _=t.state.transitions[L];d=this.getEpsilonTarget(e,t,_,i,l,c),d!==null&&(s=this.closure(e,d,i,s,l,c))}return s}getEpsilonTarget(e,t,i,s,l,c){let d=null;if(i.serializationType===b2.RULE){const L=Ve.create(t.context,i.followState.stateNumber);d=new i3({state:i.target,context:L},t)}else{if(i.serializationType===b2.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(i.serializationType===b2.PREDICATE)z1.debug&&console.log("EVAL rule "+i.ruleIndex+":"+i.predIndex),s.hasSemanticContext=!0,this.evaluatePredicate(e,i.ruleIndex,i.predIndex,l)&&(d=new i3({state:i.target},t));else if(i.serializationType===b2.ACTION)if(t.context===null||t.context.hasEmptyPath()){const L=B9.append(t.lexerActionExecutor,this.atn.lexerActions[i.actionIndex]);d=new i3({state:i.target,lexerActionExecutor:L},t)}else d=new i3({state:i.target},t);else i.serializationType===b2.EPSILON?d=new i3({state:i.target},t):(i.serializationType===b2.ATOM||i.serializationType===b2.RANGE||i.serializationType===b2.SET)&&c&&i.matches(m2.EOF,0,qe.MAX_CHAR_VALUE)&&(d=new i3({state:i.target},t))}return d}evaluatePredicate(e,t,i,s){if(this.recog===null)return!0;if(!s)return this.recog.sempred(null,t,i);const l=this.column,c=this.line,d=e.index,L=e.mark();try{return this.consume(e),this.recog.sempred(null,t,i)}finally{this.column=l,this.line=c,e.seek(d),e.release(L)}}captureSimState(e,t,i){e.index=t.index,e.line=this.line,e.column=this.column,e.dfaState=i}addDFAEdge(e,t,i,s){if(i===void 0&&(i=null),s===void 0&&(s=null),i===null&&s!==null){const l=s.hasSemanticContext;if(s.hasSemanticContext=!1,i=this.addDFAState(s),l)return i}return t<z1.MIN_DFA_EDGE||t>z1.MAX_DFA_EDGE||(z1.debug&&console.log("EDGE "+e+" -> "+i+" upon "+t),e.edges===null&&(e.edges=[]),e.edges[t-z1.MIN_DFA_EDGE]=i),i}addDFAState(e){const t=new U4(null,e);let i=null;for(let d=0;d<e.items.length;d++){const L=e.items[d];if(L.state instanceof Ye){i=L;break}}i!==null&&(t.isAcceptState=!0,t.lexerActionExecutor=i.lexerActionExecutor,t.prediction=this.atn.ruleToTokenType[i.state.ruleIndex]);const s=this.decisionToDFA[this.mode],l=s.states.get(t);if(l!==null)return l;const c=t;return c.stateNumber=s.states.length,e.setReadonly(!0),c.configs=e,s.states.add(c),c}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}}z1.debug=!1,z1.dfa_debug=!1,z1.MIN_DFA_EDGE=0,z1.MAX_DFA_EDGE=127;class Zd{constructor(e,t){this.alt=t,this.pred=e}toString(){return"("+this.pred+", "+this.alt+")"}}class OR{constructor(){this.data={}}get(e){return this.data["k-"+e]||null}set(e,t){this.data["k-"+e]=t}values(){return Object.keys(this.data).filter(e=>e.startsWith("k-")).map(e=>this.data[e],this)}}const A1={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(n,e){if(A1.allConfigsInRuleStopStates(e))return!0;if(n===A1.SLL&&e.hasSemanticContext){const i=new We;for(let s=0;s<e.items.length;s++){let l=e.items[s];l=new $1({semanticContext:p1.NONE},l),i.add(l)}e=i}const t=A1.getConflictingAltSubsets(e);return A1.hasConflictingAltSet(t)&&!A1.hasStateAssociatedWithOneAlt(e)},hasConfigInRuleStopState:function(n){for(let e=0;e<n.items.length;e++)if(n.items[e].state instanceof Ye)return!0;return!1},allConfigsInRuleStopStates:function(n){for(let e=0;e<n.items.length;e++)if(!(n.items[e].state instanceof Ye))return!1;return!0},resolvesToJustOneViableAlt:function(n){return A1.getSingleViableAlt(n)},allSubsetsConflict:function(n){return!A1.hasNonConflictingAltSet(n)},hasNonConflictingAltSet:function(n){for(let e=0;e<n.length;e++)if(n[e].length===1)return!0;return!1},hasConflictingAltSet:function(n){for(let e=0;e<n.length;e++)if(n[e].length>1)return!0;return!1},allSubsetsEqual:function(n){let e=null;for(let t=0;t<n.length;t++){const i=n[t];if(e===null)e=i;else if(i!==e)return!1}return!0},getUniqueAlt:function(n){const e=A1.getAlts(n);return e.length===1?e.minValue():U1.INVALID_ALT_NUMBER},getAlts:function(n){const e=new f4;return n.map(function(t){e.or(t)}),e},getConflictingAltSubsets:function(n){const e=new H0;return e.hashFunction=function(t){m3.hashStuff(t.state.stateNumber,t.context)},e.equalsFunction=function(t,i){return t.state.stateNumber===i.state.stateNumber&&t.context.equals(i.context)},n.items.map(function(t){let i=e.get(t);i===null&&(i=new f4,e.set(t,i)),i.add(t.alt)}),e.getValues()},getStateToAltMap:function(n){const e=new OR;return n.items.map(function(t){let i=e.get(t.state);i===null&&(i=new f4,e.set(t.state,i)),i.add(t.alt)}),e},hasStateAssociatedWithOneAlt:function(n){const e=A1.getStateToAltMap(n).values();for(let t=0;t<e.length;t++)if(e[t].length===1)return!0;return!1},getSingleViableAlt:function(n){let e=null;for(let t=0;t<n.length;t++){const s=n[t].minValue();if(e===null)e=s;else if(e!==s)return U1.INVALID_ALT_NUMBER}return e}};class z7 extends dt{constructor(e,t,i,s,l,c){c=c||e._ctx,s=s||e.getCurrentToken(),i=i||e.getCurrentToken(),t=t||e.getInputStream(),super({message:"",recognizer:e,input:t,ctx:c}),this.deadEndConfigs=l,this.startToken=i,this.offendingToken=s}}class IR{constructor(e){this.defaultMapCtor=e||H0,this.cacheMap=new this.defaultMapCtor}get(e,t){const i=this.cacheMap.get(e)||null;return i===null?null:i.get(t)||null}set(e,t,i){let s=this.cacheMap.get(e)||null;s===null&&(s=new this.defaultMapCtor,this.cacheMap.set(e,s)),s.set(t,i)}}class DR extends E4{constructor(e,t,i,s){super(t,s),this.parser=e,this.decisionToDFA=i,this.predictionMode=A1.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.debug_list_atn_decisions=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(e,t,i){(this.debug||this.debug_list_atn_decisions)&&console.log("adaptivePredict decision "+t+" exec LA(1)=="+this.getLookaheadName(e)+" line "+e.LT(1).line+":"+e.LT(1).column),this._input=e,this._startIndex=e.index,this._outerContext=i;const s=this.decisionToDFA[t];this._dfa=s;const l=e.mark(),c=e.index;try{let d;if(s.precedenceDfa?d=s.getPrecedenceStartState(this.parser.getPrecedence()):d=s.s0,d===null){i===null&&(i=k9.EMPTY),(this.debug||this.debug_list_atn_decisions)&&console.log("predictATN decision "+s.decision+" exec LA(1)=="+this.getLookaheadName(e)+", outerContext="+i.toString(this.parser.ruleNames));let p=this.computeStartState(s.atnStartState,k9.EMPTY,!1);s.precedenceDfa?(s.s0.configs=p,p=this.applyPrecedenceFilter(p),d=this.addDFAState(s,new U4(null,p)),s.setPrecedenceStartState(this.parser.getPrecedence(),d)):(d=this.addDFAState(s,new U4(null,p)),s.s0=d)}const L=this.execATN(s,d,e,c,i);return this.debug&&console.log("DFA after predictATN: "+s.toString(this.parser.literalNames,this.parser.symbolicNames)),L}finally{this._dfa=null,this.mergeCache=null,e.seek(c),e.release(l)}}execATN(e,t,i,s,l){(this.debug||this.debug_list_atn_decisions)&&console.log("execATN decision "+e.decision+" exec LA(1)=="+this.getLookaheadName(i)+" line "+i.LT(1).line+":"+i.LT(1).column);let c,d=t;this.debug&&console.log("s0 = "+t);let L=i.LA(1);for(;;){let _=this.getExistingTargetState(d,L);if(_===null&&(_=this.computeTargetState(e,d,L)),_===E4.ERROR){const p=this.noViableAlt(i,l,d.configs,s);if(i.seek(s),c=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d.configs,l),c!==U1.INVALID_ALT_NUMBER)return c;throw p}if(_.requiresFullContext&&this.predictionMode!==A1.SLL){let p=null;if(_.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");const h=i.index;if(h!==s&&i.seek(s),p=this.evalSemanticContext(_.predicates,l,!0),p.length===1)return this.debug&&console.log("Full LL avoided"),p.minValue();h!==s&&i.seek(h)}this.dfa_debug&&console.log("ctx sensitive state "+l+" in "+_);const f=this.computeStartState(e.atnStartState,l,!0);return this.reportAttemptingFullContext(e,p,_.configs,s,i.index),c=this.execATNWithFullContext(e,_,f,i,s,l),c}if(_.isAcceptState){if(_.predicates===null)return _.prediction;const p=i.index;i.seek(s);const m=this.evalSemanticContext(_.predicates,l,!0);if(m.length===0)throw this.noViableAlt(i,l,_.configs,s);return m.length===1||this.reportAmbiguity(e,_,s,p,!1,m,_.configs),m.minValue()}d=_,L!==m2.EOF&&(i.consume(),L=i.LA(1))}}getExistingTargetState(e,t){const i=e.edges;return i===null?null:i[t+1]||null}computeTargetState(e,t,i){const s=this.computeReachSet(t.configs,i,!1);if(s===null)return this.addDFAEdge(e,t,i,E4.ERROR),E4.ERROR;let l=new U4(null,s);const c=this.getUniqueAlt(s);if(this.debug){const d=A1.getConflictingAltSubsets(s);console.log("SLL altSubSets="+ut(d)+", configs="+s+", predict="+c+", allSubsetsConflict="+A1.allSubsetsConflict(d)+", conflictingAlts="+this.getConflictingAlts(s))}return c!==U1.INVALID_ALT_NUMBER?(l.isAcceptState=!0,l.configs.uniqueAlt=c,l.prediction=c):A1.hasSLLConflictTerminatingPrediction(this.predictionMode,s)&&(l.configs.conflictingAlts=this.getConflictingAlts(s),l.requiresFullContext=!0,l.isAcceptState=!0,l.prediction=l.configs.conflictingAlts.minValue()),l.isAcceptState&&l.configs.hasSemanticContext&&(this.predicateDFAState(l,this.atn.getDecisionState(e.decision)),l.predicates!==null&&(l.prediction=U1.INVALID_ALT_NUMBER)),l=this.addDFAEdge(e,t,i,l),l}predicateDFAState(e,t){const i=t.transitions.length,s=this.getConflictingAltsOrUniqueAlt(e.configs),l=this.getPredsForAmbigAlts(s,e.configs,i);l!==null?(e.predicates=this.getPredicatePredictions(s,l),e.prediction=U1.INVALID_ALT_NUMBER):e.prediction=s.minValue()}execATNWithFullContext(e,t,i,s,l,c){(this.debug||this.debug_list_atn_decisions)&&console.log("execATNWithFullContext "+i);const d=!0;let L=!1,_,p=i;s.seek(l);let m=s.LA(1),f=-1;for(;;){if(_=this.computeReachSet(p,m,d),_===null){const v=this.noViableAlt(s,c,p,l);s.seek(l);const R=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(p,c);if(R!==U1.INVALID_ALT_NUMBER)return R;throw v}const h=A1.getConflictingAltSubsets(_);if(this.debug&&console.log("LL altSubSets="+h+", predict="+A1.getUniqueAlt(h)+", resolvesToJustOneViableAlt="+A1.resolvesToJustOneViableAlt(h)),_.uniqueAlt=this.getUniqueAlt(_),_.uniqueAlt!==U1.INVALID_ALT_NUMBER){f=_.uniqueAlt;break}else if(this.predictionMode!==A1.LL_EXACT_AMBIG_DETECTION){if(f=A1.resolvesToJustOneViableAlt(h),f!==U1.INVALID_ALT_NUMBER)break}else if(A1.allSubsetsConflict(h)&&A1.allSubsetsEqual(h)){L=!0,f=A1.getSingleViableAlt(h);break}p=_,m!==m2.EOF&&(s.consume(),m=s.LA(1))}return _.uniqueAlt!==U1.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,f,_,l,s.index),f):(this.reportAmbiguity(e,t,l,s.index,L,null,_),f)}computeReachSet(e,t,i){this.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new IR);const s=new We(i);let l=null;for(let d=0;d<e.items.length;d++){const L=e.items[d];if(this.debug&&console.log("testing "+this.getTokenName(t)+" at "+L),L.state instanceof Ye){(i||t===m2.EOF)&&(l===null&&(l=[]),l.push(L),this.debug_add&&console.log("added "+L+" to skippedStopStates"));continue}for(let _=0;_<L.state.transitions.length;_++){const p=L.state.transitions[_],m=this.getReachableTarget(p,t);if(m!==null){const f=new $1({state:m},L);s.add(f,this.mergeCache),this.debug_add&&console.log("added "+f+" to intermediate")}}}let c=null;if(l===null&&t!==m2.EOF&&(s.items.length===1||this.getUniqueAlt(s)!==U1.INVALID_ALT_NUMBER)&&(c=s),c===null){c=new We(i);const d=new h3,L=t===m2.EOF;for(let _=0;_<s.items.length;_++)this.closure(s.items[_],c,d,!1,i,L)}if(t===m2.EOF&&(c=this.removeAllConfigsNotInRuleStopState(c,c===s)),l!==null&&(!i||!A1.hasConfigInRuleStopState(c)))for(let d=0;d<l.length;d++)c.add(l[d],this.mergeCache);return c.items.length===0?null:c}removeAllConfigsNotInRuleStopState(e,t){if(A1.allConfigsInRuleStopStates(e))return e;const i=new We(e.fullCtx);for(let s=0;s<e.items.length;s++){const l=e.items[s];if(l.state instanceof Ye){i.add(l,this.mergeCache);continue}if(t&&l.state.epsilonOnlyTransitions&&this.atn.nextTokens(l.state).contains(m2.EPSILON)){const d=this.atn.ruleToStopState[l.state.ruleIndex];i.add(new $1({state:d},l),this.mergeCache)}}return i}computeStartState(e,t,i){const s=R7(this.atn,t),l=new We(i);for(let c=0;c<e.transitions.length;c++){const d=e.transitions[c].target,L=new $1({state:d,alt:c+1,context:s},null),_=new h3;this.closure(L,l,_,!0,i,!1)}return l}applyPrecedenceFilter(e){let t;const i=[],s=new We(e.fullCtx);for(let l=0;l<e.items.length;l++){if(t=e.items[l],t.alt!==1)continue;const c=t.semanticContext.evalPrecedence(this.parser,this._outerContext);c!==null&&(i[t.state.stateNumber]=t.context,c!==t.semanticContext?s.add(new $1({semanticContext:c},t),this.mergeCache):s.add(t,this.mergeCache))}for(let l=0;l<e.items.length;l++)if(t=e.items[l],t.alt!==1){if(!t.precedenceFilterSuppressed){const c=i[t.state.stateNumber]||null;if(c!==null&&c.equals(t.context))continue}s.add(t,this.mergeCache)}return s}getReachableTarget(e,t){return e.matches(t,0,this.atn.maxTokenType)?e.target:null}getPredsForAmbigAlts(e,t,i){let s=[];for(let c=0;c<t.items.length;c++){const d=t.items[c];e.has(d.alt)&&(s[d.alt]=p1.orContext(s[d.alt]||null,d.semanticContext))}let l=0;for(let c=1;c<i+1;c++){const d=s[c]||null;d===null?s[c]=p1.NONE:d!==p1.NONE&&(l+=1)}return l===0&&(s=null),this.debug&&console.log("getPredsForAmbigAlts result "+ut(s)),s}getPredicatePredictions(e,t){const i=[];let s=!1;for(let l=1;l<t.length;l++){const c=t[l];e!==null&&e.has(l)&&i.push(new Zd(c,l)),c!==p1.NONE&&(s=!0)}return s?i:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(e,t){const i=this.splitAccordingToSemanticValidity(e,t),s=i[0],l=i[1];let c=this.getAltThatFinishedDecisionEntryRule(s);return c!==U1.INVALID_ALT_NUMBER||l.items.length>0&&(c=this.getAltThatFinishedDecisionEntryRule(l),c!==U1.INVALID_ALT_NUMBER)?c:U1.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const t=[];for(let i=0;i<e.items.length;i++){const s=e.items[i];(s.reachesIntoOuterContext>0||s.state instanceof Ye&&s.context.hasEmptyPath())&&t.indexOf(s.alt)<0&&t.push(s.alt)}return t.length===0?U1.INVALID_ALT_NUMBER:Math.min.apply(null,t)}splitAccordingToSemanticValidity(e,t){const i=new We(e.fullCtx),s=new We(e.fullCtx);for(let l=0;l<e.items.length;l++){const c=e.items[l];c.semanticContext!==p1.NONE?c.semanticContext.evaluate(this.parser,t)?i.add(c):s.add(c):i.add(c)}return[i,s]}evalSemanticContext(e,t,i){const s=new f4;for(let l=0;l<e.length;l++){const c=e[l];if(c.pred===p1.NONE){if(s.add(c.alt),!i)break;continue}const d=c.pred.evaluate(this.parser,t);if((this.debug||this.dfa_debug)&&console.log("eval pred "+c+"="+d),d&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+c.alt),s.add(c.alt),!i))break}return s}closure(e,t,i,s,l,c){this.closureCheckingStopState(e,t,i,s,l,0,c)}closureCheckingStopState(e,t,i,s,l,c,d){if((this.debug||this.debug_closure)&&(console.log("closure("+e.toString(this.parser,!0)+")"),e.reachesIntoOuterContext>50))throw"problem";if(e.state instanceof Ye)if(e.context.isEmpty())if(l){t.add(e,this.mergeCache);return}else this.debug&&console.log("FALLING off rule "+this.getRuleName(e.state.ruleIndex));else{for(let L=0;L<e.context.length;L++){if(e.context.getReturnState(L)===e1.EMPTY_RETURN_STATE){if(l){t.add(new $1({state:e.state,context:e1.EMPTY},e),this.mergeCache);continue}else this.debug&&console.log("FALLING off rule "+this.getRuleName(e.state.ruleIndex)),this.closure_(e,t,i,s,l,c,d);continue}const _=this.atn.states[e.context.getReturnState(L)],p=e.context.getParent(L),m={state:_,alt:e.alt,context:p,semanticContext:e.semanticContext},f=new $1(m,null);f.reachesIntoOuterContext=e.reachesIntoOuterContext,this.closureCheckingStopState(f,t,i,s,l,c-1,d)}return}this.closure_(e,t,i,s,l,c,d)}closure_(e,t,i,s,l,c,d){const L=e.state;L.epsilonOnlyTransitions||t.add(e,this.mergeCache);for(let _=0;_<L.transitions.length;_++){if(_===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(e))continue;const p=L.transitions[_],m=s&&!(p instanceof Dd),f=this.getEpsilonTarget(e,p,m,c===0,l,d);if(f!==null){let h=c;if(e.state instanceof Ye){if(this._dfa!==null&&this._dfa.precedenceDfa&&p.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(f.precedenceFilterSuppressed=!0),f.reachesIntoOuterContext+=1,i.add(f)!==f)continue;t.dipsIntoOuterContext=!0,h-=1,this.debug&&console.log("dips into outer ctx: "+f)}else{if(!p.isEpsilon&&i.add(f)!==f)continue;p instanceof An&&h>=0&&(h+=1)}this.closureCheckingStopState(f,t,i,m,l,h,d)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const t=e.state;if(t.stateType!==O2.STAR_LOOP_ENTRY||t.stateType!==O2.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const i=e.context.length;for(let d=0;d<i;d++)if(this.atn.states[e.context.getReturnState(d)].ruleIndex!==t.ruleIndex)return!1;const l=t.transitions[0].target.endState.stateNumber,c=this.atn.states[l];for(let d=0;d<i;d++){const L=e.context.getReturnState(d),_=this.atn.states[L];if(_.transitions.length!==1||!_.transitions[0].isEpsilon)return!1;const p=_.transitions[0].target;if(!(_.stateType===O2.BLOCK_END&&p===t)&&_!==c&&p!==c&&!(p.stateType===O2.BLOCK_END&&p.transitions.length===1&&p.transitions[0].isEpsilon&&p.transitions[0].target===t))return!1}return!0}getRuleName(e){return this.parser!==null&&e>=0?this.parser.ruleNames[e]:"<rule "+e+">"}getEpsilonTarget(e,t,i,s,l,c){switch(t.serializationType){case b2.RULE:return this.ruleTransition(e,t);case b2.PRECEDENCE:return this.precedenceTransition(e,t,i,s,l);case b2.PREDICATE:return this.predTransition(e,t,i,s,l);case b2.ACTION:return this.actionTransition(e,t);case b2.EPSILON:return new $1({state:t.target},e);case b2.ATOM:case b2.RANGE:case b2.SET:return c&&t.matches(m2.EOF,0,1)?new $1({state:t.target},e):null;default:return null}}actionTransition(e,t){if(this.debug){const i=t.actionIndex===-1?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+i)}return new $1({state:t.target},e)}precedenceTransition(e,t,i,s,l){this.debug&&(console.log("PRED (collectPredicates="+i+") "+t.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+ut(this.parser.getRuleInvocationStack())));let c=null;if(i&&s)if(l){const d=this._input.index;this._input.seek(this._startIndex);const L=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(d),L&&(c=new $1({state:t.target},e))}else{const d=p1.andContext(e.semanticContext,t.getPredicate());c=new $1({state:t.target,semanticContext:d},e)}else c=new $1({state:t.target},e);return this.debug&&console.log("config from pred transition="+c),c}predTransition(e,t,i,s,l){this.debug&&(console.log("PRED (collectPredicates="+i+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+ut(this.parser.getRuleInvocationStack())));let c=null;if(i&&(t.isCtxDependent&&s||!t.isCtxDependent))if(l){const d=this._input.index;this._input.seek(this._startIndex);const L=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(d),L&&(c=new $1({state:t.target},e))}else{const d=p1.andContext(e.semanticContext,t.getPredicate());c=new $1({state:t.target,semanticContext:d},e)}else c=new $1({state:t.target},e);return this.debug&&console.log("config from pred transition="+c),c}ruleTransition(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);const i=t.followState,s=Ve.create(e.context,i.stateNumber);return new $1({state:t.target,context:s},e)}getConflictingAlts(e){const t=A1.getConflictingAltSubsets(e);return A1.getAlts(t)}getConflictingAltsOrUniqueAlt(e){let t=null;return e.uniqueAlt!==U1.INVALID_ALT_NUMBER?(t=new f4,t.add(e.uniqueAlt)):t=e.conflictingAlts,t}getTokenName(e){if(e===m2.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null)if(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length)console.log(""+e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens());else return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";return""+e}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const t=e.getDeadEndConfigs();for(let i=0;i<t.length;i++){const s=t[i];let l="no edges";if(s.state.transitions.length>0){const c=s.state.transitions[0];c instanceof In?l="Atom "+this.getTokenName(c.label):c instanceof E7&&(l=(c instanceof S7?"~":"")+"Set "+c.set)}console.error(s.toString(this.parser,!0)+":"+l)}}noViableAlt(e,t,i,s){return new z7(this.parser,e,e.get(s),e.LT(1),i,t)}getUniqueAlt(e){let t=U1.INVALID_ALT_NUMBER;for(let i=0;i<e.items.length;i++){const s=e.items[i];if(t===U1.INVALID_ALT_NUMBER)t=s.alt;else if(s.alt!==t)return U1.INVALID_ALT_NUMBER}return t}addDFAEdge(e,t,i,s){if(this.debug&&console.log("EDGE "+t+" -> "+s+" upon "+this.getTokenName(i)),s===null)return null;if(s=this.addDFAState(e,s),t===null||i<-1||i>this.atn.maxTokenType)return s;if(t.edges===null&&(t.edges=[]),t.edges[i+1]=s,this.debug){const l=this.parser===null?null:this.parser.literalNames,c=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA=
25
25
  `+e.toString(l,c))}return s}addDFAState(e,t){if(t===E4.ERROR)return t;const i=e.states.get(t);return i!==null?i:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}reportAttemptingFullContext(e,t,i,s,l){if(this.debug||this.retry_debug){const c=new m1(s,l+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+i+", input="+this.parser.getTokenStream().getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,s,l,t,i)}reportContextSensitivity(e,t,i,s,l){if(this.debug||this.retry_debug){const c=new m1(s,l+1);console.log("reportContextSensitivity decision="+e.decision+":"+i+", input="+this.parser.getTokenStream().getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,s,l,t,i)}reportAmbiguity(e,t,i,s,l,c,d){if(this.debug||this.retry_debug){const L=new m1(i,s+1);console.log("reportAmbiguity "+c+":"+d+", input="+this.parser.getTokenStream().getText(L))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,i,s,l,c,d)}}const kR={ATN:U1,ATNDeserializer:Pd,LexerATNSimulator:z1,ParserATNSimulator:DR,PredictionMode:A1};class H7{constructor(e,t,i){this.dfa=e,this.literalNames=t||[],this.symbolicNames=i||[]}toString(){if(this.dfa.s0===null)return null;let e="";const t=this.dfa.sortedStates();for(let i=0;i<t.length;i++){const s=t[i];if(s.edges!==null){const l=s.edges.length;for(let c=0;c<l;c++){const d=s.edges[c]||null;d!==null&&d.stateNumber!==2147483647&&(e=e.concat(this.getStateString(s)),e=e.concat("-"),e=e.concat(this.getEdgeLabel(c)),e=e.concat("->"),e=e.concat(this.getStateString(d)),e=e.concat(`
26
- `))}}}return e.length===0?null:e}getEdgeLabel(e){return e===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}getStateString(e){const t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?t+"=>"+ut(e.predicates):t+"=>"+e.prediction.toString():t}}class Bd extends H7{constructor(e){super(e,null)}getEdgeLabel(e){return"'"+String.fromCharCode(e)+"'"}}class PR{constructor(e,t){if(t===void 0&&(t=0),this.atnStartState=e,this.decision=t,this._states=new h3,this.s0=null,this.precedenceDfa=!1,e instanceof e9&&e.isPrecedenceDecision){this.precedenceDfa=!0;const i=new U4(null,new We);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}getPrecedenceStartState(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}setPrecedenceStartState(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}setPrecedenceDfa(e){if(this.precedenceDfa!==e){if(this._states=new h3,e){const t=new U4(null,new We);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}sortedStates(){return this._states.values().sort(function(t,i){return t.stateNumber-i.stateNumber})}toString(e,t){return e=e||null,t=t||null,this.s0===null?"":new H7(this,e,t).toString()}toLexerString(){return this.s0===null?"":new Bd(this).toString()}get states(){return this._states}}const FR={DFA:PR,DFASerializer:H7,LexerDFASerializer:Bd,PredPrediction:Zd};class Gd{visitTerminal(e){}visitErrorNode(e){}enterEveryRule(e){}exitEveryRule(e){}}class UR{visit(e){return Array.isArray(e)?e.map(function(t){return t.accept(this)},this):e.accept(this)}visitChildren(e){return e.children?this.visit(e.children):null}visitTerminal(e){}visitErrorNode(e){}}class Y7{walk(e,t){if(t instanceof Nn||t.isErrorNode!==void 0&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof P4)e.visitTerminal(t);else{this.enterRule(e,t);for(let s=0;s<t.getChildCount();s++){const l=t.getChild(s);this.walk(e,l)}this.exitRule(e,t)}}enterRule(e,t){const i=t.getRuleContext();e.enterEveryRule(i),i.enterRule(e)}exitRule(e,t){const i=t.getRuleContext();i.exitRule(e),e.exitEveryRule(i)}}Y7.DEFAULT=new Y7;const ZR={Trees:m4,RuleNode:yn,ErrorNode:Nn,TerminalNode:P4,ParseTreeListener:Gd,ParseTreeVisitor:UR,ParseTreeWalker:Y7};class W0 extends dt{constructor(e){super({message:"",recognizer:e,input:e.getInputStream(),ctx:e._ctx}),this.offendingToken=e.getCurrentToken()}}class zd extends dt{constructor(e,t,i){super({message:BR(t,i||null),recognizer:e,input:e.getInputStream(),ctx:e._ctx});const l=e._interp.atn.states[e.state].transitions[0];l instanceof kd?(this.ruleIndex=l.ruleIndex,this.predicateIndex=l.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=t,this.offendingToken=e.getCurrentToken()}}function BR(n,e){return e!==null?e:"failed predicate: {"+n+"}?"}class GR extends Fn{constructor(e){super(),e=e||!0,this.exactOnly=e}reportAmbiguity(e,t,i,s,l,c,d){if(this.exactOnly&&!l)return;const L="reportAmbiguity d="+this.getDecisionDescription(e,t)+": ambigAlts="+this.getConflictingAlts(c,d)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(L)}reportAttemptingFullContext(e,t,i,s,l,c){const d="reportAttemptingFullContext d="+this.getDecisionDescription(e,t)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(d)}reportContextSensitivity(e,t,i,s,l,c){const d="reportContextSensitivity d="+this.getDecisionDescription(e,t)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(d)}getDecisionDescription(e,t){const i=t.decision,s=t.atnStartState.ruleIndex,l=e.ruleNames;if(s<0||s>=l.length)return""+i;const c=l[s]||null;return c===null||c.length===0?""+i:`${i} (${c})`}getConflictingAlts(e,t){if(e!==null)return e;const i=new f4;for(let s=0;s<t.items.length;s++)i.add(t.items[s].alt);return`{${i.values().join(", ")}}`}}class V7 extends Error{constructor(){super(),Error.captureStackTrace(this,V7)}}class zR{reset(e){}recoverInline(e){}recover(e,t){}sync(e){}inErrorRecoveryMode(e){}reportError(e){}}class q7 extends zR{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,t){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),t instanceof z7?this.reportNoViableAlternative(e,t):t instanceof W0?this.reportInputMismatch(e,t):t instanceof zd?this.reportFailedPredicate(e,t):(console.log("unknown recognition error type: "+t.constructor.name),console.log(t.stack),e.notifyErrorListeners(t.getOffendingToken(),t.getMessage(),t)))}recover(e,t){this.lastErrorIndex===e.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(e.state)>=0&&e.consume(),this.lastErrorIndex=e._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);const i=this.getErrorRecoverySet(e);this.consumeUntil(e,i)}sync(e){if(this.inErrorRecoveryMode(e))return;const t=e._interp.atn.states[e.state],i=e.getTokenStream().LA(1),s=e.atn.nextTokens(t);if(s.contains(i)){this.nextTokensContext=null,this.nextTokenState=O2.INVALID_STATE_NUMBER;return}else if(s.contains(m2.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);return}switch(t.stateType){case O2.BLOCK_START:case O2.STAR_BLOCK_START:case O2.PLUS_BLOCK_START:case O2.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new W0(e);case O2.PLUS_LOOP_BACK:case O2.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const l=new U3;l.addSet(e.getExpectedTokens());const c=l.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,c)}break}}reportNoViableAlternative(e,t){const i=e.getTokenStream();let s;i!==null?t.startToken.type===m2.EOF?s="<EOF>":s=i.getText(new m1(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):s="<unknown input>";const l="no viable alternative at input "+this.escapeWSAndQuote(s);e.notifyErrorListeners(l,t.offendingToken,t)}reportInputMismatch(e,t){const i="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(i,t.offendingToken,t)}reportFailedPredicate(e,t){const s="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(s,t.offendingToken,t)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),i=this.getTokenErrorDisplay(t),s=this.getExpectedTokens(e),l="extraneous input "+i+" expecting "+s.toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(l,t,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),s="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(s,t,null)}recoverInline(e){const t=this.singleTokenDeletion(e);if(t!==null)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new W0(e)}singleTokenInsertion(e){const t=e.getTokenStream().LA(1),i=e._interp.atn,l=i.states[e.state].transitions[0].target;return i.nextTokens(l,e._ctx).contains(t)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();const s=e.getCurrentToken();return this.reportMatch(e),s}else return null}getMissingSymbol(e){const t=e.getCurrentToken(),s=this.getExpectedTokens(e).first();let l;s===m2.EOF?l="<missing EOF>":l="<missing "+e.literalNames[s]+">";let c=t;const d=e.getTokenStream().LT(-1);return c.type===m2.EOF&&d!==null&&(c=d),e.getTokenFactory().create(c.source,s,l,m2.DEFAULT_CHANNEL,-1,-1,c.line,c.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"<no token>";let t=e.text;return t===null&&(e.type===m2.EOF?t="<EOF>":t="<"+e.type+">"),this.escapeWSAndQuote(t)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const t=e._interp.atn;let i=e._ctx;const s=new U3;for(;i!==null&&i.invokingState>=0;){const c=t.states[i.invokingState].transitions[0],d=t.nextTokens(c.followState);s.addSet(d),i=i.parentCtx}return s.removeOne(m2.EPSILON),s}consumeUntil(e,t){let i=e.getTokenStream().LA(1);for(;i!==m2.EOF&&!t.contains(i);)e.consume(),i=e.getTokenStream().LA(1)}}class HR extends q7{constructor(){super()}recover(e,t){let i=e._ctx;for(;i!==null;)i.exception=t,i=i.parentCtx;throw new V7(t)}recoverInline(e){this.recover(e,new W0(e))}sync(e){}}const YR={RecognitionException:dt,NoViableAltException:z7,LexerNoViableAltException:G7,InputMismatchException:W0,FailedPredicateException:zd,DiagnosticErrorListener:GR,BailErrorStrategy:HR,DefaultErrorStrategy:q7,ErrorListener:Fn};class n9{constructor(e,t){if(this.name="<empty>",this.strdata=e,this.decodeToUnicodeCodePoints=t||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let i=0;i<this.strdata.length;){const s=this.strdata.codePointAt(i);this.data.push(s),i+=s<=65535?1:2}else{this.data=new Array(this.strdata.length);for(let i=0;i<this.strdata.length;i++){const s=this.strdata.charCodeAt(i);this.data[i]=s}}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const t=this._index+e-1;return t<0||t>=this._size?m2.EOF:this.data[t]}LT(e){return this.LA(e)}mark(){return-1}release(e){}seek(e){if(e<=this._index){this._index=e;return}this._index=Math.min(e,this._size)}getText(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){let i="";for(let s=e;s<=t;s++)i+=String.fromCodePoint(this.data[s]);return i}else return this.strdata.slice(e,t+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}const W7={},VR={fromString:function(n){return new n9(n,!0)},fromBlob:function(n,e,t,i){const s=new window.FileReader;s.onload=function(l){const c=new n9(l.target.result,!0);t(c)},s.onerror=i,s.readAsText(n,e)},fromBuffer:function(n,e){return new n9(n.toString(e),!0)},fromPath:function(n,e,t){W7.readFile(n,e,function(i,s){let l=null;s!==null&&(l=new n9(s,!0)),t(i,l)})},fromPathSync:function(n,e){const t=W7.readFileSync(n,e);return new n9(t,!0)}};class qR extends n9{constructor(e,t){const i=W7.readFileSync(e,"utf8");super(i,t),this.fileName=e}}class WR{}class $R extends WR{constructor(e){super(),this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.index=this.adjustSeekIndex(e)}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.index>=0?this.fetchedEOF?e=this.index<this.tokens.length-1:e=this.index<this.tokens.length:e=!1,!e&&this.LA(1)===m2.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(e){const t=e-this.tokens.length+1;return t>0?this.fetch(t)>=t:!0}fetch(e){if(this.fetchedEOF)return 0;for(let t=0;t<e;t++){const i=this.tokenSource.nextToken();if(i.tokenIndex=this.tokens.length,this.tokens.push(i),i.type===m2.EOF)return this.fetchedEOF=!0,t+1}return e}getTokens(e,t,i){if(i===void 0&&(i=null),e<0||t<0)return null;this.lazyInit();const s=[];t>=this.tokens.length&&(t=this.tokens.length-1);for(let l=e;l<t;l++){const c=this.tokens[l];if(c.type===m2.EOF)break;(i===null||i.contains(c.type))&&s.push(c)}return s}LA(e){return this.LT(e).type}LB(e){return this.index-e<0?null:this.tokens[this.index-e]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);const t=this.index+e-1;return this.sync(t),t>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}adjustSeekIndex(e){return e}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(e,t){if(this.sync(e),e>=this.tokens.length)return-1;let i=this.tokens[e];for(;i.channel!==this.channel;){if(i.type===m2.EOF)return-1;e+=1,this.sync(e),i=this.tokens[e]}return e}previousTokenOnChannel(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}getHiddenTokensToRight(e,t){if(t===void 0&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw""+e+" not in 0.."+this.tokens.length-1;const i=this.nextTokenOnChannel(e+1,qe.DEFAULT_TOKEN_CHANNEL),s=e+1,l=i===-1?this.tokens.length-1:i;return this.filterForChannel(s,l,t)}getHiddenTokensToLeft(e,t){if(t===void 0&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw""+e+" not in 0.."+this.tokens.length-1;const i=this.previousTokenOnChannel(e-1,qe.DEFAULT_TOKEN_CHANNEL);if(i===e-1)return null;const s=i+1,l=e-1;return this.filterForChannel(s,l,t)}filterForChannel(e,t,i){const s=[];for(let l=e;l<t+1;l++){const c=this.tokens[l];i===-1?c.channel!==qe.DEFAULT_TOKEN_CHANNEL&&s.push(c):c.channel===i&&s.push(c)}return s.length===0?null:s}getSourceName(){return this.tokenSource.getSourceName()}getText(e){this.lazyInit(),this.fill(),e==null&&(e=new m1(0,this.tokens.length-1));let t=e.start;t instanceof m2&&(t=t.tokenIndex);let i=e.stop;if(i instanceof m2&&(i=i.tokenIndex),t===null||i===null||t<0||i<0)return"";i>=this.tokens.length&&(i=this.tokens.length-1);let s="";for(let l=t;l<i+1;l++){const c=this.tokens[l];if(c.type===m2.EOF)break;s=s+c.text}return s}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}}class KR extends $R{constructor(e,t){super(e),this.channel=t===void 0?m2.DEFAULT_CHANNEL:t}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let t=this.index,i=1;for(;i<=e;)t=this.previousTokenOnChannel(t-1,this.channel),i+=1;return t<0?null:this.tokens[t]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let t=this.index,i=1;for(;i<e;)this.sync(t+1)&&(t=this.nextTokenOnChannel(t+1,this.channel)),i+=1;return this.tokens[t]}getNumberOfOnChannelTokens(){let e=0;this.fill();for(let t=0;t<this.tokens.length;t++){const i=this.tokens[t];if(i.channel===this.channel&&(e+=1),i.type===m2.EOF)break}return e}}class QR extends Gd{constructor(e){super(),this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(e){console.log("consume "+e.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}let Hd=class extends Un{constructor(e){super(),this._input=null,this._errHandler=new q7,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(e)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(e){let t=this.getCurrentToken();return t.type===e?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this._ctx.addErrorNode(t)),t}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&e.tokenIndex===-1&&this._ctx.addErrorNode(e)),e}getParseListeners(){return this._parseListeners||[]}addParseListener(e){if(e===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null){const t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this._ctx;this._parseListeners.forEach(function(t){t.enterEveryRule(e),e.enterRule(t)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(t){e.exitRule(t),t.exitEveryRule(e)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(e){this._input.tokenSource._factory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw"The current parser does not support an ATN with bypass alternatives.";let t=this.bypassAltsAtnCache[e];if(t===null){const i=new V0;i.generateRuleBypassTransitions=!0,t=new Pd(i).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}getInputStream(){return this.getTokenStream()}setInputStream(e){this.setTokenStream(e)}getTokenStream(){return this._input}setTokenStream(e){this._input=null,this.reset(),this._input=e}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,t,i){t=t||null,i=i||null,t===null&&(t=this.getCurrentToken()),this._syntaxErrors+=1;const s=t.line,l=t.column;this.getErrorListenerDispatch().syntaxError(this,t,s,l,e,i)}consume(){const e=this.getCurrentToken();e.type!==m2.EOF&&this.getInputStream().consume();const t=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||t){let i;this._errHandler.inErrorRecoveryMode(this)?i=this._ctx.addErrorNode(e):i=this._ctx.addTokenNode(e),i.invokingState=this.state,t&&this._parseListeners.forEach(function(s){i instanceof Nn||i.isErrorNode!==void 0&&i.isErrorNode()?s.visitErrorNode(i):i instanceof P4&&s.visitTerminal(i)})}return e}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(e,t,i){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,t,i,s){this.state=t,this._precedenceStack.push(s),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,t,i){const s=this._ctx;s.parentCtx=e,s.invokingState=t,s.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=s.start,this.buildParseTrees&&this._ctx.addChild(s),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);const t=this._ctx,i=this.getParseListeners();if(i!==null&&i.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&e!==null&&e.addChild(t)}getInvokingContext(e){let t=this._ctx;for(;t!==null;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}precpred(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const t=this._interp.atn;let i=this._ctx;const s=t.states[this.state];let l=t.nextTokens(s);if(l.contains(e))return!0;if(!l.contains(m2.EPSILON))return!1;for(;i!==null&&i.invokingState>=0&&l.contains(m2.EPSILON);){const d=t.states[i.invokingState].transitions[0];if(l=t.nextTokens(d.followState),l.contains(e))return!0;i=i.parentCtx}return!!(l.contains(m2.EPSILON)&&e===m2.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){const e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}getRuleIndex(e){const t=this.getRuleIndexMap()[e];return t!==null?t:-1}getRuleInvocationStack(e){e=e||null,e===null&&(e=this._ctx);const t=[];for(;e!==null;){const i=e.ruleIndex;i<0?t.push("n/a"):t.push(this.ruleNames[i]),e=e.parentCtx}return t}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let e=!1;for(let t=0;t<this._interp.decisionToDFA.length;t++){const i=this._interp.decisionToDFA[t];i.states.length>0&&(e&&console.log(),this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.literalNames,this.symbolicNames)),e=!0)}}getSourceName(){return this._input.sourceName}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new QR(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}};Hd.bypassAltsAtnCache={};class jR{constructor(){this.cache=new H0}add(e){if(e===e1.EMPTY)return e1.EMPTY;const t=this.cache.get(e)||null;return t!==null?t:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}}class Yd extends P4{constructor(e){super(),this.parentCtx=null,this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return m1.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new m1(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===m2.EOF?"<EOF>":this.symbol.text}}class Vd extends Yd{constructor(e){super(e)}isErrorNode(){return!0}accept(e){return e.visitErrorNode(this)}}let qd=class extends k9{constructor(e,t){e=e||null,t=t||null,super(e,t),this.ruleIndex=-1,this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map(function(t){t instanceof Vd&&(this.children.push(t),t.parentCtx=this)},this))}enterRule(e){}exitRule(e){}addChild(e){return this.children===null&&(this.children=[]),this.children.push(e),e}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const t=new Yd(e);return this.addChild(t),t.parentCtx=this,t}addErrorNode(e){const t=new Vd(e);return this.addChild(t),t.parentCtx=this,t}getChild(e,t){if(t=t||null,this.children===null||e<0||e>=this.children.length)return null;if(t===null)return this.children[e];for(let i=0;i<this.children.length;i++){const s=this.children[i];if(s instanceof t){if(e===0)return s;e-=1}}return null}getToken(e,t){if(this.children===null||t<0||t>=this.children.length)return null;for(let i=0;i<this.children.length;i++){const s=this.children[i];if(s instanceof P4&&s.symbol.type===e){if(t===0)return s;t-=1}}return null}getTokens(e){if(this.children===null)return[];{const t=[];for(let i=0;i<this.children.length;i++){const s=this.children[i];s instanceof P4&&s.symbol.type===e&&t.push(s)}return t}}getTypedRuleContext(e,t){return this.getChild(t,e)}getTypedRuleContexts(e){if(this.children===null)return[];{const t=[];for(let i=0;i<this.children.length;i++){const s=this.children[i];s instanceof e&&t.push(s)}return t}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?m1.INVALID_INTERVAL:new m1(this.start.tokenIndex,this.stop.tokenIndex)}};k9.EMPTY=new qd;const Q={atn:kR,dfa:FR,tree:ZR,error:YR,Token:m2,CommonToken:t9,CharStreams:VR,InputStream:n9,FileStream:qR,CommonTokenStream:KR,Lexer:qe,Parser:Hd,PredictionContextCache:jR,ParserRuleContext:qd,Interval:m1,IntervalSet:U3,LL1Analyzer:P9,Utils:{arrayToString:ut}},XR=[4,0,70,570,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,4,11,215,8,11,11,11,12,11,216,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,287,8,36,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,323,8,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,371,8,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,417,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,445,8,54,1,55,1,55,5,55,449,8,55,10,55,12,55,452,9,55,1,56,1,56,1,57,1,57,5,57,458,8,57,10,57,12,57,461,9,57,1,58,4,58,464,8,58,11,58,12,58,465,1,59,1,59,1,60,4,60,471,8,60,11,60,12,60,472,1,61,4,61,476,8,61,11,61,12,61,477,1,61,1,61,5,61,482,8,61,10,61,12,61,485,9,61,1,61,1,61,4,61,489,8,61,11,61,12,61,490,3,61,493,8,61,1,62,1,62,1,62,3,62,498,8,62,1,63,1,63,3,63,502,8,63,1,63,1,63,1,64,1,64,1,64,1,64,5,64,510,8,64,10,64,12,64,513,9,64,1,64,3,64,516,8,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,5,66,526,8,66,10,66,12,66,529,9,66,1,66,1,66,1,66,1,66,1,67,1,67,1,68,1,68,5,68,539,8,68,10,68,12,68,542,9,68,1,68,1,68,1,68,1,68,5,68,548,8,68,10,68,12,68,551,9,68,1,69,4,69,554,8,69,11,69,12,69,555,1,70,1,70,1,70,1,70,1,71,4,71,563,8,71,11,71,12,71,564,1,72,1,72,1,72,1,72,1,527,0,73,3,1,5,2,7,3,9,4,11,5,13,6,15,7,17,8,19,9,21,10,23,0,25,11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49,23,51,24,53,25,55,26,57,27,59,28,61,29,63,30,65,31,67,32,69,33,71,34,73,35,75,36,77,37,79,38,81,39,83,40,85,41,87,42,89,43,91,44,93,45,95,46,97,47,99,48,101,49,103,50,105,51,107,52,109,53,111,54,113,55,115,56,117,57,119,0,121,0,123,58,125,59,127,60,129,61,131,62,133,63,135,64,137,65,139,66,141,67,143,68,145,69,147,70,3,0,1,2,8,2,0,9,9,32,32,3,0,48,57,65,70,97,102,4,0,48,57,65,90,95,95,97,122,3,0,65,90,95,95,97,122,2,0,65,90,97,122,1,0,48,57,3,0,10,10,13,13,34,34,2,0,10,10,13,13,593,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,1,141,1,0,0,0,1,143,1,0,0,0,2,145,1,0,0,0,2,147,1,0,0,0,3,149,1,0,0,0,5,153,1,0,0,0,7,161,1,0,0,0,9,172,1,0,0,0,11,181,1,0,0,0,13,189,1,0,0,0,15,197,1,0,0,0,17,201,1,0,0,0,19,204,1,0,0,0,21,207,1,0,0,0,23,210,1,0,0,0,25,212,1,0,0,0,27,218,1,0,0,0,29,221,1,0,0,0,31,224,1,0,0,0,33,227,1,0,0,0,35,230,1,0,0,0,37,232,1,0,0,0,39,234,1,0,0,0,41,237,1,0,0,0,43,240,1,0,0,0,45,242,1,0,0,0,47,244,1,0,0,0,49,246,1,0,0,0,51,248,1,0,0,0,53,250,1,0,0,0,55,252,1,0,0,0,57,254,1,0,0,0,59,256,1,0,0,0,61,258,1,0,0,0,63,260,1,0,0,0,65,262,1,0,0,0,67,264,1,0,0,0,69,266,1,0,0,0,71,268,1,0,0,0,73,273,1,0,0,0,75,286,1,0,0,0,77,288,1,0,0,0,79,291,1,0,0,0,81,322,1,0,0,0,83,324,1,0,0,0,85,331,1,0,0,0,87,335,1,0,0,0,89,339,1,0,0,0,91,345,1,0,0,0,93,349,1,0,0,0,95,370,1,0,0,0,97,372,1,0,0,0,99,376,1,0,0,0,101,379,1,0,0,0,103,383,1,0,0,0,105,389,1,0,0,0,107,397,1,0,0,0,109,416,1,0,0,0,111,444,1,0,0,0,113,446,1,0,0,0,115,453,1,0,0,0,117,455,1,0,0,0,119,463,1,0,0,0,121,467,1,0,0,0,123,470,1,0,0,0,125,492,1,0,0,0,127,494,1,0,0,0,129,501,1,0,0,0,131,505,1,0,0,0,133,517,1,0,0,0,135,521,1,0,0,0,137,534,1,0,0,0,139,536,1,0,0,0,141,553,1,0,0,0,143,557,1,0,0,0,145,562,1,0,0,0,147,566,1,0,0,0,149,150,7,0,0,0,150,151,1,0,0,0,151,152,6,0,0,0,152,4,1,0,0,0,153,154,5,99,0,0,154,155,5,111,0,0,155,156,5,110,0,0,156,157,5,115,0,0,157,158,5,116,0,0,158,159,1,0,0,0,159,160,6,1,1,0,160,6,1,0,0,0,161,162,5,114,0,0,162,163,5,101,0,0,163,164,5,97,0,0,164,165,5,100,0,0,165,166,5,111,0,0,166,167,5,110,0,0,167,168,5,108,0,0,168,169,5,121,0,0,169,170,1,0,0,0,170,171,6,2,1,0,171,8,1,0,0,0,172,173,5,115,0,0,173,174,5,116,0,0,174,175,5,97,0,0,175,176,5,116,0,0,176,177,5,105,0,0,177,178,5,99,0,0,178,179,1,0,0,0,179,180,6,3,1,0,180,10,1,0,0,0,181,182,5,97,0,0,182,183,5,119,0,0,183,184,5,97,0,0,184,185,5,105,0,0,185,186,5,116,0,0,186,187,1,0,0,0,187,188,6,4,1,0,188,12,1,0,0,0,189,190,5,116,0,0,190,191,5,105,0,0,191,192,5,116,0,0,192,193,5,108,0,0,193,194,5,101,0,0,194,195,1,0,0,0,195,196,6,5,2,0,196,14,1,0,0,0,197,198,5,58,0,0,198,199,1,0,0,0,199,200,6,6,3,0,200,16,1,0,0,0,201,202,5,60,0,0,202,203,5,60,0,0,203,18,1,0,0,0,204,205,5,62,0,0,205,206,5,62,0,0,206,20,1,0,0,0,207,208,5,45,0,0,208,209,5,62,0,0,209,22,1,0,0,0,210,211,7,1,0,0,211,24,1,0,0,0,212,214,5,35,0,0,213,215,3,23,10,0,214,213,1,0,0,0,215,216,1,0,0,0,216,214,1,0,0,0,216,217,1,0,0,0,217,26,1,0,0,0,218,219,5,124,0,0,219,220,5,124,0,0,220,28,1,0,0,0,221,222,5,38,0,0,222,223,5,38,0,0,223,30,1,0,0,0,224,225,5,61,0,0,225,226,5,61,0,0,226,32,1,0,0,0,227,228,5,33,0,0,228,229,5,61,0,0,229,34,1,0,0,0,230,231,5,62,0,0,231,36,1,0,0,0,232,233,5,60,0,0,233,38,1,0,0,0,234,235,5,62,0,0,235,236,5,61,0,0,236,40,1,0,0,0,237,238,5,60,0,0,238,239,5,61,0,0,239,42,1,0,0,0,240,241,5,43,0,0,241,44,1,0,0,0,242,243,5,45,0,0,243,46,1,0,0,0,244,245,5,42,0,0,245,48,1,0,0,0,246,247,5,47,0,0,247,50,1,0,0,0,248,249,5,37,0,0,249,52,1,0,0,0,250,251,5,94,0,0,251,54,1,0,0,0,252,253,5,33,0,0,253,56,1,0,0,0,254,255,5,59,0,0,255,58,1,0,0,0,256,257,5,44,0,0,257,60,1,0,0,0,258,259,5,61,0,0,259,62,1,0,0,0,260,261,5,40,0,0,261,64,1,0,0,0,262,263,5,41,0,0,263,66,1,0,0,0,264,265,5,123,0,0,265,68,1,0,0,0,266,267,5,125,0,0,267,70,1,0,0,0,268,269,5,116,0,0,269,270,5,114,0,0,270,271,5,117,0,0,271,272,5,101,0,0,272,72,1,0,0,0,273,274,5,102,0,0,274,275,5,97,0,0,275,276,5,108,0,0,276,277,5,115,0,0,277,278,5,101,0,0,278,74,1,0,0,0,279,280,5,110,0,0,280,281,5,105,0,0,281,287,5,108,0,0,282,283,5,110,0,0,283,284,5,117,0,0,284,285,5,108,0,0,285,287,5,108,0,0,286,279,1,0,0,0,286,282,1,0,0,0,287,76,1,0,0,0,288,289,5,105,0,0,289,290,5,102,0,0,290,78,1,0,0,0,291,292,5,101,0,0,292,293,5,108,0,0,293,294,5,115,0,0,294,295,5,101,0,0,295,80,1,0,0,0,296,297,5,119,0,0,297,298,5,104,0,0,298,299,5,105,0,0,299,300,5,108,0,0,300,323,5,101,0,0,301,302,5,102,0,0,302,303,5,111,0,0,303,323,5,114,0,0,304,305,5,102,0,0,305,306,5,111,0,0,306,307,5,114,0,0,307,308,5,101,0,0,308,309,5,97,0,0,309,310,5,99,0,0,310,323,5,104,0,0,311,312,5,102,0,0,312,313,5,111,0,0,313,314,5,114,0,0,314,315,5,69,0,0,315,316,5,97,0,0,316,317,5,99,0,0,317,323,5,104,0,0,318,319,5,108,0,0,319,320,5,111,0,0,320,321,5,111,0,0,321,323,5,112,0,0,322,296,1,0,0,0,322,301,1,0,0,0,322,304,1,0,0,0,322,311,1,0,0,0,322,318,1,0,0,0,323,82,1,0,0,0,324,325,5,114,0,0,325,326,5,101,0,0,326,327,5,116,0,0,327,328,5,117,0,0,328,329,5,114,0,0,329,330,5,110,0,0,330,84,1,0,0,0,331,332,5,110,0,0,332,333,5,101,0,0,333,334,5,119,0,0,334,86,1,0,0,0,335,336,5,112,0,0,336,337,5,97,0,0,337,338,5,114,0,0,338,88,1,0,0,0,339,340,5,103,0,0,340,341,5,114,0,0,341,342,5,111,0,0,342,343,5,117,0,0,343,344,5,112,0,0,344,90,1,0,0,0,345,346,5,111,0,0,346,347,5,112,0,0,347,348,5,116,0,0,348,92,1,0,0,0,349,350,5,99,0,0,350,351,5,114,0,0,351,352,5,105,0,0,352,353,5,116,0,0,353,354,5,105,0,0,354,355,5,99,0,0,355,356,5,97,0,0,356,357,5,108,0,0,357,94,1,0,0,0,358,359,5,115,0,0,359,360,5,101,0,0,360,361,5,99,0,0,361,362,5,116,0,0,362,363,5,105,0,0,363,364,5,111,0,0,364,371,5,110,0,0,365,366,5,102,0,0,366,367,5,114,0,0,367,368,5,97,0,0,368,369,5,109,0,0,369,371,5,101,0,0,370,358,1,0,0,0,370,365,1,0,0,0,371,96,1,0,0,0,372,373,5,114,0,0,373,374,5,101,0,0,374,375,5,102,0,0,375,98,1,0,0,0,376,377,5,97,0,0,377,378,5,115,0,0,378,100,1,0,0,0,379,380,5,116,0,0,380,381,5,114,0,0,381,382,5,121,0,0,382,102,1,0,0,0,383,384,5,99,0,0,384,385,5,97,0,0,385,386,5,116,0,0,386,387,5,99,0,0,387,388,5,104,0,0,388,104,1,0,0,0,389,390,5,102,0,0,390,391,5,105,0,0,391,392,5,110,0,0,392,393,5,97,0,0,393,394,5,108,0,0,394,395,5,108,0,0,395,396,5,121,0,0,396,106,1,0,0,0,397,398,5,105,0,0,398,399,5,110,0,0,399,108,1,0,0,0,400,401,5,64,0,0,401,402,5,83,0,0,402,403,5,116,0,0,403,404,5,97,0,0,404,405,5,114,0,0,405,406,5,116,0,0,406,407,5,101,0,0,407,417,5,114,0,0,408,409,5,64,0,0,409,410,5,115,0,0,410,411,5,116,0,0,411,412,5,97,0,0,412,413,5,114,0,0,413,414,5,116,0,0,414,415,5,101,0,0,415,417,5,114,0,0,416,400,1,0,0,0,416,408,1,0,0,0,417,110,1,0,0,0,418,419,5,64,0,0,419,420,5,82,0,0,420,421,5,101,0,0,421,422,5,116,0,0,422,423,5,117,0,0,423,424,5,114,0,0,424,445,5,110,0,0,425,426,5,64,0,0,426,427,5,114,0,0,427,428,5,101,0,0,428,429,5,116,0,0,429,430,5,117,0,0,430,431,5,114,0,0,431,445,5,110,0,0,432,433,5,64,0,0,433,434,5,82,0,0,434,435,5,101,0,0,435,436,5,112,0,0,436,437,5,108,0,0,437,445,5,121,0,0,438,439,5,64,0,0,439,440,5,114,0,0,440,441,5,101,0,0,441,442,5,112,0,0,442,443,5,108,0,0,443,445,5,121,0,0,444,418,1,0,0,0,444,425,1,0,0,0,444,432,1,0,0,0,444,438,1,0,0,0,445,112,1,0,0,0,446,450,5,64,0,0,447,449,7,2,0,0,448,447,1,0,0,0,449,452,1,0,0,0,450,448,1,0,0,0,450,451,1,0,0,0,451,114,1,0,0,0,452,450,1,0,0,0,453,454,5,46,0,0,454,116,1,0,0,0,455,459,7,3,0,0,456,458,7,2,0,0,457,456,1,0,0,0,458,461,1,0,0,0,459,457,1,0,0,0,459,460,1,0,0,0,460,118,1,0,0,0,461,459,1,0,0,0,462,464,7,4,0,0,463,462,1,0,0,0,464,465,1,0,0,0,465,463,1,0,0,0,465,466,1,0,0,0,466,120,1,0,0,0,467,468,7,5,0,0,468,122,1,0,0,0,469,471,3,121,59,0,470,469,1,0,0,0,471,472,1,0,0,0,472,470,1,0,0,0,472,473,1,0,0,0,473,124,1,0,0,0,474,476,3,121,59,0,475,474,1,0,0,0,476,477,1,0,0,0,477,475,1,0,0,0,477,478,1,0,0,0,478,479,1,0,0,0,479,483,5,46,0,0,480,482,3,121,59,0,481,480,1,0,0,0,482,485,1,0,0,0,483,481,1,0,0,0,483,484,1,0,0,0,484,493,1,0,0,0,485,483,1,0,0,0,486,488,5,46,0,0,487,489,3,121,59,0,488,487,1,0,0,0,489,490,1,0,0,0,490,488,1,0,0,0,490,491,1,0,0,0,491,493,1,0,0,0,492,475,1,0,0,0,492,486,1,0,0,0,493,126,1,0,0,0,494,497,5,36,0,0,495,498,3,123,60,0,496,498,3,125,61,0,497,495,1,0,0,0,497,496,1,0,0,0,498,128,1,0,0,0,499,502,3,123,60,0,500,502,3,125,61,0,501,499,1,0,0,0,501,500,1,0,0,0,502,503,1,0,0,0,503,504,3,119,58,0,504,130,1,0,0,0,505,511,5,34,0,0,506,510,8,6,0,0,507,508,5,34,0,0,508,510,5,34,0,0,509,506,1,0,0,0,509,507,1,0,0,0,510,513,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,515,1,0,0,0,513,511,1,0,0,0,514,516,7,6,0,0,515,514,1,0,0,0,515,516,1,0,0,0,516,132,1,0,0,0,517,518,7,7,0,0,518,519,1,0,0,0,519,520,6,65,0,0,520,134,1,0,0,0,521,522,5,47,0,0,522,523,5,47,0,0,523,527,1,0,0,0,524,526,9,0,0,0,525,524,1,0,0,0,526,529,1,0,0,0,527,528,1,0,0,0,527,525,1,0,0,0,528,530,1,0,0,0,529,527,1,0,0,0,530,531,5,10,0,0,531,532,1,0,0,0,532,533,6,66,4,0,533,136,1,0,0,0,534,535,9,0,0,0,535,138,1,0,0,0,536,540,4,68,0,0,537,539,3,3,0,0,538,537,1,0,0,0,539,542,1,0,0,0,540,538,1,0,0,0,540,541,1,0,0,0,541,543,1,0,0,0,542,540,1,0,0,0,543,544,5,61,0,0,544,545,5,61,0,0,545,549,1,0,0,0,546,548,8,7,0,0,547,546,1,0,0,0,548,551,1,0,0,0,549,547,1,0,0,0,549,550,1,0,0,0,550,140,1,0,0,0,551,549,1,0,0,0,552,554,8,7,0,0,553,552,1,0,0,0,554,555,1,0,0,0,555,553,1,0,0,0,555,556,1,0,0,0,556,142,1,0,0,0,557,558,7,7,0,0,558,559,1,0,0,0,559,560,6,70,5,0,560,144,1,0,0,0,561,563,8,7,0,0,562,561,1,0,0,0,563,564,1,0,0,0,564,562,1,0,0,0,564,565,1,0,0,0,565,146,1,0,0,0,566,567,7,7,0,0,567,568,1,0,0,0,568,569,6,72,5,0,569,148,1,0,0,0,27,0,1,2,216,286,322,370,416,444,450,459,465,472,477,483,490,492,497,501,509,511,515,527,540,549,555,564,6,0,1,0,0,3,0,5,2,0,5,1,0,0,2,0,4,0,0],$7=new Q.atn.ATNDeserializer().deserialize(XR),JR=$7.decisionToState.map((n,e)=>new Q.dfa.DFA(n,e));class f2 extends Q.Lexer{constructor(e){super(e),this._interp=new Q.atn.LexerATNSimulator(this,$7,JR,new Q.PredictionContextCache)}get atn(){return $7}}h2(f2,"grammarFileName","sequenceLexer.g4"),h2(f2,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL","MODIFIER_CHANNEL"]),h2(f2,"modeNames",["DEFAULT_MODE","EVENT","TITLE_MODE"]),h2(f2,"literalNames",[null,null,"'const'","'readonly'","'static'","'await'","'title'","':'","'<<'","'>>'","'->'",null,"'||'","'&&'","'=='","'!='","'>'","'<'","'>='","'<='","'+'","'-'","'*'","'/'","'%'","'^'","'!'","';'","','","'='","'('","')'","'{'","'}'","'true'","'false'",null,"'if'","'else'",null,"'return'","'new'","'par'","'group'","'opt'","'critical'",null,"'ref'","'as'","'try'","'catch'","'finally'","'in'",null,null,null,"'.'"]),h2(f2,"symbolicNames",[null,"WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),h2(f2,"ruleNames",["WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","HEX","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","UNIT","DIGIT","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),f2.EOF=Q.Token.EOF,f2.WS=1,f2.CONSTANT=2,f2.READONLY=3,f2.STATIC=4,f2.AWAIT=5,f2.TITLE=6,f2.COL=7,f2.SOPEN=8,f2.SCLOSE=9,f2.ARROW=10,f2.COLOR=11,f2.OR=12,f2.AND=13,f2.EQ=14,f2.NEQ=15,f2.GT=16,f2.LT=17,f2.GTEQ=18,f2.LTEQ=19,f2.PLUS=20,f2.MINUS=21,f2.MULT=22,f2.DIV=23,f2.MOD=24,f2.POW=25,f2.NOT=26,f2.SCOL=27,f2.COMMA=28,f2.ASSIGN=29,f2.OPAR=30,f2.CPAR=31,f2.OBRACE=32,f2.CBRACE=33,f2.TRUE=34,f2.FALSE=35,f2.NIL=36,f2.IF=37,f2.ELSE=38,f2.WHILE=39,f2.RETURN=40,f2.NEW=41,f2.PAR=42,f2.GROUP=43,f2.OPT=44,f2.CRITICAL=45,f2.SECTION=46,f2.REF=47,f2.AS=48,f2.TRY=49,f2.CATCH=50,f2.FINALLY=51,f2.IN=52,f2.STARTER_LXR=53,f2.ANNOTATION_RET=54,f2.ANNOTATION=55,f2.DOT=56,f2.ID=57,f2.INT=58,f2.FLOAT=59,f2.MONEY=60,f2.NUMBER_UNIT=61,f2.STRING=62,f2.CR=63,f2.COMMENT=64,f2.OTHER=65,f2.DIVIDER=66,f2.EVENT_PAYLOAD_LXR=67,f2.EVENT_END=68,f2.TITLE_CONTENT=69,f2.TITLE_END=70,f2.COMMENT_CHANNEL=2,f2.MODIFIER_CHANNEL=3,f2.EVENT=1,f2.TITLE_MODE=2,f2.prototype.sempred=function(n,e,t){switch(e){case 68:return this.DIVIDER_sempred(n,t);default:throw"No registered predicate for:"+e}},f2.prototype.DIVIDER_sempred=function(n,e){switch(e){case 0:return this.column===0;default:throw"No predicate with index:"+e}};class X extends Q.tree.ParseTreeListener{enterProg(e){}exitProg(e){}enterTitle(e){}exitTitle(e){}enterHead(e){}exitHead(e){}enterGroup(e){}exitGroup(e){}enterStarterExp(e){}exitStarterExp(e){}enterStarter(e){}exitStarter(e){}enterParticipant(e){}exitParticipant(e){}enterStereotype(e){}exitStereotype(e){}enterLabel(e){}exitLabel(e){}enterParticipantType(e){}exitParticipantType(e){}enterName(e){}exitName(e){}enterWidth(e){}exitWidth(e){}enterBlock(e){}exitBlock(e){}enterRet(e){}exitRet(e){}enterDivider(e){}exitDivider(e){}enterDividerNote(e){}exitDividerNote(e){}enterStat(e){}exitStat(e){}enterPar(e){}exitPar(e){}enterOpt(e){}exitOpt(e){}enterCritical(e){}exitCritical(e){}enterSection(e){}exitSection(e){}enterCreation(e){}exitCreation(e){}enterRef(e){}exitRef(e){}enterCreationBody(e){}exitCreationBody(e){}enterMessage(e){}exitMessage(e){}enterMessageBody(e){}exitMessageBody(e){}enterFunc(e){}exitFunc(e){}enterFrom(e){}exitFrom(e){}enterTo(e){}exitTo(e){}enterSignature(e){}exitSignature(e){}enterInvocation(e){}exitInvocation(e){}enterAssignment(e){}exitAssignment(e){}enterAsyncMessage(e){}exitAsyncMessage(e){}enterContent(e){}exitContent(e){}enterConstruct(e){}exitConstruct(e){}enterType(e){}exitType(e){}enterAssignee(e){}exitAssignee(e){}enterMethodName(e){}exitMethodName(e){}enterParameters(e){}exitParameters(e){}enterParameter(e){}exitParameter(e){}enterNamedParameter(e){}exitNamedParameter(e){}enterDeclaration(e){}exitDeclaration(e){}enterTcf(e){}exitTcf(e){}enterTryBlock(e){}exitTryBlock(e){}enterCatchBlock(e){}exitCatchBlock(e){}enterFinallyBlock(e){}exitFinallyBlock(e){}enterAlt(e){}exitAlt(e){}enterIfBlock(e){}exitIfBlock(e){}enterElseIfBlock(e){}exitElseIfBlock(e){}enterElseBlock(e){}exitElseBlock(e){}enterBraceBlock(e){}exitBraceBlock(e){}enterLoop(e){}exitLoop(e){}enterAssignmentExpr(e){}exitAssignmentExpr(e){}enterFuncExpr(e){}exitFuncExpr(e){}enterAtomExpr(e){}exitAtomExpr(e){}enterOrExpr(e){}exitOrExpr(e){}enterAdditiveExpr(e){}exitAdditiveExpr(e){}enterRelationalExpr(e){}exitRelationalExpr(e){}enterPlusExpr(e){}exitPlusExpr(e){}enterNotExpr(e){}exitNotExpr(e){}enterUnaryMinusExpr(e){}exitUnaryMinusExpr(e){}enterCreationExpr(e){}exitCreationExpr(e){}enterParenthesizedExpr(e){}exitParenthesizedExpr(e){}enterMultiplicationExpr(e){}exitMultiplicationExpr(e){}enterEqualityExpr(e){}exitEqualityExpr(e){}enterAndExpr(e){}exitAndExpr(e){}enterNumberAtom(e){}exitNumberAtom(e){}enterNumberUnitAtom(e){}exitNumberUnitAtom(e){}enterMoneyAtom(e){}exitMoneyAtom(e){}enterBooleanAtom(e){}exitBooleanAtom(e){}enterIdAtom(e){}exitIdAtom(e){}enterStringAtom(e){}exitStringAtom(e){}enterNilAtom(e){}exitNilAtom(e){}enterParExpr(e){}exitParExpr(e){}enterCondition(e){}exitCondition(e){}enterInExpr(e){}exitInExpr(e){}}const eb=[4,1,70,617,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,1,0,3,0,116,8,0,1,0,1,0,3,0,120,8,0,1,0,1,0,1,0,1,0,3,0,126,8,0,1,0,3,0,129,8,0,1,0,1,0,1,0,3,0,134,8,0,1,1,1,1,3,1,138,8,1,1,1,3,1,141,8,1,1,2,1,2,4,2,145,8,2,11,2,12,2,146,1,2,1,2,5,2,151,8,2,10,2,12,2,154,9,2,1,2,3,2,157,8,2,1,3,1,3,3,3,161,8,3,1,3,1,3,5,3,165,8,3,10,3,12,3,168,9,3,1,3,1,3,1,3,3,3,173,8,3,1,3,1,3,1,3,3,3,178,8,3,3,3,180,8,3,1,4,1,4,1,4,3,4,185,8,4,1,4,3,4,188,8,4,1,4,3,4,191,8,4,1,5,1,5,1,6,3,6,196,8,6,1,6,3,6,199,8,6,1,6,1,6,3,6,203,8,6,1,6,3,6,206,8,6,1,6,3,6,209,8,6,1,6,1,6,3,6,213,8,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,222,8,7,1,7,1,7,3,7,226,8,7,3,7,228,8,7,1,8,1,8,1,8,3,8,233,8,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,4,12,242,8,12,11,12,12,12,243,1,13,1,13,3,13,248,8,13,1,13,3,13,251,8,13,1,13,1,13,1,13,3,13,256,8,13,3,13,258,8,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,275,8,16,1,16,1,16,1,16,1,16,1,16,3,16,282,8,16,1,17,1,17,1,17,3,17,287,8,17,1,18,1,18,1,18,3,18,292,8,18,1,19,1,19,1,19,3,19,297,8,19,1,19,3,19,300,8,19,1,19,1,19,3,19,304,8,19,1,20,1,20,1,20,3,20,309,8,20,1,20,3,20,312,8,20,1,20,1,20,1,20,3,20,317,8,20,1,21,1,21,1,21,3,21,322,8,21,1,22,1,22,1,22,1,22,1,22,5,22,329,8,22,10,22,12,22,332,9,22,5,22,334,8,22,10,22,12,22,337,9,22,1,22,1,22,3,22,341,8,22,1,23,3,23,344,8,23,1,23,1,23,1,23,1,23,3,23,350,8,23,1,23,3,23,353,8,23,1,23,3,23,356,8,23,1,23,3,23,359,8,23,1,24,1,24,1,24,3,24,364,8,24,1,25,3,25,367,8,25,1,25,1,25,1,25,3,25,372,8,25,1,25,1,25,1,25,3,25,377,8,25,1,25,1,25,1,25,1,25,1,25,3,25,384,8,25,1,25,1,25,1,25,3,25,389,8,25,1,26,1,26,1,26,5,26,394,8,26,10,26,12,26,397,9,26,1,27,1,27,1,28,1,28,1,29,1,29,3,29,405,8,29,1,30,1,30,3,30,409,8,30,1,30,1,30,1,31,3,31,414,8,31,1,31,1,31,1,31,1,32,1,32,1,32,3,32,422,8,32,1,32,1,32,1,32,3,32,427,8,32,1,32,1,32,1,32,3,32,432,8,32,3,32,434,8,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,36,1,36,5,36,446,8,36,10,36,12,36,449,9,36,1,36,1,36,3,36,453,8,36,1,37,1,37,1,38,1,38,1,38,5,38,460,8,38,10,38,12,38,463,9,38,1,38,3,38,466,8,38,1,39,1,39,1,39,3,39,471,8,39,1,40,1,40,1,40,3,40,476,8,40,1,41,1,41,1,41,1,42,1,42,5,42,483,8,42,10,42,12,42,486,9,42,1,42,3,42,489,8,42,1,43,1,43,1,43,1,44,1,44,3,44,496,8,44,1,44,1,44,1,45,1,45,1,45,1,46,1,46,5,46,505,8,46,10,46,12,46,508,9,46,1,46,3,46,511,8,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,50,1,50,3,50,527,8,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,3,51,538,8,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,549,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,560,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,5,52,583,8,52,10,52,12,52,586,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,595,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,606,8,54,1,55,1,55,1,55,3,55,611,8,55,1,56,1,56,1,56,1,56,1,56,0,1,104,57,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,0,10,2,0,57,57,62,62,2,0,8,8,17,17,2,0,9,9,16,16,2,0,10,10,21,21,1,0,22,24,1,0,20,21,1,0,16,19,1,0,14,15,1,0,58,59,1,0,34,35,689,0,133,1,0,0,0,2,135,1,0,0,0,4,156,1,0,0,0,6,179,1,0,0,0,8,190,1,0,0,0,10,192,1,0,0,0,12,212,1,0,0,0,14,227,1,0,0,0,16,232,1,0,0,0,18,234,1,0,0,0,20,236,1,0,0,0,22,238,1,0,0,0,24,241,1,0,0,0,26,257,1,0,0,0,28,259,1,0,0,0,30,261,1,0,0,0,32,281,1,0,0,0,34,286,1,0,0,0,36,291,1,0,0,0,38,303,1,0,0,0,40,316,1,0,0,0,42,318,1,0,0,0,44,323,1,0,0,0,46,358,1,0,0,0,48,360,1,0,0,0,50,388,1,0,0,0,52,390,1,0,0,0,54,398,1,0,0,0,56,400,1,0,0,0,58,402,1,0,0,0,60,406,1,0,0,0,62,413,1,0,0,0,64,433,1,0,0,0,66,435,1,0,0,0,68,437,1,0,0,0,70,439,1,0,0,0,72,452,1,0,0,0,74,454,1,0,0,0,76,456,1,0,0,0,78,470,1,0,0,0,80,472,1,0,0,0,82,477,1,0,0,0,84,480,1,0,0,0,86,490,1,0,0,0,88,493,1,0,0,0,90,499,1,0,0,0,92,502,1,0,0,0,94,512,1,0,0,0,96,516,1,0,0,0,98,521,1,0,0,0,100,524,1,0,0,0,102,537,1,0,0,0,104,559,1,0,0,0,106,594,1,0,0,0,108,605,1,0,0,0,110,610,1,0,0,0,112,612,1,0,0,0,114,116,3,2,1,0,115,114,1,0,0,0,115,116,1,0,0,0,116,117,1,0,0,0,117,134,5,0,0,1,118,120,3,2,1,0,119,118,1,0,0,0,119,120,1,0,0,0,120,121,1,0,0,0,121,122,3,4,2,0,122,123,5,0,0,1,123,134,1,0,0,0,124,126,3,2,1,0,125,124,1,0,0,0,125,126,1,0,0,0,126,128,1,0,0,0,127,129,3,4,2,0,128,127,1,0,0,0,128,129,1,0,0,0,129,130,1,0,0,0,130,131,3,24,12,0,131,132,5,0,0,1,132,134,1,0,0,0,133,115,1,0,0,0,133,119,1,0,0,0,133,125,1,0,0,0,134,1,1,0,0,0,135,137,5,6,0,0,136,138,5,69,0,0,137,136,1,0,0,0,137,138,1,0,0,0,138,140,1,0,0,0,139,141,5,70,0,0,140,139,1,0,0,0,140,141,1,0,0,0,141,3,1,0,0,0,142,145,3,6,3,0,143,145,3,12,6,0,144,142,1,0,0,0,144,143,1,0,0,0,145,146,1,0,0,0,146,144,1,0,0,0,146,147,1,0,0,0,147,157,1,0,0,0,148,151,3,6,3,0,149,151,3,12,6,0,150,148,1,0,0,0,150,149,1,0,0,0,151,154,1,0,0,0,152,150,1,0,0,0,152,153,1,0,0,0,153,155,1,0,0,0,154,152,1,0,0,0,155,157,3,8,4,0,156,144,1,0,0,0,156,152,1,0,0,0,157,5,1,0,0,0,158,160,5,43,0,0,159,161,3,20,10,0,160,159,1,0,0,0,160,161,1,0,0,0,161,162,1,0,0,0,162,166,5,32,0,0,163,165,3,12,6,0,164,163,1,0,0,0,165,168,1,0,0,0,166,164,1,0,0,0,166,167,1,0,0,0,167,169,1,0,0,0,168,166,1,0,0,0,169,180,5,33,0,0,170,172,5,43,0,0,171,173,3,20,10,0,172,171,1,0,0,0,172,173,1,0,0,0,173,174,1,0,0,0,174,180,5,32,0,0,175,177,5,43,0,0,176,178,3,20,10,0,177,176,1,0,0,0,177,178,1,0,0,0,178,180,1,0,0,0,179,158,1,0,0,0,179,170,1,0,0,0,179,175,1,0,0,0,180,7,1,0,0,0,181,187,5,53,0,0,182,184,5,30,0,0,183,185,3,10,5,0,184,183,1,0,0,0,184,185,1,0,0,0,185,186,1,0,0,0,186,188,5,31,0,0,187,182,1,0,0,0,187,188,1,0,0,0,188,191,1,0,0,0,189,191,5,55,0,0,190,181,1,0,0,0,190,189,1,0,0,0,191,9,1,0,0,0,192,193,7,0,0,0,193,11,1,0,0,0,194,196,3,18,9,0,195,194,1,0,0,0,195,196,1,0,0,0,196,198,1,0,0,0,197,199,3,14,7,0,198,197,1,0,0,0,198,199,1,0,0,0,199,200,1,0,0,0,200,202,3,20,10,0,201,203,3,22,11,0,202,201,1,0,0,0,202,203,1,0,0,0,203,205,1,0,0,0,204,206,3,16,8,0,205,204,1,0,0,0,205,206,1,0,0,0,206,208,1,0,0,0,207,209,5,11,0,0,208,207,1,0,0,0,208,209,1,0,0,0,209,213,1,0,0,0,210,213,3,14,7,0,211,213,3,18,9,0,212,195,1,0,0,0,212,210,1,0,0,0,212,211,1,0,0,0,213,13,1,0,0,0,214,215,5,8,0,0,215,216,3,20,10,0,216,217,5,9,0,0,217,228,1,0,0,0,218,219,5,8,0,0,219,221,3,20,10,0,220,222,5,16,0,0,221,220,1,0,0,0,221,222,1,0,0,0,222,228,1,0,0,0,223,225,7,1,0,0,224,226,7,2,0,0,225,224,1,0,0,0,225,226,1,0,0,0,226,228,1,0,0,0,227,214,1,0,0,0,227,218,1,0,0,0,227,223,1,0,0,0,228,15,1,0,0,0,229,230,5,48,0,0,230,233,3,20,10,0,231,233,5,48,0,0,232,229,1,0,0,0,232,231,1,0,0,0,233,17,1,0,0,0,234,235,5,55,0,0,235,19,1,0,0,0,236,237,7,0,0,0,237,21,1,0,0,0,238,239,5,58,0,0,239,23,1,0,0,0,240,242,3,32,16,0,241,240,1,0,0,0,242,243,1,0,0,0,243,241,1,0,0,0,243,244,1,0,0,0,244,25,1,0,0,0,245,247,5,40,0,0,246,248,3,104,52,0,247,246,1,0,0,0,247,248,1,0,0,0,248,250,1,0,0,0,249,251,5,27,0,0,250,249,1,0,0,0,250,251,1,0,0,0,251,258,1,0,0,0,252,253,5,54,0,0,253,255,3,64,32,0,254,256,5,68,0,0,255,254,1,0,0,0,255,256,1,0,0,0,256,258,1,0,0,0,257,245,1,0,0,0,257,252,1,0,0,0,258,27,1,0,0,0,259,260,3,30,15,0,260,29,1,0,0,0,261,262,5,66,0,0,262,31,1,0,0,0,263,282,3,92,46,0,264,282,3,34,17,0,265,282,3,36,18,0,266,282,3,38,19,0,267,282,3,40,20,0,268,282,3,44,22,0,269,282,3,102,51,0,270,282,3,42,21,0,271,282,3,48,24,0,272,274,3,64,32,0,273,275,5,68,0,0,274,273,1,0,0,0,274,275,1,0,0,0,275,282,1,0,0,0,276,282,3,26,13,0,277,282,3,28,14,0,278,282,3,84,42,0,279,280,5,65,0,0,280,282,6,16,-1,0,281,263,1,0,0,0,281,264,1,0,0,0,281,265,1,0,0,0,281,266,1,0,0,0,281,267,1,0,0,0,281,268,1,0,0,0,281,269,1,0,0,0,281,270,1,0,0,0,281,271,1,0,0,0,281,272,1,0,0,0,281,276,1,0,0,0,281,277,1,0,0,0,281,278,1,0,0,0,281,279,1,0,0,0,282,33,1,0,0,0,283,284,5,42,0,0,284,287,3,100,50,0,285,287,5,42,0,0,286,283,1,0,0,0,286,285,1,0,0,0,287,35,1,0,0,0,288,289,5,44,0,0,289,292,3,100,50,0,290,292,5,44,0,0,291,288,1,0,0,0,291,290,1,0,0,0,292,37,1,0,0,0,293,299,5,45,0,0,294,296,5,30,0,0,295,297,3,106,53,0,296,295,1,0,0,0,296,297,1,0,0,0,297,298,1,0,0,0,298,300,5,31,0,0,299,294,1,0,0,0,299,300,1,0,0,0,300,301,1,0,0,0,301,304,3,100,50,0,302,304,5,45,0,0,303,293,1,0,0,0,303,302,1,0,0,0,304,39,1,0,0,0,305,311,5,46,0,0,306,308,5,30,0,0,307,309,3,106,53,0,308,307,1,0,0,0,308,309,1,0,0,0,309,310,1,0,0,0,310,312,5,31,0,0,311,306,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,317,3,100,50,0,314,317,3,100,50,0,315,317,5,46,0,0,316,305,1,0,0,0,316,314,1,0,0,0,316,315,1,0,0,0,317,41,1,0,0,0,318,321,3,46,23,0,319,322,5,27,0,0,320,322,3,100,50,0,321,319,1,0,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,43,1,0,0,0,323,324,5,47,0,0,324,325,5,30,0,0,325,335,3,20,10,0,326,330,5,28,0,0,327,329,3,20,10,0,328,327,1,0,0,0,329,332,1,0,0,0,330,328,1,0,0,0,330,331,1,0,0,0,331,334,1,0,0,0,332,330,1,0,0,0,333,326,1,0,0,0,334,337,1,0,0,0,335,333,1,0,0,0,335,336,1,0,0,0,336,338,1,0,0,0,337,335,1,0,0,0,338,340,5,31,0,0,339,341,5,27,0,0,340,339,1,0,0,0,340,341,1,0,0,0,341,45,1,0,0,0,342,344,3,62,31,0,343,342,1,0,0,0,343,344,1,0,0,0,344,345,1,0,0,0,345,346,5,41,0,0,346,352,3,68,34,0,347,349,5,30,0,0,348,350,3,76,38,0,349,348,1,0,0,0,349,350,1,0,0,0,350,351,1,0,0,0,351,353,5,31,0,0,352,347,1,0,0,0,352,353,1,0,0,0,353,359,1,0,0,0,354,356,3,62,31,0,355,354,1,0,0,0,355,356,1,0,0,0,356,357,1,0,0,0,357,359,5,41,0,0,358,343,1,0,0,0,358,355,1,0,0,0,359,47,1,0,0,0,360,363,3,50,25,0,361,364,5,27,0,0,362,364,3,100,50,0,363,361,1,0,0,0,363,362,1,0,0,0,363,364,1,0,0,0,364,49,1,0,0,0,365,367,3,62,31,0,366,365,1,0,0,0,366,367,1,0,0,0,367,376,1,0,0,0,368,369,3,54,27,0,369,370,5,10,0,0,370,372,1,0,0,0,371,368,1,0,0,0,371,372,1,0,0,0,372,373,1,0,0,0,373,374,3,56,28,0,374,375,5,56,0,0,375,377,1,0,0,0,376,371,1,0,0,0,376,377,1,0,0,0,377,378,1,0,0,0,378,389,3,52,26,0,379,389,3,62,31,0,380,381,3,54,27,0,381,382,5,10,0,0,382,384,1,0,0,0,383,380,1,0,0,0,383,384,1,0,0,0,384,385,1,0,0,0,385,386,3,56,28,0,386,387,5,56,0,0,387,389,1,0,0,0,388,366,1,0,0,0,388,379,1,0,0,0,388,383,1,0,0,0,389,51,1,0,0,0,390,395,3,58,29,0,391,392,5,56,0,0,392,394,3,58,29,0,393,391,1,0,0,0,394,397,1,0,0,0,395,393,1,0,0,0,395,396,1,0,0,0,396,53,1,0,0,0,397,395,1,0,0,0,398,399,7,0,0,0,399,55,1,0,0,0,400,401,7,0,0,0,401,57,1,0,0,0,402,404,3,74,37,0,403,405,3,60,30,0,404,403,1,0,0,0,404,405,1,0,0,0,405,59,1,0,0,0,406,408,5,30,0,0,407,409,3,76,38,0,408,407,1,0,0,0,408,409,1,0,0,0,409,410,1,0,0,0,410,411,5,31,0,0,411,61,1,0,0,0,412,414,3,70,35,0,413,412,1,0,0,0,413,414,1,0,0,0,414,415,1,0,0,0,415,416,3,72,36,0,416,417,5,29,0,0,417,63,1,0,0,0,418,419,3,54,27,0,419,420,5,10,0,0,420,422,1,0,0,0,421,418,1,0,0,0,421,422,1,0,0,0,422,423,1,0,0,0,423,424,3,56,28,0,424,426,5,7,0,0,425,427,3,66,33,0,426,425,1,0,0,0,426,427,1,0,0,0,427,434,1,0,0,0,428,429,3,54,27,0,429,431,7,3,0,0,430,432,3,56,28,0,431,430,1,0,0,0,431,432,1,0,0,0,432,434,1,0,0,0,433,421,1,0,0,0,433,428,1,0,0,0,434,65,1,0,0,0,435,436,5,67,0,0,436,67,1,0,0,0,437,438,7,0,0,0,438,69,1,0,0,0,439,440,7,0,0,0,440,71,1,0,0,0,441,453,3,106,53,0,442,447,5,57,0,0,443,444,5,28,0,0,444,446,5,57,0,0,445,443,1,0,0,0,446,449,1,0,0,0,447,445,1,0,0,0,447,448,1,0,0,0,448,453,1,0,0,0,449,447,1,0,0,0,450,453,5,62,0,0,451,453,5,41,0,0,452,441,1,0,0,0,452,442,1,0,0,0,452,450,1,0,0,0,452,451,1,0,0,0,453,73,1,0,0,0,454,455,7,0,0,0,455,75,1,0,0,0,456,461,3,78,39,0,457,458,5,28,0,0,458,460,3,78,39,0,459,457,1,0,0,0,460,463,1,0,0,0,461,459,1,0,0,0,461,462,1,0,0,0,462,465,1,0,0,0,463,461,1,0,0,0,464,466,5,28,0,0,465,464,1,0,0,0,465,466,1,0,0,0,466,77,1,0,0,0,467,471,3,80,40,0,468,471,3,82,41,0,469,471,3,104,52,0,470,467,1,0,0,0,470,468,1,0,0,0,470,469,1,0,0,0,471,79,1,0,0,0,472,473,5,57,0,0,473,475,5,29,0,0,474,476,3,104,52,0,475,474,1,0,0,0,475,476,1,0,0,0,476,81,1,0,0,0,477,478,3,70,35,0,478,479,5,57,0,0,479,83,1,0,0,0,480,484,3,86,43,0,481,483,3,88,44,0,482,481,1,0,0,0,483,486,1,0,0,0,484,482,1,0,0,0,484,485,1,0,0,0,485,488,1,0,0,0,486,484,1,0,0,0,487,489,3,90,45,0,488,487,1,0,0,0,488,489,1,0,0,0,489,85,1,0,0,0,490,491,5,49,0,0,491,492,3,100,50,0,492,87,1,0,0,0,493,495,5,50,0,0,494,496,3,60,30,0,495,494,1,0,0,0,495,496,1,0,0,0,496,497,1,0,0,0,497,498,3,100,50,0,498,89,1,0,0,0,499,500,5,51,0,0,500,501,3,100,50,0,501,91,1,0,0,0,502,506,3,94,47,0,503,505,3,96,48,0,504,503,1,0,0,0,505,508,1,0,0,0,506,504,1,0,0,0,506,507,1,0,0,0,507,510,1,0,0,0,508,506,1,0,0,0,509,511,3,98,49,0,510,509,1,0,0,0,510,511,1,0,0,0,511,93,1,0,0,0,512,513,5,37,0,0,513,514,3,108,54,0,514,515,3,100,50,0,515,95,1,0,0,0,516,517,5,38,0,0,517,518,5,37,0,0,518,519,3,108,54,0,519,520,3,100,50,0,520,97,1,0,0,0,521,522,5,38,0,0,522,523,3,100,50,0,523,99,1,0,0,0,524,526,5,32,0,0,525,527,3,24,12,0,526,525,1,0,0,0,526,527,1,0,0,0,527,528,1,0,0,0,528,529,5,33,0,0,529,101,1,0,0,0,530,531,5,39,0,0,531,532,3,108,54,0,532,533,3,100,50,0,533,538,1,0,0,0,534,535,5,39,0,0,535,538,3,108,54,0,536,538,5,39,0,0,537,530,1,0,0,0,537,534,1,0,0,0,537,536,1,0,0,0,538,103,1,0,0,0,539,540,6,52,-1,0,540,560,3,106,53,0,541,542,5,21,0,0,542,560,3,104,52,13,543,544,5,26,0,0,544,560,3,104,52,12,545,546,3,56,28,0,546,547,5,56,0,0,547,549,1,0,0,0,548,545,1,0,0,0,548,549,1,0,0,0,549,550,1,0,0,0,550,560,3,52,26,0,551,560,3,42,21,0,552,553,5,30,0,0,553,554,3,104,52,0,554,555,5,31,0,0,555,560,1,0,0,0,556,557,3,62,31,0,557,558,3,104,52,1,558,560,1,0,0,0,559,539,1,0,0,0,559,541,1,0,0,0,559,543,1,0,0,0,559,548,1,0,0,0,559,551,1,0,0,0,559,552,1,0,0,0,559,556,1,0,0,0,560,584,1,0,0,0,561,562,10,11,0,0,562,563,7,4,0,0,563,583,3,104,52,12,564,565,10,10,0,0,565,566,7,5,0,0,566,583,3,104,52,11,567,568,10,9,0,0,568,569,7,6,0,0,569,583,3,104,52,10,570,571,10,8,0,0,571,572,7,7,0,0,572,583,3,104,52,9,573,574,10,7,0,0,574,575,5,13,0,0,575,583,3,104,52,8,576,577,10,6,0,0,577,578,5,12,0,0,578,583,3,104,52,7,579,580,10,5,0,0,580,581,5,20,0,0,581,583,3,104,52,6,582,561,1,0,0,0,582,564,1,0,0,0,582,567,1,0,0,0,582,570,1,0,0,0,582,573,1,0,0,0,582,576,1,0,0,0,582,579,1,0,0,0,583,586,1,0,0,0,584,582,1,0,0,0,584,585,1,0,0,0,585,105,1,0,0,0,586,584,1,0,0,0,587,595,7,8,0,0,588,595,5,61,0,0,589,595,5,60,0,0,590,595,7,9,0,0,591,595,5,57,0,0,592,595,5,62,0,0,593,595,5,36,0,0,594,587,1,0,0,0,594,588,1,0,0,0,594,589,1,0,0,0,594,590,1,0,0,0,594,591,1,0,0,0,594,592,1,0,0,0,594,593,1,0,0,0,595,107,1,0,0,0,596,597,5,30,0,0,597,598,3,110,55,0,598,599,5,31,0,0,599,606,1,0,0,0,600,601,5,30,0,0,601,606,3,110,55,0,602,603,5,30,0,0,603,606,5,31,0,0,604,606,5,30,0,0,605,596,1,0,0,0,605,600,1,0,0,0,605,602,1,0,0,0,605,604,1,0,0,0,606,109,1,0,0,0,607,611,3,106,53,0,608,611,3,104,52,0,609,611,3,112,56,0,610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,111,1,0,0,0,612,613,5,57,0,0,613,614,5,52,0,0,614,615,5,57,0,0,615,113,1,0,0,0,88,115,119,125,128,133,137,140,144,146,150,152,156,160,166,172,177,179,184,187,190,195,198,202,205,208,212,221,225,227,232,243,247,250,255,257,274,281,286,291,296,299,303,308,311,316,321,330,335,340,343,349,352,355,358,363,366,371,376,383,388,395,404,408,413,421,426,431,433,447,452,461,465,470,475,484,488,495,506,510,526,537,548,559,582,584,594,605,610],K7=new Q.atn.ATNDeserializer().deserialize(eb),tb=K7.decisionToState.map((n,e)=>new Q.dfa.DFA(n,e)),nb=new Q.PredictionContextCache,B=class B extends Q.Parser{constructor(e){super(e),this._interp=new Q.atn.ParserATNSimulator(this,K7,tb,nb),this.ruleNames=B.ruleNames,this.literalNames=B.literalNames,this.symbolicNames=B.symbolicNames}get atn(){return K7}sempred(e,t,i){switch(t){case 52:return this.expr_sempred(e,i);default:throw"No predicate with index:"+t}}expr_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,11);case 1:return this.precpred(this._ctx,10);case 2:return this.precpred(this._ctx,9);case 3:return this.precpred(this._ctx,8);case 4:return this.precpred(this._ctx,7);case 5:return this.precpred(this._ctx,6);case 6:return this.precpred(this._ctx,5);default:throw"No predicate with index:"+t}}prog(){let e=new Wd(this,this._ctx,this.state);this.enterRule(e,0,B.RULE_prog);var t=0;try{this.state=133,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,4,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=115,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=114,this.title()),this.state=117,this.match(B.EOF);break;case 2:this.enterOuterAlt(e,2),this.state=119,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=118,this.title()),this.state=121,this.head(),this.state=122,this.match(B.EOF);break;case 3:this.enterOuterAlt(e,3),this.state=125,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=124,this.title()),this.state=128,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,3,this._ctx);i===1&&(this.state=127,this.head()),this.state=130,this.block(),this.state=131,this.match(B.EOF);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}title(){let e=new Q7(this,this._ctx,this.state);this.enterRule(e,2,B.RULE_title);var t=0;try{this.enterOuterAlt(e,1),this.state=135,this.match(B.TITLE),this.state=137,this._errHandler.sync(this),t=this._input.LA(1),t===69&&(this.state=136,this.match(B.TITLE_CONTENT)),this.state=140,this._errHandler.sync(this),t=this._input.LA(1),t===70&&(this.state=139,this.match(B.TITLE_END))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}head(){let e=new j7(this,this._ctx,this.state);this.enterRule(e,4,B.RULE_head);try{this.state=156,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,11,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=144,this._errHandler.sync(this);var i=1;do{switch(i){case 1:switch(this.state=144,this._errHandler.sync(this),this._input.LA(1)){case 43:this.state=142,this.group();break;case 8:case 17:case 55:case 57:case 62:this.state=143,this.participant();break;default:throw new Q.error.NoViableAltException(this)}break;default:throw new Q.error.NoViableAltException(this)}this.state=146,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,8,this._ctx)}while(i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER);break;case 2:this.enterOuterAlt(e,2),this.state=152,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,10,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;){if(i===1)switch(this.state=150,this._errHandler.sync(this),this._input.LA(1)){case 43:this.state=148,this.group();break;case 8:case 17:case 55:case 57:case 62:this.state=149,this.participant();break;default:throw new Q.error.NoViableAltException(this)}this.state=154,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,10,this._ctx)}this.state=155,this.starterExp();break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}group(){let e=new Zn(this,this._ctx,this.state);this.enterRule(e,6,B.RULE_group);var t=0;try{this.state=179,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,16,this._ctx);switch(i){case 1:for(this.enterOuterAlt(e,1),this.state=158,this.match(B.GROUP),this.state=160,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=159,this.name()),this.state=162,this.match(B.OBRACE),this.state=166,this._errHandler.sync(this),t=this._input.LA(1);t===8||t===17||(t-55&-32)==0&&(1<<t-55&133)!==0;)this.state=163,this.participant(),this.state=168,this._errHandler.sync(this),t=this._input.LA(1);this.state=169,this.match(B.CBRACE);break;case 2:this.enterOuterAlt(e,2),this.state=170,this.match(B.GROUP),this.state=172,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=171,this.name()),this.state=174,this.match(B.OBRACE);break;case 3:this.enterOuterAlt(e,3),this.state=175,this.match(B.GROUP),this.state=177,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,15,this._ctx);i===1&&(this.state=176,this.name());break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}starterExp(){let e=new X7(this,this._ctx,this.state);this.enterRule(e,8,B.RULE_starterExp);var t=0;try{switch(this.state=190,this._errHandler.sync(this),this._input.LA(1)){case 53:this.enterOuterAlt(e,1),this.state=181,this.match(B.STARTER_LXR),this.state=187,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=182,this.match(B.OPAR),this.state=184,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=183,this.starter()),this.state=186,this.match(B.CPAR));break;case 55:this.enterOuterAlt(e,2),this.state=189,this.match(B.ANNOTATION);break;default:throw new Q.error.NoViableAltException(this)}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}starter(){let e=new J7(this,this._ctx,this.state);this.enterRule(e,10,B.RULE_starter);var t=0;try{this.enterOuterAlt(e,1),this.state=192,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}participant(){let e=new G9(this,this._ctx,this.state);this.enterRule(e,12,B.RULE_participant);var t=0;try{this.state=212,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,25,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=195,this._errHandler.sync(this),t=this._input.LA(1),t===55&&(this.state=194,this.participantType()),this.state=198,this._errHandler.sync(this),t=this._input.LA(1),(t===8||t===17)&&(this.state=197,this.stereotype()),this.state=200,this.name(),this.state=202,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,22,this._ctx);i===1&&(this.state=201,this.width()),this.state=205,this._errHandler.sync(this),t=this._input.LA(1),t===48&&(this.state=204,this.label()),this.state=208,this._errHandler.sync(this),t=this._input.LA(1),t===11&&(this.state=207,this.match(B.COLOR));break;case 2:this.enterOuterAlt(e,2),this.state=210,this.stereotype();break;case 3:this.enterOuterAlt(e,3),this.state=211,this.participantType();break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}stereotype(){let e=new ei(this,this._ctx,this.state);this.enterRule(e,14,B.RULE_stereotype);var t=0;try{this.state=227,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,28,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=214,this.match(B.SOPEN),this.state=215,this.name(),this.state=216,this.match(B.SCLOSE);break;case 2:this.enterOuterAlt(e,2),this.state=218,this.match(B.SOPEN),this.state=219,this.name(),this.state=221,this._errHandler.sync(this),t=this._input.LA(1),t===16&&(this.state=220,this.match(B.GT));break;case 3:this.enterOuterAlt(e,3),this.state=223,t=this._input.LA(1),t===8||t===17?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=225,this._errHandler.sync(this),t=this._input.LA(1),(t===9||t===16)&&(this.state=224,t=this._input.LA(1),t===9||t===16?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this));break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}label(){let e=new ti(this,this._ctx,this.state);this.enterRule(e,16,B.RULE_label);try{this.state=232,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,29,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=229,this.match(B.AS),this.state=230,this.name();break;case 2:this.enterOuterAlt(e,2),this.state=231,this.match(B.AS);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}participantType(){let e=new ni(this,this._ctx,this.state);this.enterRule(e,18,B.RULE_participantType);try{this.enterOuterAlt(e,1),this.state=234,this.match(B.ANNOTATION)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}name(){let e=new Lt(this,this._ctx,this.state);this.enterRule(e,20,B.RULE_name);var t=0;try{this.enterOuterAlt(e,1),this.state=236,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}width(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,22,B.RULE_width);try{this.enterOuterAlt(e,1),this.state=238,this.match(B.INT)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}block(){let e=new Bn(this,this._ctx,this.state);this.enterRule(e,24,B.RULE_block);var t=0;try{this.enterOuterAlt(e,1),this.state=241,this._errHandler.sync(this),t=this._input.LA(1);do this.state=240,this.stat(),this.state=243,this._errHandler.sync(this),t=this._input.LA(1);while((t-32&-32)==0&&(1<<t-32&2118318013)!==0||t===65||t===66)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}ret(){let e=new ri(this,this._ctx,this.state);this.enterRule(e,26,B.RULE_ret);var t=0;try{switch(this.state=257,this._errHandler.sync(this),this._input.LA(1)){case 40:this.enterOuterAlt(e,1),this.state=245,this.match(B.RETURN),this.state=247,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,31,this._ctx);i===1&&(this.state=246,this.expr(0)),this.state=250,this._errHandler.sync(this),t=this._input.LA(1),t===27&&(this.state=249,this.match(B.SCOL));break;case 54:this.enterOuterAlt(e,2),this.state=252,this.match(B.ANNOTATION_RET),this.state=253,this.asyncMessage(),this.state=255,this._errHandler.sync(this),t=this._input.LA(1),t===68&&(this.state=254,this.match(B.EVENT_END));break;default:throw new Q.error.NoViableAltException(this)}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}divider(){let e=new ai(this,this._ctx,this.state);this.enterRule(e,28,B.RULE_divider);try{this.enterOuterAlt(e,1),this.state=259,this.dividerNote()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}dividerNote(){let e=new si(this,this._ctx,this.state);this.enterRule(e,30,B.RULE_dividerNote);try{this.enterOuterAlt(e,1),this.state=261,this.match(B.DIVIDER)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}stat(){let e=new Gn(this,this._ctx,this.state);this.enterRule(e,32,B.RULE_stat);var t=0;try{this.state=281,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,36,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=263,this.alt();break;case 2:this.enterOuterAlt(e,2),this.state=264,this.par();break;case 3:this.enterOuterAlt(e,3),this.state=265,this.opt();break;case 4:this.enterOuterAlt(e,4),this.state=266,this.critical();break;case 5:this.enterOuterAlt(e,5),this.state=267,this.section();break;case 6:this.enterOuterAlt(e,6),this.state=268,this.ref();break;case 7:this.enterOuterAlt(e,7),this.state=269,this.loop();break;case 8:this.enterOuterAlt(e,8),this.state=270,this.creation();break;case 9:this.enterOuterAlt(e,9),this.state=271,this.message();break;case 10:this.enterOuterAlt(e,10),this.state=272,this.asyncMessage(),this.state=274,this._errHandler.sync(this),t=this._input.LA(1),t===68&&(this.state=273,this.match(B.EVENT_END));break;case 11:this.enterOuterAlt(e,11),this.state=276,this.ret();break;case 12:this.enterOuterAlt(e,12),this.state=277,this.divider();break;case 13:this.enterOuterAlt(e,13),this.state=278,this.tcf();break;case 14:this.enterOuterAlt(e,14),this.state=279,e._OTHER=this.match(B.OTHER),console.log("unknown char: "+(e._OTHER===null?null:e._OTHER.text));break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}par(){let e=new oi(this,this._ctx,this.state);this.enterRule(e,34,B.RULE_par);try{this.state=286,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,37,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=283,this.match(B.PAR),this.state=284,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=285,this.match(B.PAR);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}opt(){let e=new li(this,this._ctx,this.state);this.enterRule(e,36,B.RULE_opt);try{this.state=291,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,38,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=288,this.match(B.OPT),this.state=289,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=290,this.match(B.OPT);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}critical(){let e=new ci(this,this._ctx,this.state);this.enterRule(e,38,B.RULE_critical);var t=0;try{this.state=303,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,41,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=293,this.match(B.CRITICAL),this.state=299,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=294,this.match(B.OPAR),this.state=296,this._errHandler.sync(this),t=this._input.LA(1),(t-34&-32)==0&&(1<<t-34&528482311)!==0&&(this.state=295,this.atom()),this.state=298,this.match(B.CPAR)),this.state=301,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=302,this.match(B.CRITICAL);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}section(){let e=new ui(this,this._ctx,this.state);this.enterRule(e,40,B.RULE_section);var t=0;try{this.state=316,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,44,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=305,this.match(B.SECTION),this.state=311,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=306,this.match(B.OPAR),this.state=308,this._errHandler.sync(this),t=this._input.LA(1),(t-34&-32)==0&&(1<<t-34&528482311)!==0&&(this.state=307,this.atom()),this.state=310,this.match(B.CPAR)),this.state=313,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=314,this.braceBlock();break;case 3:this.enterOuterAlt(e,3),this.state=315,this.match(B.SECTION);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}creation(){let e=new zn(this,this._ctx,this.state);this.enterRule(e,42,B.RULE_creation);try{this.enterOuterAlt(e,1),this.state=318,this.creationBody(),this.state=321,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,45,this._ctx);t===1?(this.state=319,this.match(B.SCOL)):t===2&&(this.state=320,this.braceBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}ref(){let e=new di(this,this._ctx,this.state);this.enterRule(e,44,B.RULE_ref);var t=0;try{for(this.enterOuterAlt(e,1),this.state=323,this.match(B.REF),this.state=324,this.match(B.OPAR),this.state=325,this.name(),this.state=335,this._errHandler.sync(this),t=this._input.LA(1);t===28;){for(this.state=326,this.match(B.COMMA),this.state=330,this._errHandler.sync(this),t=this._input.LA(1);t===57||t===62;)this.state=327,this.name(),this.state=332,this._errHandler.sync(this),t=this._input.LA(1);this.state=337,this._errHandler.sync(this),t=this._input.LA(1)}this.state=338,this.match(B.CPAR),this.state=340,this._errHandler.sync(this),t=this._input.LA(1),t===27&&(this.state=339,this.match(B.SCOL))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}creationBody(){let e=new Li(this,this._ctx,this.state);this.enterRule(e,46,B.RULE_creationBody);var t=0;try{this.state=358,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,53,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=343,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,49,this._ctx);i===1&&(this.state=342,this.assignment()),this.state=345,this.match(B.NEW),this.state=346,this.construct(),this.state=352,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,51,this._ctx);i===1&&(this.state=347,this.match(B.OPAR),this.state=349,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=348,this.parameters()),this.state=351,this.match(B.CPAR));break;case 2:this.enterOuterAlt(e,2),this.state=355,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,52,this._ctx);i===1&&(this.state=354,this.assignment()),this.state=357,this.match(B.NEW);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}message(){let e=new Ci(this,this._ctx,this.state);this.enterRule(e,48,B.RULE_message);try{this.enterOuterAlt(e,1),this.state=360,this.messageBody(),this.state=363,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,54,this._ctx);t===1?(this.state=361,this.match(B.SCOL)):t===2&&(this.state=362,this.braceBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}messageBody(){let e=new _i(this,this._ctx,this.state);this.enterRule(e,50,B.RULE_messageBody);try{this.state=388,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,59,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=366,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,55,this._ctx);t===1&&(this.state=365,this.assignment()),this.state=376,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,57,this._ctx);if(t===1){this.state=371,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,56,this._ctx);t===1&&(this.state=368,this.from(),this.state=369,this.match(B.ARROW)),this.state=373,this.to(),this.state=374,this.match(B.DOT)}this.state=378,this.func();break;case 2:this.enterOuterAlt(e,2),this.state=379,this.assignment();break;case 3:this.enterOuterAlt(e,3),this.state=383,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,58,this._ctx);t===1&&(this.state=380,this.from(),this.state=381,this.match(B.ARROW)),this.state=385,this.to(),this.state=386,this.match(B.DOT);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}func(){let e=new Hn(this,this._ctx,this.state);this.enterRule(e,52,B.RULE_func);try{this.enterOuterAlt(e,1),this.state=390,this.signature(),this.state=395,this._errHandler.sync(this);for(var t=this._interp.adaptivePredict(this._input,60,this._ctx);t!=2&&t!=Q.atn.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=391,this.match(B.DOT),this.state=392,this.signature()),this.state=397,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,60,this._ctx)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}from(){let e=new Yn(this,this._ctx,this.state);this.enterRule(e,54,B.RULE_from);var t=0;try{this.enterOuterAlt(e,1),this.state=398,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}to(){let e=new $0(this,this._ctx,this.state);this.enterRule(e,56,B.RULE_to);var t=0;try{this.enterOuterAlt(e,1),this.state=400,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}signature(){let e=new Vn(this,this._ctx,this.state);this.enterRule(e,58,B.RULE_signature);try{this.enterOuterAlt(e,1),this.state=402,this.methodName(),this.state=404,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,61,this._ctx);t===1&&(this.state=403,this.invocation())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}invocation(){let e=new qn(this,this._ctx,this.state);this.enterRule(e,60,B.RULE_invocation);var t=0;try{this.enterOuterAlt(e,1),this.state=406,this.match(B.OPAR),this.state=408,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=407,this.parameters()),this.state=410,this.match(B.CPAR)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}assignment(){let e=new K0(this,this._ctx,this.state);this.enterRule(e,62,B.RULE_assignment);try{this.enterOuterAlt(e,1),this.state=413,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,63,this._ctx);t===1&&(this.state=412,this.type()),this.state=415,this.assignee(),this.state=416,this.match(B.ASSIGN)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}asyncMessage(){let e=new Wn(this,this._ctx,this.state);this.enterRule(e,64,B.RULE_asyncMessage);var t=0;try{this.state=433,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,67,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=421,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,64,this._ctx);i===1&&(this.state=418,this.from(),this.state=419,this.match(B.ARROW)),this.state=423,this.to(),this.state=424,this.match(B.COL),this.state=426,this._errHandler.sync(this),t=this._input.LA(1),t===67&&(this.state=425,this.content());break;case 2:this.enterOuterAlt(e,2),this.state=428,this.from(),this.state=429,t=this._input.LA(1),t===10||t===21?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=431,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,66,this._ctx);i===1&&(this.state=430,this.to());break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}content(){let e=new gi(this,this._ctx,this.state);this.enterRule(e,66,B.RULE_content);try{this.enterOuterAlt(e,1),this.state=435,this.match(B.EVENT_PAYLOAD_LXR)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}construct(){let e=new pi(this,this._ctx,this.state);this.enterRule(e,68,B.RULE_construct);var t=0;try{this.enterOuterAlt(e,1),this.state=437,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}type(){let e=new $n(this,this._ctx,this.state);this.enterRule(e,70,B.RULE_type);var t=0;try{this.enterOuterAlt(e,1),this.state=439,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}assignee(){let e=new mi(this,this._ctx,this.state);this.enterRule(e,72,B.RULE_assignee);var t=0;try{this.state=452,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,69,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=441,this.atom();break;case 2:for(this.enterOuterAlt(e,2),this.state=442,this.match(B.ID),this.state=447,this._errHandler.sync(this),t=this._input.LA(1);t===28;)this.state=443,this.match(B.COMMA),this.state=444,this.match(B.ID),this.state=449,this._errHandler.sync(this),t=this._input.LA(1);break;case 3:this.enterOuterAlt(e,3),this.state=450,this.match(B.STRING);break;case 4:this.enterOuterAlt(e,4),this.state=451,this.match(B.NEW);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}methodName(){let e=new hi(this,this._ctx,this.state);this.enterRule(e,74,B.RULE_methodName);var t=0;try{this.enterOuterAlt(e,1),this.state=454,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}parameters(){let e=new Kn(this,this._ctx,this.state);this.enterRule(e,76,B.RULE_parameters);var t=0;try{this.enterOuterAlt(e,1),this.state=456,this.parameter(),this.state=461,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,70,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;)i===1&&(this.state=457,this.match(B.COMMA),this.state=458,this.parameter()),this.state=463,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,70,this._ctx);this.state=465,this._errHandler.sync(this),t=this._input.LA(1),t===28&&(this.state=464,this.match(B.COMMA))}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}parameter(){let e=new Qn(this,this._ctx,this.state);this.enterRule(e,78,B.RULE_parameter);try{this.state=470,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,72,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=467,this.namedParameter();break;case 2:this.enterOuterAlt(e,2),this.state=468,this.declaration();break;case 3:this.enterOuterAlt(e,3),this.state=469,this.expr(0);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}namedParameter(){let e=new fi(this,this._ctx,this.state);this.enterRule(e,80,B.RULE_namedParameter);var t=0;try{this.enterOuterAlt(e,1),this.state=472,this.match(B.ID),this.state=473,this.match(B.ASSIGN),this.state=475,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=474,this.expr(0))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}declaration(){let e=new Ei(this,this._ctx,this.state);this.enterRule(e,82,B.RULE_declaration);try{this.enterOuterAlt(e,1),this.state=477,this.type(),this.state=478,this.match(B.ID)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}tcf(){let e=new Si(this,this._ctx,this.state);this.enterRule(e,84,B.RULE_tcf);var t=0;try{for(this.enterOuterAlt(e,1),this.state=480,this.tryBlock(),this.state=484,this._errHandler.sync(this),t=this._input.LA(1);t===50;)this.state=481,this.catchBlock(),this.state=486,this._errHandler.sync(this),t=this._input.LA(1);this.state=488,this._errHandler.sync(this),t=this._input.LA(1),t===51&&(this.state=487,this.finallyBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}tryBlock(){let e=new Ti(this,this._ctx,this.state);this.enterRule(e,86,B.RULE_tryBlock);try{this.enterOuterAlt(e,1),this.state=490,this.match(B.TRY),this.state=491,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}catchBlock(){let e=new jn(this,this._ctx,this.state);this.enterRule(e,88,B.RULE_catchBlock);var t=0;try{this.enterOuterAlt(e,1),this.state=493,this.match(B.CATCH),this.state=495,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=494,this.invocation()),this.state=497,this.braceBlock()}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}finallyBlock(){let e=new vi(this,this._ctx,this.state);this.enterRule(e,90,B.RULE_finallyBlock);try{this.enterOuterAlt(e,1),this.state=499,this.match(B.FINALLY),this.state=500,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}alt(){let e=new Ri(this,this._ctx,this.state);this.enterRule(e,92,B.RULE_alt);var t=0;try{this.enterOuterAlt(e,1),this.state=502,this.ifBlock(),this.state=506,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,77,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;)i===1&&(this.state=503,this.elseIfBlock()),this.state=508,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,77,this._ctx);this.state=510,this._errHandler.sync(this),t=this._input.LA(1),t===38&&(this.state=509,this.elseBlock())}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}ifBlock(){let e=new bi(this,this._ctx,this.state);this.enterRule(e,94,B.RULE_ifBlock);try{this.enterOuterAlt(e,1),this.state=512,this.match(B.IF),this.state=513,this.parExpr(),this.state=514,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}elseIfBlock(){let e=new Xn(this,this._ctx,this.state);this.enterRule(e,96,B.RULE_elseIfBlock);try{this.enterOuterAlt(e,1),this.state=516,this.match(B.ELSE),this.state=517,this.match(B.IF),this.state=518,this.parExpr(),this.state=519,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}elseBlock(){let e=new xi(this,this._ctx,this.state);this.enterRule(e,98,B.RULE_elseBlock);try{this.enterOuterAlt(e,1),this.state=521,this.match(B.ELSE),this.state=522,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}braceBlock(){let e=new $e(this,this._ctx,this.state);this.enterRule(e,100,B.RULE_braceBlock);var t=0;try{this.enterOuterAlt(e,1),this.state=524,this.match(B.OBRACE),this.state=526,this._errHandler.sync(this),t=this._input.LA(1),((t-32&-32)==0&&(1<<t-32&2118318013)!==0||t===65||t===66)&&(this.state=525,this.block()),this.state=528,this.match(B.CBRACE)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}loop(){let e=new wi(this,this._ctx,this.state);this.enterRule(e,102,B.RULE_loop);try{this.state=537,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,80,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=530,this.match(B.WHILE),this.state=531,this.parExpr(),this.state=532,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=534,this.match(B.WHILE),this.state=535,this.parExpr();break;case 3:this.enterOuterAlt(e,3),this.state=536,this.match(B.WHILE);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}expr(e){e===void 0&&(e=0);const t=this._ctx,i=this.state;let s=new $2(this,this._ctx,i),l=s;const c=104;this.enterRecursionRule(s,104,B.RULE_expr,e);var d=0;try{this.enterOuterAlt(s,1),this.state=559,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,82,this._ctx);switch(L){case 1:s=new Qd(this,s),this._ctx=s,l=s,this.state=540,this.atom();break;case 2:s=new nL(this,s),this._ctx=s,l=s,this.state=541,this.match(B.MINUS),this.state=542,this.expr(13);break;case 3:s=new tL(this,s),this._ctx=s,l=s,this.state=543,this.match(B.NOT),this.state=544,this.expr(12);break;case 4:s=new Kd(this,s),this._ctx=s,l=s,this.state=548,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,81,this._ctx);L===1&&(this.state=545,this.to(),this.state=546,this.match(B.DOT)),this.state=550,this.func();break;case 5:s=new iL(this,s),this._ctx=s,l=s,this.state=551,this.creation();break;case 6:s=new rL(this,s),this._ctx=s,l=s,this.state=552,this.match(B.OPAR),this.state=553,this.expr(0),this.state=554,this.match(B.CPAR);break;case 7:s=new $d(this,s),this._ctx=s,l=s,this.state=556,this.assignment(),this.state=557,this.expr(1);break}this._ctx.stop=this._input.LT(-1),this.state=584,this._errHandler.sync(this);for(var _=this._interp.adaptivePredict(this._input,84,this._ctx);_!=2&&_!=Q.atn.ATN.INVALID_ALT_NUMBER;){if(_===1){this._parseListeners!==null&&this.triggerExitRuleEvent(),l=s,this.state=582,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,83,this._ctx);switch(L){case 1:if(s=new aL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=561,!this.precpred(this._ctx,11))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 11)");this.state=562,s.op=this._input.LT(1),d=this._input.LA(1),(d&-32)==0&&(1<<d&29360128)!==0?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=563,this.expr(12);break;case 2:if(s=new Xd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=564,!this.precpred(this._ctx,10))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=565,s.op=this._input.LT(1),d=this._input.LA(1),d===20||d===21?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=566,this.expr(11);break;case 3:if(s=new Jd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=567,!this.precpred(this._ctx,9))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 9)");this.state=568,s.op=this._input.LT(1),d=this._input.LA(1),(d&-32)==0&&(1<<d&983040)!==0?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=569,this.expr(10);break;case 4:if(s=new sL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=570,!this.precpred(this._ctx,8))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 8)");this.state=571,s.op=this._input.LT(1),d=this._input.LA(1),d===14||d===15?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=572,this.expr(9);break;case 5:if(s=new oL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=573,!this.precpred(this._ctx,7))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 7)");this.state=574,this.match(B.AND),this.state=575,this.expr(8);break;case 6:if(s=new jd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=576,!this.precpred(this._ctx,6))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 6)");this.state=577,this.match(B.OR),this.state=578,this.expr(7);break;case 7:if(s=new eL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=579,!this.precpred(this._ctx,5))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 5)");this.state=580,this.match(B.PLUS),this.state=581,this.expr(6);break}}this.state=586,this._errHandler.sync(this),_=this._interp.adaptivePredict(this._input,84,this._ctx)}}catch(p){if(p instanceof Q.error.RecognitionException)s.exception=p,this._errHandler.reportError(this,p),this._errHandler.recover(this,p);else throw p}finally{this.unrollRecursionContexts(t)}return s}atom(){let e=new r3(this,this._ctx,this.state);this.enterRule(e,106,B.RULE_atom);var t=0;try{switch(this.state=594,this._errHandler.sync(this),this._input.LA(1)){case 58:case 59:e=new CL(this,e),this.enterOuterAlt(e,1),this.state=587,t=this._input.LA(1),t===58||t===59?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this);break;case 61:e=new _L(this,e),this.enterOuterAlt(e,2),this.state=588,this.match(B.NUMBER_UNIT);break;case 60:e=new uL(this,e),this.enterOuterAlt(e,3),this.state=589,this.match(B.MONEY);break;case 34:case 35:e=new lL(this,e),this.enterOuterAlt(e,4),this.state=590,t=this._input.LA(1),t===34||t===35?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this);break;case 57:e=new cL(this,e),this.enterOuterAlt(e,5),this.state=591,this.match(B.ID);break;case 62:e=new dL(this,e),this.enterOuterAlt(e,6),this.state=592,this.match(B.STRING);break;case 36:e=new LL(this,e),this.enterOuterAlt(e,7),this.state=593,this.match(B.NIL);break;default:throw new Q.error.NoViableAltException(this)}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}parExpr(){let e=new Q0(this,this._ctx,this.state);this.enterRule(e,108,B.RULE_parExpr);try{this.state=605,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,86,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=596,this.match(B.OPAR),this.state=597,this.condition(),this.state=598,this.match(B.CPAR);break;case 2:this.enterOuterAlt(e,2),this.state=600,this.match(B.OPAR),this.state=601,this.condition();break;case 3:this.enterOuterAlt(e,3),this.state=602,this.match(B.OPAR),this.state=603,this.match(B.CPAR);break;case 4:this.enterOuterAlt(e,4),this.state=604,this.match(B.OPAR);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}condition(){let e=new Mi(this,this._ctx,this.state);this.enterRule(e,110,B.RULE_condition);try{this.state=610,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,87,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=607,this.atom();break;case 2:this.enterOuterAlt(e,2),this.state=608,this.expr(0);break;case 3:this.enterOuterAlt(e,3),this.state=609,this.inExpr();break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}inExpr(){let e=new Ai(this,this._ctx,this.state);this.enterRule(e,112,B.RULE_inExpr);try{this.enterOuterAlt(e,1),this.state=612,this.match(B.ID),this.state=613,this.match(B.IN),this.state=614,this.match(B.ID)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}};h2(B,"grammarFileName","java-escape"),h2(B,"literalNames",[null,null,"'const'","'readonly'","'static'","'await'","'title'","':'","'<<'","'>>'","'->'",null,"'||'","'&&'","'=='","'!='","'>'","'<'","'>='","'<='","'+'","'-'","'*'","'/'","'%'","'^'","'!'","';'","','","'='","'('","')'","'{'","'}'","'true'","'false'",null,"'if'","'else'",null,"'return'","'new'","'par'","'group'","'opt'","'critical'",null,"'ref'","'as'","'try'","'catch'","'finally'","'in'",null,null,null,"'.'"]),h2(B,"symbolicNames",[null,"WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),h2(B,"ruleNames",["prog","title","head","group","starterExp","starter","participant","stereotype","label","participantType","name","width","block","ret","divider","dividerNote","stat","par","opt","critical","section","creation","ref","creationBody","message","messageBody","func","from","to","signature","invocation","assignment","asyncMessage","content","construct","type","assignee","methodName","parameters","parameter","namedParameter","declaration","tcf","tryBlock","catchBlock","finallyBlock","alt","ifBlock","elseIfBlock","elseBlock","braceBlock","loop","expr","atom","parExpr","condition","inExpr"]);let S=B;S.EOF=Q.Token.EOF,S.WS=1,S.CONSTANT=2,S.READONLY=3,S.STATIC=4,S.AWAIT=5,S.TITLE=6,S.COL=7,S.SOPEN=8,S.SCLOSE=9,S.ARROW=10,S.COLOR=11,S.OR=12,S.AND=13,S.EQ=14,S.NEQ=15,S.GT=16,S.LT=17,S.GTEQ=18,S.LTEQ=19,S.PLUS=20,S.MINUS=21,S.MULT=22,S.DIV=23,S.MOD=24,S.POW=25,S.NOT=26,S.SCOL=27,S.COMMA=28,S.ASSIGN=29,S.OPAR=30,S.CPAR=31,S.OBRACE=32,S.CBRACE=33,S.TRUE=34,S.FALSE=35,S.NIL=36,S.IF=37,S.ELSE=38,S.WHILE=39,S.RETURN=40,S.NEW=41,S.PAR=42,S.GROUP=43,S.OPT=44,S.CRITICAL=45,S.SECTION=46,S.REF=47,S.AS=48,S.TRY=49,S.CATCH=50,S.FINALLY=51,S.IN=52,S.STARTER_LXR=53,S.ANNOTATION_RET=54,S.ANNOTATION=55,S.DOT=56,S.ID=57,S.INT=58,S.FLOAT=59,S.MONEY=60,S.NUMBER_UNIT=61,S.STRING=62,S.CR=63,S.COMMENT=64,S.OTHER=65,S.DIVIDER=66,S.EVENT_PAYLOAD_LXR=67,S.EVENT_END=68,S.TITLE_CONTENT=69,S.TITLE_END=70,S.RULE_prog=0,S.RULE_title=1,S.RULE_head=2,S.RULE_group=3,S.RULE_starterExp=4,S.RULE_starter=5,S.RULE_participant=6,S.RULE_stereotype=7,S.RULE_label=8,S.RULE_participantType=9,S.RULE_name=10,S.RULE_width=11,S.RULE_block=12,S.RULE_ret=13,S.RULE_divider=14,S.RULE_dividerNote=15,S.RULE_stat=16,S.RULE_par=17,S.RULE_opt=18,S.RULE_critical=19,S.RULE_section=20,S.RULE_creation=21,S.RULE_ref=22,S.RULE_creationBody=23,S.RULE_message=24,S.RULE_messageBody=25,S.RULE_func=26,S.RULE_from=27,S.RULE_to=28,S.RULE_signature=29,S.RULE_invocation=30,S.RULE_assignment=31,S.RULE_asyncMessage=32,S.RULE_content=33,S.RULE_construct=34,S.RULE_type=35,S.RULE_assignee=36,S.RULE_methodName=37,S.RULE_parameters=38,S.RULE_parameter=39,S.RULE_namedParameter=40,S.RULE_declaration=41,S.RULE_tcf=42,S.RULE_tryBlock=43,S.RULE_catchBlock=44,S.RULE_finallyBlock=45,S.RULE_alt=46,S.RULE_ifBlock=47,S.RULE_elseIfBlock=48,S.RULE_elseBlock=49,S.RULE_braceBlock=50,S.RULE_loop=51,S.RULE_expr=52,S.RULE_atom=53,S.RULE_parExpr=54,S.RULE_condition=55,S.RULE_inExpr=56;let Wd=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_prog}EOF(){return this.getToken(S.EOF,0)}title(){return this.getTypedRuleContext(Q7,0)}head(){return this.getTypedRuleContext(j7,0)}block(){return this.getTypedRuleContext(Bn,0)}enterRule(e){e instanceof X&&e.enterProg(this)}exitRule(e){e instanceof X&&e.exitProg(this)}},Q7=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_title}TITLE(){return this.getToken(S.TITLE,0)}TITLE_CONTENT(){return this.getToken(S.TITLE_CONTENT,0)}TITLE_END(){return this.getToken(S.TITLE_END,0)}enterRule(e){e instanceof X&&e.enterTitle(this)}exitRule(e){e instanceof X&&e.exitTitle(this)}};class j7 extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"group",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Zn):this.getTypedRuleContext(Zn,t)});h2(this,"participant",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(G9):this.getTypedRuleContext(G9,t)});this.parser=t,this.ruleIndex=S.RULE_head}starterExp(){return this.getTypedRuleContext(X7,0)}enterRule(t){t instanceof X&&t.enterHead(this)}exitRule(t){t instanceof X&&t.exitHead(this)}}let Zn=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"participant",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(G9):this.getTypedRuleContext(G9,t)});this.parser=t,this.ruleIndex=S.RULE_group}GROUP(){return this.getToken(S.GROUP,0)}OBRACE(){return this.getToken(S.OBRACE,0)}CBRACE(){return this.getToken(S.CBRACE,0)}name(){return this.getTypedRuleContext(Lt,0)}enterRule(t){t instanceof X&&t.enterGroup(this)}exitRule(t){t instanceof X&&t.exitGroup(this)}};class X7 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_starterExp}STARTER_LXR(){return this.getToken(S.STARTER_LXR,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}starter(){return this.getTypedRuleContext(J7,0)}ANNOTATION(){return this.getToken(S.ANNOTATION,0)}enterRule(e){e instanceof X&&e.enterStarterExp(this)}exitRule(e){e instanceof X&&e.exitStarterExp(this)}}class J7 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_starter}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterStarter(this)}exitRule(e){e instanceof X&&e.exitStarter(this)}}let G9=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_participant}name(){return this.getTypedRuleContext(Lt,0)}participantType(){return this.getTypedRuleContext(ni,0)}stereotype(){return this.getTypedRuleContext(ei,0)}width(){return this.getTypedRuleContext(ii,0)}label(){return this.getTypedRuleContext(ti,0)}COLOR(){return this.getToken(S.COLOR,0)}enterRule(e){e instanceof X&&e.enterParticipant(this)}exitRule(e){e instanceof X&&e.exitParticipant(this)}};class ei extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_stereotype}SOPEN(){return this.getToken(S.SOPEN,0)}name(){return this.getTypedRuleContext(Lt,0)}SCLOSE(){return this.getToken(S.SCLOSE,0)}GT(){return this.getToken(S.GT,0)}LT(){return this.getToken(S.LT,0)}enterRule(e){e instanceof X&&e.enterStereotype(this)}exitRule(e){e instanceof X&&e.exitStereotype(this)}}class ti extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_label}AS(){return this.getToken(S.AS,0)}name(){return this.getTypedRuleContext(Lt,0)}enterRule(e){e instanceof X&&e.enterLabel(this)}exitRule(e){e instanceof X&&e.exitLabel(this)}}class ni extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_participantType}ANNOTATION(){return this.getToken(S.ANNOTATION,0)}enterRule(e){e instanceof X&&e.enterParticipantType(this)}exitRule(e){e instanceof X&&e.exitParticipantType(this)}}class Lt extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_name}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterName(this)}exitRule(e){e instanceof X&&e.exitName(this)}}class ii extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_width}INT(){return this.getToken(S.INT,0)}enterRule(e){e instanceof X&&e.enterWidth(this)}exitRule(e){e instanceof X&&e.exitWidth(this)}}class Bn extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"stat",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Gn):this.getTypedRuleContext(Gn,t)});this.parser=t,this.ruleIndex=S.RULE_block}enterRule(t){t instanceof X&&t.enterBlock(this)}exitRule(t){t instanceof X&&t.exitBlock(this)}}let ri=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_ret}RETURN(){return this.getToken(S.RETURN,0)}expr(){return this.getTypedRuleContext($2,0)}SCOL(){return this.getToken(S.SCOL,0)}ANNOTATION_RET(){return this.getToken(S.ANNOTATION_RET,0)}asyncMessage(){return this.getTypedRuleContext(Wn,0)}EVENT_END(){return this.getToken(S.EVENT_END,0)}enterRule(e){e instanceof X&&e.enterRet(this)}exitRule(e){e instanceof X&&e.exitRet(this)}},ai=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_divider}dividerNote(){return this.getTypedRuleContext(si,0)}enterRule(e){e instanceof X&&e.enterDivider(this)}exitRule(e){e instanceof X&&e.exitDivider(this)}};class si extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_dividerNote}DIVIDER(){return this.getToken(S.DIVIDER,0)}enterRule(e){e instanceof X&&e.enterDividerNote(this)}exitRule(e){e instanceof X&&e.exitDividerNote(this)}}let Gn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_stat,this._OTHER=null}alt(){return this.getTypedRuleContext(Ri,0)}par(){return this.getTypedRuleContext(oi,0)}opt(){return this.getTypedRuleContext(li,0)}critical(){return this.getTypedRuleContext(ci,0)}section(){return this.getTypedRuleContext(ui,0)}ref(){return this.getTypedRuleContext(di,0)}loop(){return this.getTypedRuleContext(wi,0)}creation(){return this.getTypedRuleContext(zn,0)}message(){return this.getTypedRuleContext(Ci,0)}asyncMessage(){return this.getTypedRuleContext(Wn,0)}EVENT_END(){return this.getToken(S.EVENT_END,0)}ret(){return this.getTypedRuleContext(ri,0)}divider(){return this.getTypedRuleContext(ai,0)}tcf(){return this.getTypedRuleContext(Si,0)}OTHER(){return this.getToken(S.OTHER,0)}enterRule(e){e instanceof X&&e.enterStat(this)}exitRule(e){e instanceof X&&e.exitStat(this)}};class oi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_par}PAR(){return this.getToken(S.PAR,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterPar(this)}exitRule(e){e instanceof X&&e.exitPar(this)}}class li extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_opt}OPT(){return this.getToken(S.OPT,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterOpt(this)}exitRule(e){e instanceof X&&e.exitOpt(this)}}class ci extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_critical}CRITICAL(){return this.getToken(S.CRITICAL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterCritical(this)}exitRule(e){e instanceof X&&e.exitCritical(this)}}class ui extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_section}SECTION(){return this.getToken(S.SECTION,0)}braceBlock(){return this.getTypedRuleContext($e,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterSection(this)}exitRule(e){e instanceof X&&e.exitSection(this)}}let zn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_creation}creationBody(){return this.getTypedRuleContext(Li,0)}SCOL(){return this.getToken(S.SCOL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterCreation(this)}exitRule(e){e instanceof X&&e.exitCreation(this)}},di=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"name",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Lt):this.getTypedRuleContext(Lt,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_ref}REF(){return this.getToken(S.REF,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}SCOL(){return this.getToken(S.SCOL,0)}enterRule(t){t instanceof X&&t.enterRef(this)}exitRule(t){t instanceof X&&t.exitRef(this)}};class Li extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_creationBody}NEW(){return this.getToken(S.NEW,0)}construct(){return this.getTypedRuleContext(pi,0)}assignment(){return this.getTypedRuleContext(K0,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}parameters(){return this.getTypedRuleContext(Kn,0)}enterRule(e){e instanceof X&&e.enterCreationBody(this)}exitRule(e){e instanceof X&&e.exitCreationBody(this)}}let Ci=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_message}messageBody(){return this.getTypedRuleContext(_i,0)}SCOL(){return this.getToken(S.SCOL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterMessage(this)}exitRule(e){e instanceof X&&e.exitMessage(this)}};class _i extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_messageBody}func(){return this.getTypedRuleContext(Hn,0)}assignment(){return this.getTypedRuleContext(K0,0)}to(){return this.getTypedRuleContext($0,0)}DOT(){return this.getToken(S.DOT,0)}from(){return this.getTypedRuleContext(Yn,0)}ARROW(){return this.getToken(S.ARROW,0)}enterRule(e){e instanceof X&&e.enterMessageBody(this)}exitRule(e){e instanceof X&&e.exitMessageBody(this)}}class Hn extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"signature",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Vn):this.getTypedRuleContext(Vn,t)});h2(this,"DOT",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.DOT):this.getToken(S.DOT,t)});this.parser=t,this.ruleIndex=S.RULE_func}enterRule(t){t instanceof X&&t.enterFunc(this)}exitRule(t){t instanceof X&&t.exitFunc(this)}}class Yn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_from}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterFrom(this)}exitRule(e){e instanceof X&&e.exitFrom(this)}}class $0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_to}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterTo(this)}exitRule(e){e instanceof X&&e.exitTo(this)}}class Vn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_signature}methodName(){return this.getTypedRuleContext(hi,0)}invocation(){return this.getTypedRuleContext(qn,0)}enterRule(e){e instanceof X&&e.enterSignature(this)}exitRule(e){e instanceof X&&e.exitSignature(this)}}class qn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_invocation}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}parameters(){return this.getTypedRuleContext(Kn,0)}enterRule(e){e instanceof X&&e.enterInvocation(this)}exitRule(e){e instanceof X&&e.exitInvocation(this)}}class K0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_assignment}assignee(){return this.getTypedRuleContext(mi,0)}ASSIGN(){return this.getToken(S.ASSIGN,0)}type(){return this.getTypedRuleContext($n,0)}enterRule(e){e instanceof X&&e.enterAssignment(this)}exitRule(e){e instanceof X&&e.exitAssignment(this)}}let Wn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_asyncMessage}to(){return this.getTypedRuleContext($0,0)}COL(){return this.getToken(S.COL,0)}from(){return this.getTypedRuleContext(Yn,0)}ARROW(){return this.getToken(S.ARROW,0)}content(){return this.getTypedRuleContext(gi,0)}MINUS(){return this.getToken(S.MINUS,0)}enterRule(e){e instanceof X&&e.enterAsyncMessage(this)}exitRule(e){e instanceof X&&e.exitAsyncMessage(this)}};class gi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_content}EVENT_PAYLOAD_LXR(){return this.getToken(S.EVENT_PAYLOAD_LXR,0)}enterRule(e){e instanceof X&&e.enterContent(this)}exitRule(e){e instanceof X&&e.exitContent(this)}}class pi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_construct}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterConstruct(this)}exitRule(e){e instanceof X&&e.exitConstruct(this)}}class $n extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_type}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterType(this)}exitRule(e){e instanceof X&&e.exitType(this)}}class mi extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"ID",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.ID):this.getToken(S.ID,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_assignee}atom(){return this.getTypedRuleContext(r3,0)}STRING(){return this.getToken(S.STRING,0)}NEW(){return this.getToken(S.NEW,0)}enterRule(t){t instanceof X&&t.enterAssignee(this)}exitRule(t){t instanceof X&&t.exitAssignee(this)}}class hi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_methodName}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterMethodName(this)}exitRule(e){e instanceof X&&e.exitMethodName(this)}}let Kn=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"parameter",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Qn):this.getTypedRuleContext(Qn,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_parameters}enterRule(t){t instanceof X&&t.enterParameters(this)}exitRule(t){t instanceof X&&t.exitParameters(this)}};class Qn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_parameter}namedParameter(){return this.getTypedRuleContext(fi,0)}declaration(){return this.getTypedRuleContext(Ei,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterParameter(this)}exitRule(e){e instanceof X&&e.exitParameter(this)}}class fi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_namedParameter}ID(){return this.getToken(S.ID,0)}ASSIGN(){return this.getToken(S.ASSIGN,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterNamedParameter(this)}exitRule(e){e instanceof X&&e.exitNamedParameter(this)}}class Ei extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_declaration}type(){return this.getTypedRuleContext($n,0)}ID(){return this.getToken(S.ID,0)}enterRule(e){e instanceof X&&e.enterDeclaration(this)}exitRule(e){e instanceof X&&e.exitDeclaration(this)}}class Si extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"catchBlock",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(jn):this.getTypedRuleContext(jn,t)});this.parser=t,this.ruleIndex=S.RULE_tcf}tryBlock(){return this.getTypedRuleContext(Ti,0)}finallyBlock(){return this.getTypedRuleContext(vi,0)}enterRule(t){t instanceof X&&t.enterTcf(this)}exitRule(t){t instanceof X&&t.exitTcf(this)}}class Ti extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_tryBlock}TRY(){return this.getToken(S.TRY,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterTryBlock(this)}exitRule(e){e instanceof X&&e.exitTryBlock(this)}}class jn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_catchBlock}CATCH(){return this.getToken(S.CATCH,0)}braceBlock(){return this.getTypedRuleContext($e,0)}invocation(){return this.getTypedRuleContext(qn,0)}enterRule(e){e instanceof X&&e.enterCatchBlock(this)}exitRule(e){e instanceof X&&e.exitCatchBlock(this)}}class vi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_finallyBlock}FINALLY(){return this.getToken(S.FINALLY,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterFinallyBlock(this)}exitRule(e){e instanceof X&&e.exitFinallyBlock(this)}}class Ri extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"elseIfBlock",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Xn):this.getTypedRuleContext(Xn,t)});this.parser=t,this.ruleIndex=S.RULE_alt}ifBlock(){return this.getTypedRuleContext(bi,0)}elseBlock(){return this.getTypedRuleContext(xi,0)}enterRule(t){t instanceof X&&t.enterAlt(this)}exitRule(t){t instanceof X&&t.exitAlt(this)}}let bi=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_ifBlock}IF(){return this.getToken(S.IF,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterIfBlock(this)}exitRule(e){e instanceof X&&e.exitIfBlock(this)}};class Xn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_elseIfBlock}ELSE(){return this.getToken(S.ELSE,0)}IF(){return this.getToken(S.IF,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterElseIfBlock(this)}exitRule(e){e instanceof X&&e.exitElseIfBlock(this)}}class xi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_elseBlock}ELSE(){return this.getToken(S.ELSE,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterElseBlock(this)}exitRule(e){e instanceof X&&e.exitElseBlock(this)}}class $e extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_braceBlock}OBRACE(){return this.getToken(S.OBRACE,0)}CBRACE(){return this.getToken(S.CBRACE,0)}block(){return this.getTypedRuleContext(Bn,0)}enterRule(e){e instanceof X&&e.enterBraceBlock(this)}exitRule(e){e instanceof X&&e.exitBraceBlock(this)}}let wi=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_loop}WHILE(){return this.getToken(S.WHILE,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterLoop(this)}exitRule(e){e instanceof X&&e.exitLoop(this)}};class $2 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_expr}copyFrom(e){super.copyFrom(e)}}class $d extends $2{constructor(e,t){super(e),super.copyFrom(t)}assignment(){return this.getTypedRuleContext(K0,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterAssignmentExpr(this)}exitRule(e){e instanceof X&&e.exitAssignmentExpr(this)}}S.AssignmentExprContext=$d;class Kd extends $2{constructor(e,t){super(e),super.copyFrom(t)}func(){return this.getTypedRuleContext(Hn,0)}to(){return this.getTypedRuleContext($0,0)}DOT(){return this.getToken(S.DOT,0)}enterRule(e){e instanceof X&&e.enterFuncExpr(this)}exitRule(e){e instanceof X&&e.exitFuncExpr(this)}}S.FuncExprContext=Kd;class Qd extends $2{constructor(e,t){super(e),super.copyFrom(t)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterAtomExpr(this)}exitRule(e){e instanceof X&&e.exitAtomExpr(this)}}S.AtomExprContext=Qd;class jd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}OR(){return this.getToken(S.OR,0)}enterRule(t){t instanceof X&&t.enterOrExpr(this)}exitRule(t){t instanceof X&&t.exitOrExpr(this)}}S.OrExprContext=jd;class Xd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}enterRule(t){t instanceof X&&t.enterAdditiveExpr(this)}exitRule(t){t instanceof X&&t.exitAdditiveExpr(this)}}S.AdditiveExprContext=Xd;class Jd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}LTEQ(){return this.getToken(S.LTEQ,0)}GTEQ(){return this.getToken(S.GTEQ,0)}LT(){return this.getToken(S.LT,0)}GT(){return this.getToken(S.GT,0)}enterRule(t){t instanceof X&&t.enterRelationalExpr(this)}exitRule(t){t instanceof X&&t.exitRelationalExpr(this)}}S.RelationalExprContext=Jd;class eL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}PLUS(){return this.getToken(S.PLUS,0)}enterRule(t){t instanceof X&&t.enterPlusExpr(this)}exitRule(t){t instanceof X&&t.exitPlusExpr(this)}}S.PlusExprContext=eL;class tL extends $2{constructor(e,t){super(e),super.copyFrom(t)}NOT(){return this.getToken(S.NOT,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterNotExpr(this)}exitRule(e){e instanceof X&&e.exitNotExpr(this)}}S.NotExprContext=tL;class nL extends $2{constructor(e,t){super(e),super.copyFrom(t)}MINUS(){return this.getToken(S.MINUS,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterUnaryMinusExpr(this)}exitRule(e){e instanceof X&&e.exitUnaryMinusExpr(this)}}S.UnaryMinusExprContext=nL;class iL extends $2{constructor(e,t){super(e),super.copyFrom(t)}creation(){return this.getTypedRuleContext(zn,0)}enterRule(e){e instanceof X&&e.enterCreationExpr(this)}exitRule(e){e instanceof X&&e.exitCreationExpr(this)}}S.CreationExprContext=iL;class rL extends $2{constructor(e,t){super(e),super.copyFrom(t)}OPAR(){return this.getToken(S.OPAR,0)}expr(){return this.getTypedRuleContext($2,0)}CPAR(){return this.getToken(S.CPAR,0)}enterRule(e){e instanceof X&&e.enterParenthesizedExpr(this)}exitRule(e){e instanceof X&&e.exitParenthesizedExpr(this)}}S.ParenthesizedExprContext=rL;class aL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}MULT(){return this.getToken(S.MULT,0)}DIV(){return this.getToken(S.DIV,0)}MOD(){return this.getToken(S.MOD,0)}enterRule(t){t instanceof X&&t.enterMultiplicationExpr(this)}exitRule(t){t instanceof X&&t.exitMultiplicationExpr(this)}}S.MultiplicationExprContext=aL;class sL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}EQ(){return this.getToken(S.EQ,0)}NEQ(){return this.getToken(S.NEQ,0)}enterRule(t){t instanceof X&&t.enterEqualityExpr(this)}exitRule(t){t instanceof X&&t.exitEqualityExpr(this)}}S.EqualityExprContext=sL;class oL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}AND(){return this.getToken(S.AND,0)}enterRule(t){t instanceof X&&t.enterAndExpr(this)}exitRule(t){t instanceof X&&t.exitAndExpr(this)}}S.AndExprContext=oL;class r3 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_atom}copyFrom(e){super.copyFrom(e)}}class lL extends r3{constructor(e,t){super(e),super.copyFrom(t)}TRUE(){return this.getToken(S.TRUE,0)}FALSE(){return this.getToken(S.FALSE,0)}enterRule(e){e instanceof X&&e.enterBooleanAtom(this)}exitRule(e){e instanceof X&&e.exitBooleanAtom(this)}}S.BooleanAtomContext=lL;class cL extends r3{constructor(e,t){super(e),super.copyFrom(t)}ID(){return this.getToken(S.ID,0)}enterRule(e){e instanceof X&&e.enterIdAtom(this)}exitRule(e){e instanceof X&&e.exitIdAtom(this)}}S.IdAtomContext=cL;class uL extends r3{constructor(e,t){super(e),super.copyFrom(t)}MONEY(){return this.getToken(S.MONEY,0)}enterRule(e){e instanceof X&&e.enterMoneyAtom(this)}exitRule(e){e instanceof X&&e.exitMoneyAtom(this)}}S.MoneyAtomContext=uL;class dL extends r3{constructor(e,t){super(e),super.copyFrom(t)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterStringAtom(this)}exitRule(e){e instanceof X&&e.exitStringAtom(this)}}S.StringAtomContext=dL;class LL extends r3{constructor(e,t){super(e),super.copyFrom(t)}NIL(){return this.getToken(S.NIL,0)}enterRule(e){e instanceof X&&e.enterNilAtom(this)}exitRule(e){e instanceof X&&e.exitNilAtom(this)}}S.NilAtomContext=LL;class CL extends r3{constructor(e,t){super(e),super.copyFrom(t)}INT(){return this.getToken(S.INT,0)}FLOAT(){return this.getToken(S.FLOAT,0)}enterRule(e){e instanceof X&&e.enterNumberAtom(this)}exitRule(e){e instanceof X&&e.exitNumberAtom(this)}}S.NumberAtomContext=CL;class _L extends r3{constructor(e,t){super(e),super.copyFrom(t)}NUMBER_UNIT(){return this.getToken(S.NUMBER_UNIT,0)}enterRule(e){e instanceof X&&e.enterNumberUnitAtom(this)}exitRule(e){e instanceof X&&e.exitNumberUnitAtom(this)}}S.NumberUnitAtomContext=_L;class Q0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_parExpr}OPAR(){return this.getToken(S.OPAR,0)}condition(){return this.getTypedRuleContext(Mi,0)}CPAR(){return this.getToken(S.CPAR,0)}enterRule(e){e instanceof X&&e.enterParExpr(this)}exitRule(e){e instanceof X&&e.exitParExpr(this)}}class Mi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_condition}atom(){return this.getTypedRuleContext(r3,0)}expr(){return this.getTypedRuleContext($2,0)}inExpr(){return this.getTypedRuleContext(Ai,0)}enterRule(e){e instanceof X&&e.enterCondition(this)}exitRule(e){e instanceof X&&e.exitCondition(this)}}class Ai extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"ID",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.ID):this.getToken(S.ID,t)});this.parser=t,this.ruleIndex=S.RULE_inExpr}IN(){return this.getToken(S.IN,0)}enterRule(t){t instanceof X&&t.enterInExpr(this)}exitRule(t){t instanceof X&&t.exitInExpr(this)}}S.ProgContext=Wd,S.TitleContext=Q7,S.HeadContext=j7,S.GroupContext=Zn,S.StarterExpContext=X7,S.StarterContext=J7,S.ParticipantContext=G9,S.StereotypeContext=ei,S.LabelContext=ti,S.ParticipantTypeContext=ni,S.NameContext=Lt,S.WidthContext=ii,S.BlockContext=Bn,S.RetContext=ri,S.DividerContext=ai,S.DividerNoteContext=si,S.StatContext=Gn,S.ParContext=oi,S.OptContext=li,S.CriticalContext=ci,S.SectionContext=ui,S.CreationContext=zn,S.RefContext=di,S.CreationBodyContext=Li,S.MessageContext=Ci,S.MessageBodyContext=_i,S.FuncContext=Hn,S.FromContext=Yn,S.ToContext=$0,S.SignatureContext=Vn,S.InvocationContext=qn,S.AssignmentContext=K0,S.AsyncMessageContext=Wn,S.ContentContext=gi,S.ConstructContext=pi,S.TypeContext=$n,S.AssigneeContext=mi,S.MethodNameContext=hi,S.ParametersContext=Kn,S.ParameterContext=Qn,S.NamedParameterContext=fi,S.DeclarationContext=Ei,S.TcfContext=Si,S.TryBlockContext=Ti,S.CatchBlockContext=jn,S.FinallyBlockContext=vi,S.AltContext=Ri,S.IfBlockContext=bi,S.ElseIfBlockContext=Xn,S.ElseBlockContext=xi,S.BraceBlockContext=$e,S.LoopContext=wi,S.ExprContext=$2,S.AtomContext=r3,S.ParExprContext=Q0,S.ConditionContext=Mi,S.InExprContext=Ai;const gL={name:"",color:void 0,comment:void 0,explicit:void 0,groupId:void 0,isStarter:void 0,label:void 0,stereotype:void 0,type:void 0,width:void 0,assignee:void 0,positions:new Set,assigneePositions:new Set};let ib=class{constructor(e,t){h2(this,"name");h2(this,"stereotype");h2(this,"width");h2(this,"groupId");h2(this,"explicit");h2(this,"isStarter");h2(this,"label");h2(this,"type");h2(this,"color");h2(this,"comment");h2(this,"assignee");h2(this,"positions",new Set);h2(this,"assigneePositions",new Set);this.name=e,this.mergeOptions(t)}mergeOptions(e){const{stereotype:t,width:i,groupId:s,label:l,explicit:c,isStarter:d,type:L,color:_,comment:p,assignee:m}=e;this.stereotype||(this.stereotype=t),this.width||(this.width=i),this.groupId||(this.groupId=s),this.explicit||(this.explicit=c),this.isStarter||(this.isStarter=d),this.label||(this.label=l),this.type||(this.type=L),this.color||(this.color=_),this.comment||(this.comment=p),this.assignee||(this.assignee=m)}AddPosition(e){this.positions.add(e)}ToValue(){return{name:this.name,stereotype:this.stereotype,width:this.width,groupId:this.groupId,explicit:this.explicit,isStarter:this.isStarter,label:this.label,type:this.type,color:this.color,comment:this.comment,assignee:this.assignee,positions:this.positions,assigneePositions:this.assigneePositions}}},rb=class{constructor(){h2(this,"participants",new Map)}Add(e,t={}){if(!e)throw new Error("Participant name is required");let i=this.Get(e);i?i==null||i.mergeOptions(t):(i=new ib(e,t),this.participants.set(e,i));const{position:s,assigneePosition:l}=t;s&&i.AddPosition(s),l&&i.assigneePositions.add(l)}ImplicitArray(){return this.Array().filter(e=>{var t;return!((t=this.Get(e.name))!=null&&t.explicit)})}Array(){return Array.from(this.participants.entries()).map(e=>e[1])}Names(){return Array.from(this.participants.keys())}First(){return this.participants.values().next().value}Get(e){return this.participants.get(e)}Size(){return this.participants.size}Starter(){for(const e of this.participants.values())if(e.isStarter)return e}GetPositions(e){var t;return(t=this.participants.get(e))==null?void 0:t.positions}GetAssigneePositions(e){var t;return(t=this.participants.get(e))==null?void 0:t.assigneePositions}},a3,i9=!1,yi;const De=new X,ab=function(n){var h,v,R,w,M,N;if(i9)return;const e=(h=n==null?void 0:n.participantType())==null?void 0:h.getFormattedText().replace("@",""),t=((v=n==null?void 0:n.name())==null?void 0:v.getFormattedText())||"Missing `Participant`",i=(w=(R=n.stereotype())==null?void 0:R.name())==null?void 0:w.getFormattedText(),s=n.width&&n.width()&&Number.parseInt(n.width().getText())||void 0,l=n.label&&n.label(),c=(M=l==null?void 0:l.name())==null?void 0:M.getFormattedText(),d=!0,L=(N=n.COLOR())==null?void 0:N.getText(),_=n.getComment(),p=n.name();let m,f;if(l){const D=l.name();D&&(m=D.start.start,f=D.stop.stop+1)}else p&&(m=p.start.start,f=p.stop.stop+1);a3.Add(t,{isStarter:!1,type:e,stereotype:i,width:s,groupId:yi,label:c,explicit:d,color:L,comment:_,position:[m,f]})};De.enterParticipant=ab;const pL=function(n){if(i9)return;let e=n.getFormattedText();const t=a3.Get(e);if(t!=null&&t.label)a3.Add(e,{isStarter:!1});else if(t!=null&&t.assignee){const s=[n.start.start+t.assignee.length+2,n.stop.stop],l=[n.start.start+1,n.start.start+t.assignee.length+1];a3.Add(e,{isStarter:!1,position:s,assigneePosition:l})}else a3.Add(e,{isStarter:!1,position:[n.start.start,n.stop.stop+1]})};De.enterFrom=pL,De.enterTo=pL,De.enterStarter=function(n){let e=n.getFormattedText();a3.Add(e,{isStarter:!0,position:[n.start.start,n.stop.stop+1]})},De.enterCreation=function(n){var s;if(i9)return;const e=n.Owner(),t=(s=n==null?void 0:n.creationBody())==null?void 0:s.construct(),i=a3.Get(e);if(t&&!(i!=null&&i.label)){const l=n.Assignee(),c=n.AssigneePosition();a3.Add(e,{isStarter:!1,position:[t.start.start,t.stop.stop+1],assignee:l,assigneePosition:c})}else a3.Add(e,{isStarter:!1})},De.enterRef=function(n){n.Participants().forEach(e=>{a3.Add(e.getText(),{isStarter:!1,position:[e.start.start,e.stop.stop+1]})})},De.enterParameters=function(){i9=!0},De.exitParameters=function(){i9=!1},De.enterCondition=function(){i9=!0},De.exitCondition=function(){i9=!1},De.enterGroup=function(n){var e;yi=(e=n.name())==null?void 0:e.getFormattedText()},De.exitGroup=function(){yi=void 0},De.enterRet=function(n){if(n.asyncMessage())return;const e=n.From();e&&a3.Add(e);const t=n.ReturnTo();t&&a3.Add(t)};const sb=Q.tree.ParseTreeWalker.DEFAULT;De.getParticipants=function(n){return a3=new rb,sb.walk(this,n),a3};const ob=Q.tree.ParseTreeWalker.DEFAULT;let Ke=new X,K1=0,ke=0;Ke.enterTcf=function(){K1++},Ke.enterOpt=function(){K1++},Ke.enterPar=function(){K1++},Ke.enterAlt=function(){K1++},Ke.enterLoop=function(){K1++},Ke.enterSection=function(){K1++},Ke.enterCritical=function(){K1++},Ke.exitTcf=function(){ke=Math.max(ke,K1),K1--},Ke.exitOpt=function(){ke=Math.max(ke,K1),K1--},Ke.exitPar=function(){ke=Math.max(ke,K1),K1--},Ke.exitAlt=function(){ke=Math.max(ke,K1),K1--},Ke.exitLoop=function(){ke=Math.max(ke,K1),K1--},Ke.exitSection=function(){ke=Math.max(ke,K1),K1--},Ke.exitCritical=function(){ke=Math.max(ke,K1),K1--},Ke.depth=function(n){return function(e){return K1=0,ke=0,e.children.map(function(t){ob.walk(n,t)}),ke}};const lb=S.TitleContext;lb.prototype.content=function(){return this.children.length<2?"":this.children[1].getText().trim()};const mL=S,Ni=mL.CreationContext;Ni.prototype.Body=Ni.prototype.creationBody,Ni.prototype.isCurrent=function(n){return hL.bind(this)(n)};const Oi=mL.MessageContext;Oi.prototype.Body=Oi.prototype.messageBody,Oi.prototype.isCurrent=function(n){return hL.bind(this)(n)};function hL(n){try{if(n==null)return!1;const e=this.start.start,t=this.Body().stop.stop+1;return n>=e&&n<=t}catch{return!1}}const Jn=S,z9=Jn.CreationContext,Ii=Jn.MessageContext,fL=Jn.AsyncMessageContext,EL=Jn.RetContext;z9.prototype.Assignee=function(){var n,e,t;return(t=(e=(n=this.creationBody())==null?void 0:n.assignment())==null?void 0:e.assignee())==null?void 0:t.getFormattedText()},z9.prototype.AssigneePosition=function(){var e,t;const n=(t=(e=this.creationBody())==null?void 0:e.assignment())==null?void 0:t.assignee();if(n)return[n.start.start,n.stop.stop+1]},z9.prototype.Constructor=function(){var n,e;return(e=(n=this.creationBody())==null?void 0:n.construct())==null?void 0:e.getFormattedText()},z9.prototype.To=function(){return this.Constructor()},z9.prototype.Owner=function(){if(!this.Constructor())return"Missing Constructor";const n=this.Assignee(),e=this.Constructor();return n?`${n}:${e}`:e},Ii.prototype.To=function(){var n,e;return(e=(n=this.messageBody())==null?void 0:n.to())==null?void 0:e.getFormattedText()},Ii.prototype.Owner=function(){return this.To()||Di(this.parentCtx)};function Di(n){for(;n;){if(n instanceof z9||n instanceof Ii)return n.Owner();n=n.parentCtx}}fL.prototype.To=function(){var n;return(n=this.to())==null?void 0:n.getFormattedText()},fL.prototype.Owner=function(){return this.To()||Di(this.parentCtx)},EL.prototype.To=function(){return this.ReturnTo()},EL.prototype.Owner=function(){return this.To()||Di(this.parentCtx)};const cb=S.ProgContext;cb.prototype.Starter=function(){var n,e,t;return(t=(e=(n=this.head())==null?void 0:n.starterExp())==null?void 0:e.starter())==null?void 0:t.getFormattedText()};const e8=S,ub=e8.RetContext,SL=e8.ProgContext,TL=e8.MessageContext,db=e8.CreationContext;ub.prototype.ReturnTo=function(){var i,s;const t=this.parentCtx.parentCtx.parentCtx;if(t instanceof SL)return t.Starter();{let l=t;for(;l&&!(l instanceof TL)&&!(l instanceof db);){if(l instanceof SL)return l.Starter();l=l.parentCtx}return l instanceof TL&&((s=(i=l.messageBody())==null?void 0:i.from())==null?void 0:s.getFormattedText())||l.ClosestAncestorStat().Origin()}};const vL=S.RefContext;vL.prototype.Content=function(){return this.name()[0]},vL.prototype.Participants=function(){return this.name().slice(1)??[]};const Lb=Q.ParserRuleContext,RL=S.StatContext,ki=S.ProgContext,Cb=S.MessageContext,_b=S.CreationContext;Lb.prototype.Origin=function(){let n=this.parentCtx;for(;n&&!(n instanceof RL||n instanceof ki);)n=this.parentCtx;return n.Origin()},RL.prototype.Origin=function(){let n=this.parentCtx;for(;n;){if(n instanceof ki)return n.Starter();if(n instanceof Cb||n instanceof _b){const e=n.Owner();if(e)return e}n=n.parentCtx}},ki.prototype.Origin=function(){return this.Starter()};const gb=S.DividerContext;gb.prototype.Note=function(){var e;const n=(e=this.dividerNote())==null?void 0:e.getFormattedText().trim();if(!n.startsWith("=="))throw new Error("Divider note must start with ==");return n==null?void 0:n.replace(/^=+|=+$/g,"")};function pb(n){var e,t,i;if((e=n.namedParameter)!=null&&e.call(n)){const s=n.namedParameter();if(s){const l=s.expr(),c=l?l.getFormattedText():"";return`${s.ID().getText()}=${c}`}}if((t=n.declaration)!=null&&t.call(n)){const s=n.declaration();if(s)return`${s.type().getText()} ${s.ID().getText()}`}return(i=n.expr)!=null&&i.call(n)?n.expr().getFormattedText():n.getFormattedText()}function bL(n){return n.map(pb).join(",")}const mb=S.MessageContext,hb=S.ParametersContext,fb=S.AsyncMessageContext,xL=S.CreationContext,Eb=S.RetContext;mb.prototype.SignatureText=function(){var n,e,t;return((t=(e=(n=this.messageBody())==null?void 0:n.func())==null?void 0:e.signature())==null?void 0:t.map(i=>i==null?void 0:i.getFormattedText()).join("."))??""},fb.prototype.SignatureText=function(){var n;return((n=this.content())==null?void 0:n.getFormattedText())??""},xL.prototype.SignatureText=function(){var t;const n=this.creationBody().parameters();return`«${((t=n==null?void 0:n.parameter())==null?void 0:t.length)>0?bL(n.parameter()):"create"}»`},xL.prototype.isParamValid=function(){var n,e;return(((e=(n=this.creationBody().parameters())==null?void 0:n.parameter())==null?void 0:e.length)??0)>0},Eb.prototype.SignatureText=function(){var n,e,t;return((e=(n=this.asyncMessage())==null?void 0:n.content())==null?void 0:e.getFormattedText())??((t=this.expr())==null?void 0:t.getFormattedText())??""},hb.prototype.getFormattedText=function(){const n=this.parameter();return!n||n.length===0?"":bL(n)};const t8=S,wL=t8.MessageContext,Sb=t8.CreationContext,Tb=t8.IfBlockContext,vb=t8.LoopContext;class Rb{constructor(e,t){h2(this,"assignee");h2(this,"type");if(t&&!e)throw new Error("assignee must be defined if type is defined");this.assignee=e||"",this.type=t||""}getText(){return[this.assignee,this.type].filter(Boolean).join(":")}}wL.prototype.Assignment=function(){var i,s;const n=this.messageBody().assignment(),e=(i=n==null?void 0:n.assignee())==null?void 0:i.getFormattedText(),t=(s=n==null?void 0:n.type())==null?void 0:s.getFormattedText();if(e)return new Rb(e,t)},wL.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},Sb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},Tb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},vb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]};const j0=S,bb=j0.CreationContext,xb=j0.StatContext,ML=j0.MessageContext,AL=j0.AsyncMessageContext,wb=j0.RetContext;bb.prototype.From=function(){if(this.parentCtx instanceof xb)return this.ClosestAncestorStat().Origin()},ML.prototype.ProvidedFrom=function(){var n,e;return(e=(n=this.messageBody())==null?void 0:n.from())==null?void 0:e.getFormattedText()},ML.prototype.From=function(){return this.ProvidedFrom()||this.ClosestAncestorStat().Origin()},AL.prototype.ProvidedFrom=function(){var n;return(n=this.from())==null?void 0:n.getFormattedText()},AL.prototype.From=function(){return this.ProvidedFrom()||this.ClosestAncestorStat().Origin()},wb.prototype.From=function(){return this.ClosestAncestorStat().Origin()},Q.ParserRuleContext.prototype.Key=function(){return`${this.start.start}:${this.stop.stop}`};const yL=S,NL=yL.StatContext;Q.ParserRuleContext.prototype.ClosestAncestorStat=function(){let n=this;for(;!(n instanceof NL);)n=n.parentCtx;if(n instanceof NL)return n},Q.ParserRuleContext.prototype.ClosestAncestorBlock=function(){var e;const n=(e=this.ClosestAncestorStat())==null?void 0:e.parentCtx;if(n instanceof yL.BlockContext)return n;console.warn("Cannot find closest ancestor block for context:",this)},Q.ParserRuleContext.prototype.getAncestors=function(n){let e=this;const t=[];for(;e;)(!n||n(e))&&t.push(e),e=e.parentCtx;return t};var Pi,OL;function IL(){if(OL)return Pi;OL=1;function n(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(i){return t.apply(this,arguments)};case 2:return function(i,s){return t.apply(this,arguments)};case 3:return function(i,s,l){return t.apply(this,arguments)};case 4:return function(i,s,l,c){return t.apply(this,arguments)};case 5:return function(i,s,l,c,d){return t.apply(this,arguments)};case 6:return function(i,s,l,c,d,L){return t.apply(this,arguments)};case 7:return function(i,s,l,c,d,L,_){return t.apply(this,arguments)};case 8:return function(i,s,l,c,d,L,_,p){return t.apply(this,arguments)};case 9:return function(i,s,l,c,d,L,_,p,m){return t.apply(this,arguments)};case 10:return function(i,s,l,c,d,L,_,p,m,f){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}return Pi=n,Pi}var Fi,DL;function Mb(){if(DL)return Fi;DL=1;function n(e,t){return function(){return t.call(this,e.apply(this,arguments))}}return Fi=n,Fi}var Ui,kL;function Zi(){if(kL)return Ui;kL=1;function n(e){return e!=null&&typeof e=="object"&&e["@@functional/placeholder"]===!0}return Ui=n,Ui}var Bi,PL;function n8(){if(PL)return Bi;PL=1;var n=Zi();function e(t){return function i(s){return arguments.length===0||n(s)?i:t.apply(this,arguments)}}return Bi=e,Bi}var Gi,FL;function UL(){if(FL)return Gi;FL=1;var n=n8(),e=Zi();function t(i){return function s(l,c){switch(arguments.length){case 0:return s;case 1:return e(l)?s:n(function(d){return i(l,d)});default:return e(l)&&e(c)?s:e(l)?n(function(d){return i(d,c)}):e(c)?n(function(d){return i(l,d)}):i(l,c)}}}return Gi=t,Gi}var zi,ZL;function Hi(){if(ZL)return zi;ZL=1;var n=n8(),e=UL(),t=Zi();function i(s){return function l(c,d,L){switch(arguments.length){case 0:return l;case 1:return t(c)?l:e(function(_,p){return s(c,_,p)});case 2:return t(c)&&t(d)?l:t(c)?e(function(_,p){return s(_,d,p)}):t(d)?e(function(_,p){return s(c,_,p)}):n(function(_){return s(c,d,_)});default:return t(c)&&t(d)&&t(L)?l:t(c)&&t(d)?e(function(_,p){return s(_,p,L)}):t(c)&&t(L)?e(function(_,p){return s(_,d,p)}):t(d)&&t(L)?e(function(_,p){return s(c,_,p)}):t(c)?n(function(_){return s(_,d,L)}):t(d)?n(function(_){return s(c,_,L)}):t(L)?n(function(_){return s(c,d,_)}):s(c,d,L)}}}return zi=i,zi}var Yi,BL;function GL(){return BL||(BL=1,Yi=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"}),Yi}var Vi,zL;function Ab(){if(zL)return Vi;zL=1;function n(e){return Object.prototype.toString.call(e)==="[object String]"}return Vi=n,Vi}var qi,HL;function yb(){if(HL)return qi;HL=1;var n=n8(),e=GL(),t=Ab(),i=n(function(l){return e(l)?!0:!l||typeof l!="object"||t(l)?!1:l.length===0?!0:l.length>0?l.hasOwnProperty(0)&&l.hasOwnProperty(l.length-1):!1});return qi=i,qi}var Wi,YL;function Nb(){if(YL)return Wi;YL=1;var n=(function(){function t(i){this.f=i}return t.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},t.prototype["@@transducer/result"]=function(i){return i},t.prototype["@@transducer/step"]=function(i,s){return this.f(i,s)},t})();function e(t){return new n(t)}return Wi=e,Wi}var $i,VL;function Ob(){if(VL)return $i;VL=1;var n=IL(),e=UL(),t=e(function(s,l){return n(s.length,function(){return s.apply(l,arguments)})});return $i=t,$i}var Ki,qL;function Ib(){if(qL)return Ki;qL=1;var n=yb(),e=Nb(),t=Ob();function i(L,_,p){for(var m=0,f=p.length;m<f;){if(_=L["@@transducer/step"](_,p[m]),_&&_["@@transducer/reduced"]){_=_["@@transducer/value"];break}m+=1}return L["@@transducer/result"](_)}function s(L,_,p){for(var m=p.next();!m.done;){if(_=L["@@transducer/step"](_,m.value),_&&_["@@transducer/reduced"]){_=_["@@transducer/value"];break}m=p.next()}return L["@@transducer/result"](_)}function l(L,_,p,m){return L["@@transducer/result"](p[m](t(L["@@transducer/step"],L),_))}var c=typeof Symbol<"u"?Symbol.iterator:"@@iterator";function d(L,_,p){if(typeof L=="function"&&(L=e(L)),n(p))return i(L,_,p);if(typeof p["fantasy-land/reduce"]=="function")return l(L,_,p,"fantasy-land/reduce");if(p[c]!=null)return s(L,_,p[c]());if(typeof p.next=="function")return s(L,_,p);if(typeof p.reduce=="function")return l(L,_,p,"reduce");throw new TypeError("reduce: list must be array or iterable")}return Ki=d,Ki}var Qi,WL;function Db(){if(WL)return Qi;WL=1;var n=Hi(),e=Ib(),t=n(e);return Qi=t,Qi}var ji,$L;function KL(){if($L)return ji;$L=1;var n=GL();function e(t,i){return function(){var s=arguments.length;if(s===0)return i();var l=arguments[s-1];return n(l)||typeof l[t]!="function"?i.apply(this,arguments):l[t].apply(l,Array.prototype.slice.call(arguments,0,s-1))}}return ji=e,ji}var Xi,QL;function kb(){if(QL)return Xi;QL=1;var n=KL(),e=Hi(),t=e(n("slice",function(s,l,c){return Array.prototype.slice.call(c,s,l)}));return Xi=t,Xi}var Ji,jL;function Pb(){if(jL)return Ji;jL=1;var n=KL(),e=n8(),t=kb(),i=e(n("tail",t(1,1/0)));return Ji=i,Ji}var er,XL;function Fb(){if(XL)return er;XL=1;var n=IL(),e=Mb(),t=Db(),i=Pb();function s(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return n(arguments[0].length,t(e,arguments[0],i(arguments)))}return er=s,er}var Ub=Fb();const Zb=te(Ub);var tr,JL;function Bb(){if(JL)return tr;JL=1;var n=Hi(),e=n(function(i,s,l){return l.replace(i,s)});return tr=e,tr}var Gb=Bb();const H9=te(Gb),zb=H9(/[\n\r]/g," "),Hb=H9(/\s+/g," "),Yb=H9(/\s*([,;.])\s*/g,"$1"),Vb=H9(/\s*(\()\s*|\s*(\))/g,"$1$2"),qb=H9(/\s+$/g,""),Wb=H9(/^"(.*)"$/,"$1"),eC=Zb(zb,Hb,Yb,Vb,qb,Wb),nr=(n,e)=>{let t=e;for(n[t]===`
26
+ `))}}}return e.length===0?null:e}getEdgeLabel(e){return e===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}getStateString(e){const t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?t+"=>"+ut(e.predicates):t+"=>"+e.prediction.toString():t}}class Bd extends H7{constructor(e){super(e,null)}getEdgeLabel(e){return"'"+String.fromCharCode(e)+"'"}}class PR{constructor(e,t){if(t===void 0&&(t=0),this.atnStartState=e,this.decision=t,this._states=new h3,this.s0=null,this.precedenceDfa=!1,e instanceof e9&&e.isPrecedenceDecision){this.precedenceDfa=!0;const i=new U4(null,new We);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}getPrecedenceStartState(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}setPrecedenceStartState(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}setPrecedenceDfa(e){if(this.precedenceDfa!==e){if(this._states=new h3,e){const t=new U4(null,new We);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}sortedStates(){return this._states.values().sort(function(t,i){return t.stateNumber-i.stateNumber})}toString(e,t){return e=e||null,t=t||null,this.s0===null?"":new H7(this,e,t).toString()}toLexerString(){return this.s0===null?"":new Bd(this).toString()}get states(){return this._states}}const FR={DFA:PR,DFASerializer:H7,LexerDFASerializer:Bd,PredPrediction:Zd};class Gd{visitTerminal(e){}visitErrorNode(e){}enterEveryRule(e){}exitEveryRule(e){}}class UR{visit(e){return Array.isArray(e)?e.map(function(t){return t.accept(this)},this):e.accept(this)}visitChildren(e){return e.children?this.visit(e.children):null}visitTerminal(e){}visitErrorNode(e){}}class Y7{walk(e,t){if(t instanceof Nn||t.isErrorNode!==void 0&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof P4)e.visitTerminal(t);else{this.enterRule(e,t);for(let s=0;s<t.getChildCount();s++){const l=t.getChild(s);this.walk(e,l)}this.exitRule(e,t)}}enterRule(e,t){const i=t.getRuleContext();e.enterEveryRule(i),i.enterRule(e)}exitRule(e,t){const i=t.getRuleContext();i.exitRule(e),e.exitEveryRule(i)}}Y7.DEFAULT=new Y7;const ZR={Trees:m4,RuleNode:yn,ErrorNode:Nn,TerminalNode:P4,ParseTreeListener:Gd,ParseTreeVisitor:UR,ParseTreeWalker:Y7};class W0 extends dt{constructor(e){super({message:"",recognizer:e,input:e.getInputStream(),ctx:e._ctx}),this.offendingToken=e.getCurrentToken()}}class zd extends dt{constructor(e,t,i){super({message:BR(t,i||null),recognizer:e,input:e.getInputStream(),ctx:e._ctx});const l=e._interp.atn.states[e.state].transitions[0];l instanceof kd?(this.ruleIndex=l.ruleIndex,this.predicateIndex=l.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=t,this.offendingToken=e.getCurrentToken()}}function BR(n,e){return e!==null?e:"failed predicate: {"+n+"}?"}class GR extends Fn{constructor(e){super(),e=e||!0,this.exactOnly=e}reportAmbiguity(e,t,i,s,l,c,d){if(this.exactOnly&&!l)return;const L="reportAmbiguity d="+this.getDecisionDescription(e,t)+": ambigAlts="+this.getConflictingAlts(c,d)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(L)}reportAttemptingFullContext(e,t,i,s,l,c){const d="reportAttemptingFullContext d="+this.getDecisionDescription(e,t)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(d)}reportContextSensitivity(e,t,i,s,l,c){const d="reportContextSensitivity d="+this.getDecisionDescription(e,t)+", input='"+e.getTokenStream().getText(new m1(i,s))+"'";e.notifyErrorListeners(d)}getDecisionDescription(e,t){const i=t.decision,s=t.atnStartState.ruleIndex,l=e.ruleNames;if(s<0||s>=l.length)return""+i;const c=l[s]||null;return c===null||c.length===0?""+i:`${i} (${c})`}getConflictingAlts(e,t){if(e!==null)return e;const i=new f4;for(let s=0;s<t.items.length;s++)i.add(t.items[s].alt);return`{${i.values().join(", ")}}`}}class V7 extends Error{constructor(){super(),Error.captureStackTrace(this,V7)}}class zR{reset(e){}recoverInline(e){}recover(e,t){}sync(e){}inErrorRecoveryMode(e){}reportError(e){}}class q7 extends zR{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,t){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),t instanceof z7?this.reportNoViableAlternative(e,t):t instanceof W0?this.reportInputMismatch(e,t):t instanceof zd?this.reportFailedPredicate(e,t):(console.log("unknown recognition error type: "+t.constructor.name),console.log(t.stack),e.notifyErrorListeners(t.getOffendingToken(),t.getMessage(),t)))}recover(e,t){this.lastErrorIndex===e.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(e.state)>=0&&e.consume(),this.lastErrorIndex=e._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);const i=this.getErrorRecoverySet(e);this.consumeUntil(e,i)}sync(e){if(this.inErrorRecoveryMode(e))return;const t=e._interp.atn.states[e.state],i=e.getTokenStream().LA(1),s=e.atn.nextTokens(t);if(s.contains(i)){this.nextTokensContext=null,this.nextTokenState=O2.INVALID_STATE_NUMBER;return}else if(s.contains(m2.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);return}switch(t.stateType){case O2.BLOCK_START:case O2.STAR_BLOCK_START:case O2.PLUS_BLOCK_START:case O2.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new W0(e);case O2.PLUS_LOOP_BACK:case O2.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const l=new U3;l.addSet(e.getExpectedTokens());const c=l.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,c)}break}}reportNoViableAlternative(e,t){const i=e.getTokenStream();let s;i!==null?t.startToken.type===m2.EOF?s="<EOF>":s=i.getText(new m1(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):s="<unknown input>";const l="no viable alternative at input "+this.escapeWSAndQuote(s);e.notifyErrorListeners(l,t.offendingToken,t)}reportInputMismatch(e,t){const i="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(i,t.offendingToken,t)}reportFailedPredicate(e,t){const s="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(s,t.offendingToken,t)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),i=this.getTokenErrorDisplay(t),s=this.getExpectedTokens(e),l="extraneous input "+i+" expecting "+s.toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(l,t,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),s="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(s,t,null)}recoverInline(e){const t=this.singleTokenDeletion(e);if(t!==null)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new W0(e)}singleTokenInsertion(e){const t=e.getTokenStream().LA(1),i=e._interp.atn,l=i.states[e.state].transitions[0].target;return i.nextTokens(l,e._ctx).contains(t)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();const s=e.getCurrentToken();return this.reportMatch(e),s}else return null}getMissingSymbol(e){const t=e.getCurrentToken(),s=this.getExpectedTokens(e).first();let l;s===m2.EOF?l="<missing EOF>":l="<missing "+e.literalNames[s]+">";let c=t;const d=e.getTokenStream().LT(-1);return c.type===m2.EOF&&d!==null&&(c=d),e.getTokenFactory().create(c.source,s,l,m2.DEFAULT_CHANNEL,-1,-1,c.line,c.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"<no token>";let t=e.text;return t===null&&(e.type===m2.EOF?t="<EOF>":t="<"+e.type+">"),this.escapeWSAndQuote(t)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const t=e._interp.atn;let i=e._ctx;const s=new U3;for(;i!==null&&i.invokingState>=0;){const c=t.states[i.invokingState].transitions[0],d=t.nextTokens(c.followState);s.addSet(d),i=i.parentCtx}return s.removeOne(m2.EPSILON),s}consumeUntil(e,t){let i=e.getTokenStream().LA(1);for(;i!==m2.EOF&&!t.contains(i);)e.consume(),i=e.getTokenStream().LA(1)}}class HR extends q7{constructor(){super()}recover(e,t){let i=e._ctx;for(;i!==null;)i.exception=t,i=i.parentCtx;throw new V7(t)}recoverInline(e){this.recover(e,new W0(e))}sync(e){}}const YR={RecognitionException:dt,NoViableAltException:z7,LexerNoViableAltException:G7,InputMismatchException:W0,FailedPredicateException:zd,DiagnosticErrorListener:GR,BailErrorStrategy:HR,DefaultErrorStrategy:q7,ErrorListener:Fn};class n9{constructor(e,t){if(this.name="<empty>",this.strdata=e,this.decodeToUnicodeCodePoints=t||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let i=0;i<this.strdata.length;){const s=this.strdata.codePointAt(i);this.data.push(s),i+=s<=65535?1:2}else{this.data=new Array(this.strdata.length);for(let i=0;i<this.strdata.length;i++){const s=this.strdata.charCodeAt(i);this.data[i]=s}}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const t=this._index+e-1;return t<0||t>=this._size?m2.EOF:this.data[t]}LT(e){return this.LA(e)}mark(){return-1}release(e){}seek(e){if(e<=this._index){this._index=e;return}this._index=Math.min(e,this._size)}getText(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){let i="";for(let s=e;s<=t;s++)i+=String.fromCodePoint(this.data[s]);return i}else return this.strdata.slice(e,t+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}const W7={},VR={fromString:function(n){return new n9(n,!0)},fromBlob:function(n,e,t,i){const s=new window.FileReader;s.onload=function(l){const c=new n9(l.target.result,!0);t(c)},s.onerror=i,s.readAsText(n,e)},fromBuffer:function(n,e){return new n9(n.toString(e),!0)},fromPath:function(n,e,t){W7.readFile(n,e,function(i,s){let l=null;s!==null&&(l=new n9(s,!0)),t(i,l)})},fromPathSync:function(n,e){const t=W7.readFileSync(n,e);return new n9(t,!0)}};class qR extends n9{constructor(e,t){const i=W7.readFileSync(e,"utf8");super(i,t),this.fileName=e}}class WR{}class $R extends WR{constructor(e){super(),this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.index=this.adjustSeekIndex(e)}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.index>=0?this.fetchedEOF?e=this.index<this.tokens.length-1:e=this.index<this.tokens.length:e=!1,!e&&this.LA(1)===m2.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(e){const t=e-this.tokens.length+1;return t>0?this.fetch(t)>=t:!0}fetch(e){if(this.fetchedEOF)return 0;for(let t=0;t<e;t++){const i=this.tokenSource.nextToken();if(i.tokenIndex=this.tokens.length,this.tokens.push(i),i.type===m2.EOF)return this.fetchedEOF=!0,t+1}return e}getTokens(e,t,i){if(i===void 0&&(i=null),e<0||t<0)return null;this.lazyInit();const s=[];t>=this.tokens.length&&(t=this.tokens.length-1);for(let l=e;l<t;l++){const c=this.tokens[l];if(c.type===m2.EOF)break;(i===null||i.contains(c.type))&&s.push(c)}return s}LA(e){return this.LT(e).type}LB(e){return this.index-e<0?null:this.tokens[this.index-e]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);const t=this.index+e-1;return this.sync(t),t>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}adjustSeekIndex(e){return e}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(e,t){if(this.sync(e),e>=this.tokens.length)return-1;let i=this.tokens[e];for(;i.channel!==this.channel;){if(i.type===m2.EOF)return-1;e+=1,this.sync(e),i=this.tokens[e]}return e}previousTokenOnChannel(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}getHiddenTokensToRight(e,t){if(t===void 0&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw""+e+" not in 0.."+this.tokens.length-1;const i=this.nextTokenOnChannel(e+1,qe.DEFAULT_TOKEN_CHANNEL),s=e+1,l=i===-1?this.tokens.length-1:i;return this.filterForChannel(s,l,t)}getHiddenTokensToLeft(e,t){if(t===void 0&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw""+e+" not in 0.."+this.tokens.length-1;const i=this.previousTokenOnChannel(e-1,qe.DEFAULT_TOKEN_CHANNEL);if(i===e-1)return null;const s=i+1,l=e-1;return this.filterForChannel(s,l,t)}filterForChannel(e,t,i){const s=[];for(let l=e;l<t+1;l++){const c=this.tokens[l];i===-1?c.channel!==qe.DEFAULT_TOKEN_CHANNEL&&s.push(c):c.channel===i&&s.push(c)}return s.length===0?null:s}getSourceName(){return this.tokenSource.getSourceName()}getText(e){this.lazyInit(),this.fill(),e==null&&(e=new m1(0,this.tokens.length-1));let t=e.start;t instanceof m2&&(t=t.tokenIndex);let i=e.stop;if(i instanceof m2&&(i=i.tokenIndex),t===null||i===null||t<0||i<0)return"";i>=this.tokens.length&&(i=this.tokens.length-1);let s="";for(let l=t;l<i+1;l++){const c=this.tokens[l];if(c.type===m2.EOF)break;s=s+c.text}return s}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}}class KR extends $R{constructor(e,t){super(e),this.channel=t===void 0?m2.DEFAULT_CHANNEL:t}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let t=this.index,i=1;for(;i<=e;)t=this.previousTokenOnChannel(t-1,this.channel),i+=1;return t<0?null:this.tokens[t]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let t=this.index,i=1;for(;i<e;)this.sync(t+1)&&(t=this.nextTokenOnChannel(t+1,this.channel)),i+=1;return this.tokens[t]}getNumberOfOnChannelTokens(){let e=0;this.fill();for(let t=0;t<this.tokens.length;t++){const i=this.tokens[t];if(i.channel===this.channel&&(e+=1),i.type===m2.EOF)break}return e}}class QR extends Gd{constructor(e){super(),this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(e){console.log("consume "+e.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}let Hd=class extends Un{constructor(e){super(),this._input=null,this._errHandler=new q7,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(e)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(e){let t=this.getCurrentToken();return t.type===e?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this._ctx.addErrorNode(t)),t}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&e.tokenIndex===-1&&this._ctx.addErrorNode(e)),e}getParseListeners(){return this._parseListeners||[]}addParseListener(e){if(e===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null){const t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this._ctx;this._parseListeners.forEach(function(t){t.enterEveryRule(e),e.enterRule(t)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(t){e.exitRule(t),t.exitEveryRule(e)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(e){this._input.tokenSource._factory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw"The current parser does not support an ATN with bypass alternatives.";let t=this.bypassAltsAtnCache[e];if(t===null){const i=new V0;i.generateRuleBypassTransitions=!0,t=new Pd(i).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}getInputStream(){return this.getTokenStream()}setInputStream(e){this.setTokenStream(e)}getTokenStream(){return this._input}setTokenStream(e){this._input=null,this.reset(),this._input=e}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,t,i){t=t||null,i=i||null,t===null&&(t=this.getCurrentToken()),this._syntaxErrors+=1;const s=t.line,l=t.column;this.getErrorListenerDispatch().syntaxError(this,t,s,l,e,i)}consume(){const e=this.getCurrentToken();e.type!==m2.EOF&&this.getInputStream().consume();const t=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||t){let i;this._errHandler.inErrorRecoveryMode(this)?i=this._ctx.addErrorNode(e):i=this._ctx.addTokenNode(e),i.invokingState=this.state,t&&this._parseListeners.forEach(function(s){i instanceof Nn||i.isErrorNode!==void 0&&i.isErrorNode()?s.visitErrorNode(i):i instanceof P4&&s.visitTerminal(i)})}return e}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(e,t,i){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,t,i,s){this.state=t,this._precedenceStack.push(s),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,t,i){const s=this._ctx;s.parentCtx=e,s.invokingState=t,s.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=s.start,this.buildParseTrees&&this._ctx.addChild(s),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);const t=this._ctx,i=this.getParseListeners();if(i!==null&&i.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&e!==null&&e.addChild(t)}getInvokingContext(e){let t=this._ctx;for(;t!==null;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}precpred(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const t=this._interp.atn;let i=this._ctx;const s=t.states[this.state];let l=t.nextTokens(s);if(l.contains(e))return!0;if(!l.contains(m2.EPSILON))return!1;for(;i!==null&&i.invokingState>=0&&l.contains(m2.EPSILON);){const d=t.states[i.invokingState].transitions[0];if(l=t.nextTokens(d.followState),l.contains(e))return!0;i=i.parentCtx}return!!(l.contains(m2.EPSILON)&&e===m2.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){const e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}getRuleIndex(e){const t=this.getRuleIndexMap()[e];return t!==null?t:-1}getRuleInvocationStack(e){e=e||null,e===null&&(e=this._ctx);const t=[];for(;e!==null;){const i=e.ruleIndex;i<0?t.push("n/a"):t.push(this.ruleNames[i]),e=e.parentCtx}return t}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let e=!1;for(let t=0;t<this._interp.decisionToDFA.length;t++){const i=this._interp.decisionToDFA[t];i.states.length>0&&(e&&console.log(),this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.literalNames,this.symbolicNames)),e=!0)}}getSourceName(){return this._input.sourceName}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new QR(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}};Hd.bypassAltsAtnCache={};class jR{constructor(){this.cache=new H0}add(e){if(e===e1.EMPTY)return e1.EMPTY;const t=this.cache.get(e)||null;return t!==null?t:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}}class Yd extends P4{constructor(e){super(),this.parentCtx=null,this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return m1.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new m1(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===m2.EOF?"<EOF>":this.symbol.text}}class Vd extends Yd{constructor(e){super(e)}isErrorNode(){return!0}accept(e){return e.visitErrorNode(this)}}let qd=class extends k9{constructor(e,t){e=e||null,t=t||null,super(e,t),this.ruleIndex=-1,this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map(function(t){t instanceof Vd&&(this.children.push(t),t.parentCtx=this)},this))}enterRule(e){}exitRule(e){}addChild(e){return this.children===null&&(this.children=[]),this.children.push(e),e}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const t=new Yd(e);return this.addChild(t),t.parentCtx=this,t}addErrorNode(e){const t=new Vd(e);return this.addChild(t),t.parentCtx=this,t}getChild(e,t){if(t=t||null,this.children===null||e<0||e>=this.children.length)return null;if(t===null)return this.children[e];for(let i=0;i<this.children.length;i++){const s=this.children[i];if(s instanceof t){if(e===0)return s;e-=1}}return null}getToken(e,t){if(this.children===null||t<0||t>=this.children.length)return null;for(let i=0;i<this.children.length;i++){const s=this.children[i];if(s instanceof P4&&s.symbol.type===e){if(t===0)return s;t-=1}}return null}getTokens(e){if(this.children===null)return[];{const t=[];for(let i=0;i<this.children.length;i++){const s=this.children[i];s instanceof P4&&s.symbol.type===e&&t.push(s)}return t}}getTypedRuleContext(e,t){return this.getChild(t,e)}getTypedRuleContexts(e){if(this.children===null)return[];{const t=[];for(let i=0;i<this.children.length;i++){const s=this.children[i];s instanceof e&&t.push(s)}return t}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?m1.INVALID_INTERVAL:new m1(this.start.tokenIndex,this.stop.tokenIndex)}};k9.EMPTY=new qd;const Q={atn:kR,dfa:FR,tree:ZR,error:YR,Token:m2,CommonToken:t9,CharStreams:VR,InputStream:n9,FileStream:qR,CommonTokenStream:KR,Lexer:qe,Parser:Hd,PredictionContextCache:jR,ParserRuleContext:qd,Interval:m1,IntervalSet:U3,LL1Analyzer:P9,Utils:{arrayToString:ut}},XR=[4,0,70,570,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,4,11,215,8,11,11,11,12,11,216,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,287,8,36,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,323,8,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,371,8,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,417,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,445,8,54,1,55,1,55,5,55,449,8,55,10,55,12,55,452,9,55,1,56,1,56,1,57,1,57,5,57,458,8,57,10,57,12,57,461,9,57,1,58,4,58,464,8,58,11,58,12,58,465,1,59,1,59,1,60,4,60,471,8,60,11,60,12,60,472,1,61,4,61,476,8,61,11,61,12,61,477,1,61,1,61,5,61,482,8,61,10,61,12,61,485,9,61,1,61,1,61,4,61,489,8,61,11,61,12,61,490,3,61,493,8,61,1,62,1,62,1,62,3,62,498,8,62,1,63,1,63,3,63,502,8,63,1,63,1,63,1,64,1,64,1,64,1,64,5,64,510,8,64,10,64,12,64,513,9,64,1,64,3,64,516,8,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,5,66,526,8,66,10,66,12,66,529,9,66,1,66,1,66,1,66,1,66,1,67,1,67,1,68,1,68,5,68,539,8,68,10,68,12,68,542,9,68,1,68,1,68,1,68,1,68,5,68,548,8,68,10,68,12,68,551,9,68,1,69,4,69,554,8,69,11,69,12,69,555,1,70,1,70,1,70,1,70,1,71,4,71,563,8,71,11,71,12,71,564,1,72,1,72,1,72,1,72,1,527,0,73,3,1,5,2,7,3,9,4,11,5,13,6,15,7,17,8,19,9,21,10,23,0,25,11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49,23,51,24,53,25,55,26,57,27,59,28,61,29,63,30,65,31,67,32,69,33,71,34,73,35,75,36,77,37,79,38,81,39,83,40,85,41,87,42,89,43,91,44,93,45,95,46,97,47,99,48,101,49,103,50,105,51,107,52,109,53,111,54,113,55,115,56,117,57,119,0,121,0,123,58,125,59,127,60,129,61,131,62,133,63,135,64,137,65,139,66,141,67,143,68,145,69,147,70,3,0,1,2,9,2,0,9,9,32,32,3,0,48,57,65,70,97,102,4,0,48,57,65,90,95,95,97,122,649,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73648,73648,73728,74649,74880,75075,77712,77808,77824,78894,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177976,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,693,0,48,57,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1632,1641,1646,1647,1649,1747,1749,1749,1765,1766,1774,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1984,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2406,2415,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2534,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2662,2671,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2790,2799,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2918,2927,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3046,3055,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3174,3183,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3302,3311,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3430,3439,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3558,3567,3585,3632,3634,3635,3648,3654,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3807,3840,3840,3872,3881,3904,3911,3913,3948,3976,3980,4096,4138,4159,4169,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4240,4249,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6112,6121,6160,6169,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6678,6688,6740,6784,6793,6800,6809,6823,6823,6917,6963,6981,6988,6992,7001,7043,7072,7086,7141,7168,7203,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43216,43225,43250,43255,43259,43259,43261,43262,43264,43301,43312,43334,43360,43388,43396,43442,43471,43481,43488,43492,43494,43518,43520,43560,43584,43586,43588,43595,43600,43609,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65296,65305,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,68912,68921,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69734,69743,69745,69746,69749,69749,69763,69807,69840,69864,69872,69881,69891,69926,69942,69951,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70096,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70384,70393,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70736,70745,70751,70753,70784,70831,70852,70853,70855,70855,70864,70873,71040,71086,71128,71131,71168,71215,71236,71236,71248,71257,71296,71338,71352,71352,71360,71369,71424,71450,71472,71481,71488,71494,71680,71723,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72016,72025,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72784,72793,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73040,73049,73056,73061,73063,73064,73066,73097,73112,73112,73120,73129,73440,73458,73648,73648,73728,74649,74880,75075,77712,77808,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92928,92975,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,122624,122654,123136,123180,123191,123197,123200,123209,123214,123214,123536,123565,123584,123627,123632,123641,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177976,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,2,0,65,90,97,122,1,0,48,57,3,0,10,10,13,13,34,34,2,0,10,10,13,13,593,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,1,141,1,0,0,0,1,143,1,0,0,0,2,145,1,0,0,0,2,147,1,0,0,0,3,149,1,0,0,0,5,153,1,0,0,0,7,161,1,0,0,0,9,172,1,0,0,0,11,181,1,0,0,0,13,189,1,0,0,0,15,197,1,0,0,0,17,201,1,0,0,0,19,204,1,0,0,0,21,207,1,0,0,0,23,210,1,0,0,0,25,212,1,0,0,0,27,218,1,0,0,0,29,221,1,0,0,0,31,224,1,0,0,0,33,227,1,0,0,0,35,230,1,0,0,0,37,232,1,0,0,0,39,234,1,0,0,0,41,237,1,0,0,0,43,240,1,0,0,0,45,242,1,0,0,0,47,244,1,0,0,0,49,246,1,0,0,0,51,248,1,0,0,0,53,250,1,0,0,0,55,252,1,0,0,0,57,254,1,0,0,0,59,256,1,0,0,0,61,258,1,0,0,0,63,260,1,0,0,0,65,262,1,0,0,0,67,264,1,0,0,0,69,266,1,0,0,0,71,268,1,0,0,0,73,273,1,0,0,0,75,286,1,0,0,0,77,288,1,0,0,0,79,291,1,0,0,0,81,322,1,0,0,0,83,324,1,0,0,0,85,331,1,0,0,0,87,335,1,0,0,0,89,339,1,0,0,0,91,345,1,0,0,0,93,349,1,0,0,0,95,370,1,0,0,0,97,372,1,0,0,0,99,376,1,0,0,0,101,379,1,0,0,0,103,383,1,0,0,0,105,389,1,0,0,0,107,397,1,0,0,0,109,416,1,0,0,0,111,444,1,0,0,0,113,446,1,0,0,0,115,453,1,0,0,0,117,455,1,0,0,0,119,463,1,0,0,0,121,467,1,0,0,0,123,470,1,0,0,0,125,492,1,0,0,0,127,494,1,0,0,0,129,501,1,0,0,0,131,505,1,0,0,0,133,517,1,0,0,0,135,521,1,0,0,0,137,534,1,0,0,0,139,536,1,0,0,0,141,553,1,0,0,0,143,557,1,0,0,0,145,562,1,0,0,0,147,566,1,0,0,0,149,150,7,0,0,0,150,151,1,0,0,0,151,152,6,0,0,0,152,4,1,0,0,0,153,154,5,99,0,0,154,155,5,111,0,0,155,156,5,110,0,0,156,157,5,115,0,0,157,158,5,116,0,0,158,159,1,0,0,0,159,160,6,1,1,0,160,6,1,0,0,0,161,162,5,114,0,0,162,163,5,101,0,0,163,164,5,97,0,0,164,165,5,100,0,0,165,166,5,111,0,0,166,167,5,110,0,0,167,168,5,108,0,0,168,169,5,121,0,0,169,170,1,0,0,0,170,171,6,2,1,0,171,8,1,0,0,0,172,173,5,115,0,0,173,174,5,116,0,0,174,175,5,97,0,0,175,176,5,116,0,0,176,177,5,105,0,0,177,178,5,99,0,0,178,179,1,0,0,0,179,180,6,3,1,0,180,10,1,0,0,0,181,182,5,97,0,0,182,183,5,119,0,0,183,184,5,97,0,0,184,185,5,105,0,0,185,186,5,116,0,0,186,187,1,0,0,0,187,188,6,4,1,0,188,12,1,0,0,0,189,190,5,116,0,0,190,191,5,105,0,0,191,192,5,116,0,0,192,193,5,108,0,0,193,194,5,101,0,0,194,195,1,0,0,0,195,196,6,5,2,0,196,14,1,0,0,0,197,198,5,58,0,0,198,199,1,0,0,0,199,200,6,6,3,0,200,16,1,0,0,0,201,202,5,60,0,0,202,203,5,60,0,0,203,18,1,0,0,0,204,205,5,62,0,0,205,206,5,62,0,0,206,20,1,0,0,0,207,208,5,45,0,0,208,209,5,62,0,0,209,22,1,0,0,0,210,211,7,1,0,0,211,24,1,0,0,0,212,214,5,35,0,0,213,215,3,23,10,0,214,213,1,0,0,0,215,216,1,0,0,0,216,214,1,0,0,0,216,217,1,0,0,0,217,26,1,0,0,0,218,219,5,124,0,0,219,220,5,124,0,0,220,28,1,0,0,0,221,222,5,38,0,0,222,223,5,38,0,0,223,30,1,0,0,0,224,225,5,61,0,0,225,226,5,61,0,0,226,32,1,0,0,0,227,228,5,33,0,0,228,229,5,61,0,0,229,34,1,0,0,0,230,231,5,62,0,0,231,36,1,0,0,0,232,233,5,60,0,0,233,38,1,0,0,0,234,235,5,62,0,0,235,236,5,61,0,0,236,40,1,0,0,0,237,238,5,60,0,0,238,239,5,61,0,0,239,42,1,0,0,0,240,241,5,43,0,0,241,44,1,0,0,0,242,243,5,45,0,0,243,46,1,0,0,0,244,245,5,42,0,0,245,48,1,0,0,0,246,247,5,47,0,0,247,50,1,0,0,0,248,249,5,37,0,0,249,52,1,0,0,0,250,251,5,94,0,0,251,54,1,0,0,0,252,253,5,33,0,0,253,56,1,0,0,0,254,255,5,59,0,0,255,58,1,0,0,0,256,257,5,44,0,0,257,60,1,0,0,0,258,259,5,61,0,0,259,62,1,0,0,0,260,261,5,40,0,0,261,64,1,0,0,0,262,263,5,41,0,0,263,66,1,0,0,0,264,265,5,123,0,0,265,68,1,0,0,0,266,267,5,125,0,0,267,70,1,0,0,0,268,269,5,116,0,0,269,270,5,114,0,0,270,271,5,117,0,0,271,272,5,101,0,0,272,72,1,0,0,0,273,274,5,102,0,0,274,275,5,97,0,0,275,276,5,108,0,0,276,277,5,115,0,0,277,278,5,101,0,0,278,74,1,0,0,0,279,280,5,110,0,0,280,281,5,105,0,0,281,287,5,108,0,0,282,283,5,110,0,0,283,284,5,117,0,0,284,285,5,108,0,0,285,287,5,108,0,0,286,279,1,0,0,0,286,282,1,0,0,0,287,76,1,0,0,0,288,289,5,105,0,0,289,290,5,102,0,0,290,78,1,0,0,0,291,292,5,101,0,0,292,293,5,108,0,0,293,294,5,115,0,0,294,295,5,101,0,0,295,80,1,0,0,0,296,297,5,119,0,0,297,298,5,104,0,0,298,299,5,105,0,0,299,300,5,108,0,0,300,323,5,101,0,0,301,302,5,102,0,0,302,303,5,111,0,0,303,323,5,114,0,0,304,305,5,102,0,0,305,306,5,111,0,0,306,307,5,114,0,0,307,308,5,101,0,0,308,309,5,97,0,0,309,310,5,99,0,0,310,323,5,104,0,0,311,312,5,102,0,0,312,313,5,111,0,0,313,314,5,114,0,0,314,315,5,69,0,0,315,316,5,97,0,0,316,317,5,99,0,0,317,323,5,104,0,0,318,319,5,108,0,0,319,320,5,111,0,0,320,321,5,111,0,0,321,323,5,112,0,0,322,296,1,0,0,0,322,301,1,0,0,0,322,304,1,0,0,0,322,311,1,0,0,0,322,318,1,0,0,0,323,82,1,0,0,0,324,325,5,114,0,0,325,326,5,101,0,0,326,327,5,116,0,0,327,328,5,117,0,0,328,329,5,114,0,0,329,330,5,110,0,0,330,84,1,0,0,0,331,332,5,110,0,0,332,333,5,101,0,0,333,334,5,119,0,0,334,86,1,0,0,0,335,336,5,112,0,0,336,337,5,97,0,0,337,338,5,114,0,0,338,88,1,0,0,0,339,340,5,103,0,0,340,341,5,114,0,0,341,342,5,111,0,0,342,343,5,117,0,0,343,344,5,112,0,0,344,90,1,0,0,0,345,346,5,111,0,0,346,347,5,112,0,0,347,348,5,116,0,0,348,92,1,0,0,0,349,350,5,99,0,0,350,351,5,114,0,0,351,352,5,105,0,0,352,353,5,116,0,0,353,354,5,105,0,0,354,355,5,99,0,0,355,356,5,97,0,0,356,357,5,108,0,0,357,94,1,0,0,0,358,359,5,115,0,0,359,360,5,101,0,0,360,361,5,99,0,0,361,362,5,116,0,0,362,363,5,105,0,0,363,364,5,111,0,0,364,371,5,110,0,0,365,366,5,102,0,0,366,367,5,114,0,0,367,368,5,97,0,0,368,369,5,109,0,0,369,371,5,101,0,0,370,358,1,0,0,0,370,365,1,0,0,0,371,96,1,0,0,0,372,373,5,114,0,0,373,374,5,101,0,0,374,375,5,102,0,0,375,98,1,0,0,0,376,377,5,97,0,0,377,378,5,115,0,0,378,100,1,0,0,0,379,380,5,116,0,0,380,381,5,114,0,0,381,382,5,121,0,0,382,102,1,0,0,0,383,384,5,99,0,0,384,385,5,97,0,0,385,386,5,116,0,0,386,387,5,99,0,0,387,388,5,104,0,0,388,104,1,0,0,0,389,390,5,102,0,0,390,391,5,105,0,0,391,392,5,110,0,0,392,393,5,97,0,0,393,394,5,108,0,0,394,395,5,108,0,0,395,396,5,121,0,0,396,106,1,0,0,0,397,398,5,105,0,0,398,399,5,110,0,0,399,108,1,0,0,0,400,401,5,64,0,0,401,402,5,83,0,0,402,403,5,116,0,0,403,404,5,97,0,0,404,405,5,114,0,0,405,406,5,116,0,0,406,407,5,101,0,0,407,417,5,114,0,0,408,409,5,64,0,0,409,410,5,115,0,0,410,411,5,116,0,0,411,412,5,97,0,0,412,413,5,114,0,0,413,414,5,116,0,0,414,415,5,101,0,0,415,417,5,114,0,0,416,400,1,0,0,0,416,408,1,0,0,0,417,110,1,0,0,0,418,419,5,64,0,0,419,420,5,82,0,0,420,421,5,101,0,0,421,422,5,116,0,0,422,423,5,117,0,0,423,424,5,114,0,0,424,445,5,110,0,0,425,426,5,64,0,0,426,427,5,114,0,0,427,428,5,101,0,0,428,429,5,116,0,0,429,430,5,117,0,0,430,431,5,114,0,0,431,445,5,110,0,0,432,433,5,64,0,0,433,434,5,82,0,0,434,435,5,101,0,0,435,436,5,112,0,0,436,437,5,108,0,0,437,445,5,121,0,0,438,439,5,64,0,0,439,440,5,114,0,0,440,441,5,101,0,0,441,442,5,112,0,0,442,443,5,108,0,0,443,445,5,121,0,0,444,418,1,0,0,0,444,425,1,0,0,0,444,432,1,0,0,0,444,438,1,0,0,0,445,112,1,0,0,0,446,450,5,64,0,0,447,449,7,2,0,0,448,447,1,0,0,0,449,452,1,0,0,0,450,448,1,0,0,0,450,451,1,0,0,0,451,114,1,0,0,0,452,450,1,0,0,0,453,454,5,46,0,0,454,116,1,0,0,0,455,459,7,3,0,0,456,458,7,4,0,0,457,456,1,0,0,0,458,461,1,0,0,0,459,457,1,0,0,0,459,460,1,0,0,0,460,118,1,0,0,0,461,459,1,0,0,0,462,464,7,5,0,0,463,462,1,0,0,0,464,465,1,0,0,0,465,463,1,0,0,0,465,466,1,0,0,0,466,120,1,0,0,0,467,468,7,6,0,0,468,122,1,0,0,0,469,471,3,121,59,0,470,469,1,0,0,0,471,472,1,0,0,0,472,470,1,0,0,0,472,473,1,0,0,0,473,124,1,0,0,0,474,476,3,121,59,0,475,474,1,0,0,0,476,477,1,0,0,0,477,475,1,0,0,0,477,478,1,0,0,0,478,479,1,0,0,0,479,483,5,46,0,0,480,482,3,121,59,0,481,480,1,0,0,0,482,485,1,0,0,0,483,481,1,0,0,0,483,484,1,0,0,0,484,493,1,0,0,0,485,483,1,0,0,0,486,488,5,46,0,0,487,489,3,121,59,0,488,487,1,0,0,0,489,490,1,0,0,0,490,488,1,0,0,0,490,491,1,0,0,0,491,493,1,0,0,0,492,475,1,0,0,0,492,486,1,0,0,0,493,126,1,0,0,0,494,497,5,36,0,0,495,498,3,123,60,0,496,498,3,125,61,0,497,495,1,0,0,0,497,496,1,0,0,0,498,128,1,0,0,0,499,502,3,123,60,0,500,502,3,125,61,0,501,499,1,0,0,0,501,500,1,0,0,0,502,503,1,0,0,0,503,504,3,119,58,0,504,130,1,0,0,0,505,511,5,34,0,0,506,510,8,7,0,0,507,508,5,34,0,0,508,510,5,34,0,0,509,506,1,0,0,0,509,507,1,0,0,0,510,513,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,515,1,0,0,0,513,511,1,0,0,0,514,516,7,7,0,0,515,514,1,0,0,0,515,516,1,0,0,0,516,132,1,0,0,0,517,518,7,8,0,0,518,519,1,0,0,0,519,520,6,65,0,0,520,134,1,0,0,0,521,522,5,47,0,0,522,523,5,47,0,0,523,527,1,0,0,0,524,526,9,0,0,0,525,524,1,0,0,0,526,529,1,0,0,0,527,528,1,0,0,0,527,525,1,0,0,0,528,530,1,0,0,0,529,527,1,0,0,0,530,531,5,10,0,0,531,532,1,0,0,0,532,533,6,66,4,0,533,136,1,0,0,0,534,535,9,0,0,0,535,138,1,0,0,0,536,540,4,68,0,0,537,539,3,3,0,0,538,537,1,0,0,0,539,542,1,0,0,0,540,538,1,0,0,0,540,541,1,0,0,0,541,543,1,0,0,0,542,540,1,0,0,0,543,544,5,61,0,0,544,545,5,61,0,0,545,549,1,0,0,0,546,548,8,8,0,0,547,546,1,0,0,0,548,551,1,0,0,0,549,547,1,0,0,0,549,550,1,0,0,0,550,140,1,0,0,0,551,549,1,0,0,0,552,554,8,8,0,0,553,552,1,0,0,0,554,555,1,0,0,0,555,553,1,0,0,0,555,556,1,0,0,0,556,142,1,0,0,0,557,558,7,8,0,0,558,559,1,0,0,0,559,560,6,70,5,0,560,144,1,0,0,0,561,563,8,8,0,0,562,561,1,0,0,0,563,564,1,0,0,0,564,562,1,0,0,0,564,565,1,0,0,0,565,146,1,0,0,0,566,567,7,8,0,0,567,568,1,0,0,0,568,569,6,72,5,0,569,148,1,0,0,0,27,0,1,2,216,286,322,370,416,444,450,459,465,472,477,483,490,492,497,501,509,511,515,527,540,549,555,564,6,0,1,0,0,3,0,5,2,0,5,1,0,0,2,0,4,0,0],$7=new Q.atn.ATNDeserializer().deserialize(XR),JR=$7.decisionToState.map((n,e)=>new Q.dfa.DFA(n,e));class f2 extends Q.Lexer{constructor(e){super(e),this._interp=new Q.atn.LexerATNSimulator(this,$7,JR,new Q.PredictionContextCache)}get atn(){return $7}}h2(f2,"grammarFileName","sequenceLexer.g4"),h2(f2,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL","MODIFIER_CHANNEL"]),h2(f2,"modeNames",["DEFAULT_MODE","EVENT","TITLE_MODE"]),h2(f2,"literalNames",[null,null,"'const'","'readonly'","'static'","'await'","'title'","':'","'<<'","'>>'","'->'",null,"'||'","'&&'","'=='","'!='","'>'","'<'","'>='","'<='","'+'","'-'","'*'","'/'","'%'","'^'","'!'","';'","','","'='","'('","')'","'{'","'}'","'true'","'false'",null,"'if'","'else'",null,"'return'","'new'","'par'","'group'","'opt'","'critical'",null,"'ref'","'as'","'try'","'catch'","'finally'","'in'",null,null,null,"'.'"]),h2(f2,"symbolicNames",[null,"WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),h2(f2,"ruleNames",["WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","HEX","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","UNIT","DIGIT","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),f2.EOF=Q.Token.EOF,f2.WS=1,f2.CONSTANT=2,f2.READONLY=3,f2.STATIC=4,f2.AWAIT=5,f2.TITLE=6,f2.COL=7,f2.SOPEN=8,f2.SCLOSE=9,f2.ARROW=10,f2.COLOR=11,f2.OR=12,f2.AND=13,f2.EQ=14,f2.NEQ=15,f2.GT=16,f2.LT=17,f2.GTEQ=18,f2.LTEQ=19,f2.PLUS=20,f2.MINUS=21,f2.MULT=22,f2.DIV=23,f2.MOD=24,f2.POW=25,f2.NOT=26,f2.SCOL=27,f2.COMMA=28,f2.ASSIGN=29,f2.OPAR=30,f2.CPAR=31,f2.OBRACE=32,f2.CBRACE=33,f2.TRUE=34,f2.FALSE=35,f2.NIL=36,f2.IF=37,f2.ELSE=38,f2.WHILE=39,f2.RETURN=40,f2.NEW=41,f2.PAR=42,f2.GROUP=43,f2.OPT=44,f2.CRITICAL=45,f2.SECTION=46,f2.REF=47,f2.AS=48,f2.TRY=49,f2.CATCH=50,f2.FINALLY=51,f2.IN=52,f2.STARTER_LXR=53,f2.ANNOTATION_RET=54,f2.ANNOTATION=55,f2.DOT=56,f2.ID=57,f2.INT=58,f2.FLOAT=59,f2.MONEY=60,f2.NUMBER_UNIT=61,f2.STRING=62,f2.CR=63,f2.COMMENT=64,f2.OTHER=65,f2.DIVIDER=66,f2.EVENT_PAYLOAD_LXR=67,f2.EVENT_END=68,f2.TITLE_CONTENT=69,f2.TITLE_END=70,f2.COMMENT_CHANNEL=2,f2.MODIFIER_CHANNEL=3,f2.EVENT=1,f2.TITLE_MODE=2,f2.prototype.sempred=function(n,e,t){switch(e){case 68:return this.DIVIDER_sempred(n,t);default:throw"No registered predicate for:"+e}},f2.prototype.DIVIDER_sempred=function(n,e){switch(e){case 0:return this.column===0;default:throw"No predicate with index:"+e}};class X extends Q.tree.ParseTreeListener{enterProg(e){}exitProg(e){}enterTitle(e){}exitTitle(e){}enterHead(e){}exitHead(e){}enterGroup(e){}exitGroup(e){}enterStarterExp(e){}exitStarterExp(e){}enterStarter(e){}exitStarter(e){}enterParticipant(e){}exitParticipant(e){}enterStereotype(e){}exitStereotype(e){}enterLabel(e){}exitLabel(e){}enterParticipantType(e){}exitParticipantType(e){}enterName(e){}exitName(e){}enterWidth(e){}exitWidth(e){}enterBlock(e){}exitBlock(e){}enterRet(e){}exitRet(e){}enterDivider(e){}exitDivider(e){}enterDividerNote(e){}exitDividerNote(e){}enterStat(e){}exitStat(e){}enterPar(e){}exitPar(e){}enterOpt(e){}exitOpt(e){}enterCritical(e){}exitCritical(e){}enterSection(e){}exitSection(e){}enterCreation(e){}exitCreation(e){}enterRef(e){}exitRef(e){}enterCreationBody(e){}exitCreationBody(e){}enterMessage(e){}exitMessage(e){}enterMessageBody(e){}exitMessageBody(e){}enterFunc(e){}exitFunc(e){}enterFrom(e){}exitFrom(e){}enterTo(e){}exitTo(e){}enterSignature(e){}exitSignature(e){}enterInvocation(e){}exitInvocation(e){}enterAssignment(e){}exitAssignment(e){}enterAsyncMessage(e){}exitAsyncMessage(e){}enterContent(e){}exitContent(e){}enterConstruct(e){}exitConstruct(e){}enterType(e){}exitType(e){}enterAssignee(e){}exitAssignee(e){}enterMethodName(e){}exitMethodName(e){}enterParameters(e){}exitParameters(e){}enterParameter(e){}exitParameter(e){}enterNamedParameter(e){}exitNamedParameter(e){}enterDeclaration(e){}exitDeclaration(e){}enterTcf(e){}exitTcf(e){}enterTryBlock(e){}exitTryBlock(e){}enterCatchBlock(e){}exitCatchBlock(e){}enterFinallyBlock(e){}exitFinallyBlock(e){}enterAlt(e){}exitAlt(e){}enterIfBlock(e){}exitIfBlock(e){}enterElseIfBlock(e){}exitElseIfBlock(e){}enterElseBlock(e){}exitElseBlock(e){}enterBraceBlock(e){}exitBraceBlock(e){}enterLoop(e){}exitLoop(e){}enterAssignmentExpr(e){}exitAssignmentExpr(e){}enterFuncExpr(e){}exitFuncExpr(e){}enterAtomExpr(e){}exitAtomExpr(e){}enterOrExpr(e){}exitOrExpr(e){}enterAdditiveExpr(e){}exitAdditiveExpr(e){}enterRelationalExpr(e){}exitRelationalExpr(e){}enterPlusExpr(e){}exitPlusExpr(e){}enterNotExpr(e){}exitNotExpr(e){}enterUnaryMinusExpr(e){}exitUnaryMinusExpr(e){}enterCreationExpr(e){}exitCreationExpr(e){}enterParenthesizedExpr(e){}exitParenthesizedExpr(e){}enterMultiplicationExpr(e){}exitMultiplicationExpr(e){}enterEqualityExpr(e){}exitEqualityExpr(e){}enterAndExpr(e){}exitAndExpr(e){}enterNumberAtom(e){}exitNumberAtom(e){}enterNumberUnitAtom(e){}exitNumberUnitAtom(e){}enterMoneyAtom(e){}exitMoneyAtom(e){}enterBooleanAtom(e){}exitBooleanAtom(e){}enterIdAtom(e){}exitIdAtom(e){}enterStringAtom(e){}exitStringAtom(e){}enterNilAtom(e){}exitNilAtom(e){}enterParExpr(e){}exitParExpr(e){}enterCondition(e){}exitCondition(e){}enterInExpr(e){}exitInExpr(e){}}const eb=[4,1,70,617,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,1,0,3,0,116,8,0,1,0,1,0,3,0,120,8,0,1,0,1,0,1,0,1,0,3,0,126,8,0,1,0,3,0,129,8,0,1,0,1,0,1,0,3,0,134,8,0,1,1,1,1,3,1,138,8,1,1,1,3,1,141,8,1,1,2,1,2,4,2,145,8,2,11,2,12,2,146,1,2,1,2,5,2,151,8,2,10,2,12,2,154,9,2,1,2,3,2,157,8,2,1,3,1,3,3,3,161,8,3,1,3,1,3,5,3,165,8,3,10,3,12,3,168,9,3,1,3,1,3,1,3,3,3,173,8,3,1,3,1,3,1,3,3,3,178,8,3,3,3,180,8,3,1,4,1,4,1,4,3,4,185,8,4,1,4,3,4,188,8,4,1,4,3,4,191,8,4,1,5,1,5,1,6,3,6,196,8,6,1,6,3,6,199,8,6,1,6,1,6,3,6,203,8,6,1,6,3,6,206,8,6,1,6,3,6,209,8,6,1,6,1,6,3,6,213,8,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,222,8,7,1,7,1,7,3,7,226,8,7,3,7,228,8,7,1,8,1,8,1,8,3,8,233,8,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,4,12,242,8,12,11,12,12,12,243,1,13,1,13,3,13,248,8,13,1,13,3,13,251,8,13,1,13,1,13,1,13,3,13,256,8,13,3,13,258,8,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,275,8,16,1,16,1,16,1,16,1,16,1,16,3,16,282,8,16,1,17,1,17,1,17,3,17,287,8,17,1,18,1,18,1,18,3,18,292,8,18,1,19,1,19,1,19,3,19,297,8,19,1,19,3,19,300,8,19,1,19,1,19,3,19,304,8,19,1,20,1,20,1,20,3,20,309,8,20,1,20,3,20,312,8,20,1,20,1,20,1,20,3,20,317,8,20,1,21,1,21,1,21,3,21,322,8,21,1,22,1,22,1,22,1,22,1,22,5,22,329,8,22,10,22,12,22,332,9,22,5,22,334,8,22,10,22,12,22,337,9,22,1,22,1,22,3,22,341,8,22,1,23,3,23,344,8,23,1,23,1,23,1,23,1,23,3,23,350,8,23,1,23,3,23,353,8,23,1,23,3,23,356,8,23,1,23,3,23,359,8,23,1,24,1,24,1,24,3,24,364,8,24,1,25,3,25,367,8,25,1,25,1,25,1,25,3,25,372,8,25,1,25,1,25,1,25,3,25,377,8,25,1,25,1,25,1,25,1,25,1,25,3,25,384,8,25,1,25,1,25,1,25,3,25,389,8,25,1,26,1,26,1,26,5,26,394,8,26,10,26,12,26,397,9,26,1,27,1,27,1,28,1,28,1,29,1,29,3,29,405,8,29,1,30,1,30,3,30,409,8,30,1,30,1,30,1,31,3,31,414,8,31,1,31,1,31,1,31,1,32,1,32,1,32,3,32,422,8,32,1,32,1,32,1,32,3,32,427,8,32,1,32,1,32,1,32,3,32,432,8,32,3,32,434,8,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,36,1,36,5,36,446,8,36,10,36,12,36,449,9,36,1,36,1,36,3,36,453,8,36,1,37,1,37,1,38,1,38,1,38,5,38,460,8,38,10,38,12,38,463,9,38,1,38,3,38,466,8,38,1,39,1,39,1,39,3,39,471,8,39,1,40,1,40,1,40,3,40,476,8,40,1,41,1,41,1,41,1,42,1,42,5,42,483,8,42,10,42,12,42,486,9,42,1,42,3,42,489,8,42,1,43,1,43,1,43,1,44,1,44,3,44,496,8,44,1,44,1,44,1,45,1,45,1,45,1,46,1,46,5,46,505,8,46,10,46,12,46,508,9,46,1,46,3,46,511,8,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,50,1,50,3,50,527,8,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,3,51,538,8,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,549,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,560,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,5,52,583,8,52,10,52,12,52,586,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,595,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,606,8,54,1,55,1,55,1,55,3,55,611,8,55,1,56,1,56,1,56,1,56,1,56,0,1,104,57,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,0,10,2,0,57,57,62,62,2,0,8,8,17,17,2,0,9,9,16,16,2,0,10,10,21,21,1,0,22,24,1,0,20,21,1,0,16,19,1,0,14,15,1,0,58,59,1,0,34,35,689,0,133,1,0,0,0,2,135,1,0,0,0,4,156,1,0,0,0,6,179,1,0,0,0,8,190,1,0,0,0,10,192,1,0,0,0,12,212,1,0,0,0,14,227,1,0,0,0,16,232,1,0,0,0,18,234,1,0,0,0,20,236,1,0,0,0,22,238,1,0,0,0,24,241,1,0,0,0,26,257,1,0,0,0,28,259,1,0,0,0,30,261,1,0,0,0,32,281,1,0,0,0,34,286,1,0,0,0,36,291,1,0,0,0,38,303,1,0,0,0,40,316,1,0,0,0,42,318,1,0,0,0,44,323,1,0,0,0,46,358,1,0,0,0,48,360,1,0,0,0,50,388,1,0,0,0,52,390,1,0,0,0,54,398,1,0,0,0,56,400,1,0,0,0,58,402,1,0,0,0,60,406,1,0,0,0,62,413,1,0,0,0,64,433,1,0,0,0,66,435,1,0,0,0,68,437,1,0,0,0,70,439,1,0,0,0,72,452,1,0,0,0,74,454,1,0,0,0,76,456,1,0,0,0,78,470,1,0,0,0,80,472,1,0,0,0,82,477,1,0,0,0,84,480,1,0,0,0,86,490,1,0,0,0,88,493,1,0,0,0,90,499,1,0,0,0,92,502,1,0,0,0,94,512,1,0,0,0,96,516,1,0,0,0,98,521,1,0,0,0,100,524,1,0,0,0,102,537,1,0,0,0,104,559,1,0,0,0,106,594,1,0,0,0,108,605,1,0,0,0,110,610,1,0,0,0,112,612,1,0,0,0,114,116,3,2,1,0,115,114,1,0,0,0,115,116,1,0,0,0,116,117,1,0,0,0,117,134,5,0,0,1,118,120,3,2,1,0,119,118,1,0,0,0,119,120,1,0,0,0,120,121,1,0,0,0,121,122,3,4,2,0,122,123,5,0,0,1,123,134,1,0,0,0,124,126,3,2,1,0,125,124,1,0,0,0,125,126,1,0,0,0,126,128,1,0,0,0,127,129,3,4,2,0,128,127,1,0,0,0,128,129,1,0,0,0,129,130,1,0,0,0,130,131,3,24,12,0,131,132,5,0,0,1,132,134,1,0,0,0,133,115,1,0,0,0,133,119,1,0,0,0,133,125,1,0,0,0,134,1,1,0,0,0,135,137,5,6,0,0,136,138,5,69,0,0,137,136,1,0,0,0,137,138,1,0,0,0,138,140,1,0,0,0,139,141,5,70,0,0,140,139,1,0,0,0,140,141,1,0,0,0,141,3,1,0,0,0,142,145,3,6,3,0,143,145,3,12,6,0,144,142,1,0,0,0,144,143,1,0,0,0,145,146,1,0,0,0,146,144,1,0,0,0,146,147,1,0,0,0,147,157,1,0,0,0,148,151,3,6,3,0,149,151,3,12,6,0,150,148,1,0,0,0,150,149,1,0,0,0,151,154,1,0,0,0,152,150,1,0,0,0,152,153,1,0,0,0,153,155,1,0,0,0,154,152,1,0,0,0,155,157,3,8,4,0,156,144,1,0,0,0,156,152,1,0,0,0,157,5,1,0,0,0,158,160,5,43,0,0,159,161,3,20,10,0,160,159,1,0,0,0,160,161,1,0,0,0,161,162,1,0,0,0,162,166,5,32,0,0,163,165,3,12,6,0,164,163,1,0,0,0,165,168,1,0,0,0,166,164,1,0,0,0,166,167,1,0,0,0,167,169,1,0,0,0,168,166,1,0,0,0,169,180,5,33,0,0,170,172,5,43,0,0,171,173,3,20,10,0,172,171,1,0,0,0,172,173,1,0,0,0,173,174,1,0,0,0,174,180,5,32,0,0,175,177,5,43,0,0,176,178,3,20,10,0,177,176,1,0,0,0,177,178,1,0,0,0,178,180,1,0,0,0,179,158,1,0,0,0,179,170,1,0,0,0,179,175,1,0,0,0,180,7,1,0,0,0,181,187,5,53,0,0,182,184,5,30,0,0,183,185,3,10,5,0,184,183,1,0,0,0,184,185,1,0,0,0,185,186,1,0,0,0,186,188,5,31,0,0,187,182,1,0,0,0,187,188,1,0,0,0,188,191,1,0,0,0,189,191,5,55,0,0,190,181,1,0,0,0,190,189,1,0,0,0,191,9,1,0,0,0,192,193,7,0,0,0,193,11,1,0,0,0,194,196,3,18,9,0,195,194,1,0,0,0,195,196,1,0,0,0,196,198,1,0,0,0,197,199,3,14,7,0,198,197,1,0,0,0,198,199,1,0,0,0,199,200,1,0,0,0,200,202,3,20,10,0,201,203,3,22,11,0,202,201,1,0,0,0,202,203,1,0,0,0,203,205,1,0,0,0,204,206,3,16,8,0,205,204,1,0,0,0,205,206,1,0,0,0,206,208,1,0,0,0,207,209,5,11,0,0,208,207,1,0,0,0,208,209,1,0,0,0,209,213,1,0,0,0,210,213,3,14,7,0,211,213,3,18,9,0,212,195,1,0,0,0,212,210,1,0,0,0,212,211,1,0,0,0,213,13,1,0,0,0,214,215,5,8,0,0,215,216,3,20,10,0,216,217,5,9,0,0,217,228,1,0,0,0,218,219,5,8,0,0,219,221,3,20,10,0,220,222,5,16,0,0,221,220,1,0,0,0,221,222,1,0,0,0,222,228,1,0,0,0,223,225,7,1,0,0,224,226,7,2,0,0,225,224,1,0,0,0,225,226,1,0,0,0,226,228,1,0,0,0,227,214,1,0,0,0,227,218,1,0,0,0,227,223,1,0,0,0,228,15,1,0,0,0,229,230,5,48,0,0,230,233,3,20,10,0,231,233,5,48,0,0,232,229,1,0,0,0,232,231,1,0,0,0,233,17,1,0,0,0,234,235,5,55,0,0,235,19,1,0,0,0,236,237,7,0,0,0,237,21,1,0,0,0,238,239,5,58,0,0,239,23,1,0,0,0,240,242,3,32,16,0,241,240,1,0,0,0,242,243,1,0,0,0,243,241,1,0,0,0,243,244,1,0,0,0,244,25,1,0,0,0,245,247,5,40,0,0,246,248,3,104,52,0,247,246,1,0,0,0,247,248,1,0,0,0,248,250,1,0,0,0,249,251,5,27,0,0,250,249,1,0,0,0,250,251,1,0,0,0,251,258,1,0,0,0,252,253,5,54,0,0,253,255,3,64,32,0,254,256,5,68,0,0,255,254,1,0,0,0,255,256,1,0,0,0,256,258,1,0,0,0,257,245,1,0,0,0,257,252,1,0,0,0,258,27,1,0,0,0,259,260,3,30,15,0,260,29,1,0,0,0,261,262,5,66,0,0,262,31,1,0,0,0,263,282,3,92,46,0,264,282,3,34,17,0,265,282,3,36,18,0,266,282,3,38,19,0,267,282,3,40,20,0,268,282,3,44,22,0,269,282,3,102,51,0,270,282,3,42,21,0,271,282,3,48,24,0,272,274,3,64,32,0,273,275,5,68,0,0,274,273,1,0,0,0,274,275,1,0,0,0,275,282,1,0,0,0,276,282,3,26,13,0,277,282,3,28,14,0,278,282,3,84,42,0,279,280,5,65,0,0,280,282,6,16,-1,0,281,263,1,0,0,0,281,264,1,0,0,0,281,265,1,0,0,0,281,266,1,0,0,0,281,267,1,0,0,0,281,268,1,0,0,0,281,269,1,0,0,0,281,270,1,0,0,0,281,271,1,0,0,0,281,272,1,0,0,0,281,276,1,0,0,0,281,277,1,0,0,0,281,278,1,0,0,0,281,279,1,0,0,0,282,33,1,0,0,0,283,284,5,42,0,0,284,287,3,100,50,0,285,287,5,42,0,0,286,283,1,0,0,0,286,285,1,0,0,0,287,35,1,0,0,0,288,289,5,44,0,0,289,292,3,100,50,0,290,292,5,44,0,0,291,288,1,0,0,0,291,290,1,0,0,0,292,37,1,0,0,0,293,299,5,45,0,0,294,296,5,30,0,0,295,297,3,106,53,0,296,295,1,0,0,0,296,297,1,0,0,0,297,298,1,0,0,0,298,300,5,31,0,0,299,294,1,0,0,0,299,300,1,0,0,0,300,301,1,0,0,0,301,304,3,100,50,0,302,304,5,45,0,0,303,293,1,0,0,0,303,302,1,0,0,0,304,39,1,0,0,0,305,311,5,46,0,0,306,308,5,30,0,0,307,309,3,106,53,0,308,307,1,0,0,0,308,309,1,0,0,0,309,310,1,0,0,0,310,312,5,31,0,0,311,306,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,317,3,100,50,0,314,317,3,100,50,0,315,317,5,46,0,0,316,305,1,0,0,0,316,314,1,0,0,0,316,315,1,0,0,0,317,41,1,0,0,0,318,321,3,46,23,0,319,322,5,27,0,0,320,322,3,100,50,0,321,319,1,0,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,43,1,0,0,0,323,324,5,47,0,0,324,325,5,30,0,0,325,335,3,20,10,0,326,330,5,28,0,0,327,329,3,20,10,0,328,327,1,0,0,0,329,332,1,0,0,0,330,328,1,0,0,0,330,331,1,0,0,0,331,334,1,0,0,0,332,330,1,0,0,0,333,326,1,0,0,0,334,337,1,0,0,0,335,333,1,0,0,0,335,336,1,0,0,0,336,338,1,0,0,0,337,335,1,0,0,0,338,340,5,31,0,0,339,341,5,27,0,0,340,339,1,0,0,0,340,341,1,0,0,0,341,45,1,0,0,0,342,344,3,62,31,0,343,342,1,0,0,0,343,344,1,0,0,0,344,345,1,0,0,0,345,346,5,41,0,0,346,352,3,68,34,0,347,349,5,30,0,0,348,350,3,76,38,0,349,348,1,0,0,0,349,350,1,0,0,0,350,351,1,0,0,0,351,353,5,31,0,0,352,347,1,0,0,0,352,353,1,0,0,0,353,359,1,0,0,0,354,356,3,62,31,0,355,354,1,0,0,0,355,356,1,0,0,0,356,357,1,0,0,0,357,359,5,41,0,0,358,343,1,0,0,0,358,355,1,0,0,0,359,47,1,0,0,0,360,363,3,50,25,0,361,364,5,27,0,0,362,364,3,100,50,0,363,361,1,0,0,0,363,362,1,0,0,0,363,364,1,0,0,0,364,49,1,0,0,0,365,367,3,62,31,0,366,365,1,0,0,0,366,367,1,0,0,0,367,376,1,0,0,0,368,369,3,54,27,0,369,370,5,10,0,0,370,372,1,0,0,0,371,368,1,0,0,0,371,372,1,0,0,0,372,373,1,0,0,0,373,374,3,56,28,0,374,375,5,56,0,0,375,377,1,0,0,0,376,371,1,0,0,0,376,377,1,0,0,0,377,378,1,0,0,0,378,389,3,52,26,0,379,389,3,62,31,0,380,381,3,54,27,0,381,382,5,10,0,0,382,384,1,0,0,0,383,380,1,0,0,0,383,384,1,0,0,0,384,385,1,0,0,0,385,386,3,56,28,0,386,387,5,56,0,0,387,389,1,0,0,0,388,366,1,0,0,0,388,379,1,0,0,0,388,383,1,0,0,0,389,51,1,0,0,0,390,395,3,58,29,0,391,392,5,56,0,0,392,394,3,58,29,0,393,391,1,0,0,0,394,397,1,0,0,0,395,393,1,0,0,0,395,396,1,0,0,0,396,53,1,0,0,0,397,395,1,0,0,0,398,399,7,0,0,0,399,55,1,0,0,0,400,401,7,0,0,0,401,57,1,0,0,0,402,404,3,74,37,0,403,405,3,60,30,0,404,403,1,0,0,0,404,405,1,0,0,0,405,59,1,0,0,0,406,408,5,30,0,0,407,409,3,76,38,0,408,407,1,0,0,0,408,409,1,0,0,0,409,410,1,0,0,0,410,411,5,31,0,0,411,61,1,0,0,0,412,414,3,70,35,0,413,412,1,0,0,0,413,414,1,0,0,0,414,415,1,0,0,0,415,416,3,72,36,0,416,417,5,29,0,0,417,63,1,0,0,0,418,419,3,54,27,0,419,420,5,10,0,0,420,422,1,0,0,0,421,418,1,0,0,0,421,422,1,0,0,0,422,423,1,0,0,0,423,424,3,56,28,0,424,426,5,7,0,0,425,427,3,66,33,0,426,425,1,0,0,0,426,427,1,0,0,0,427,434,1,0,0,0,428,429,3,54,27,0,429,431,7,3,0,0,430,432,3,56,28,0,431,430,1,0,0,0,431,432,1,0,0,0,432,434,1,0,0,0,433,421,1,0,0,0,433,428,1,0,0,0,434,65,1,0,0,0,435,436,5,67,0,0,436,67,1,0,0,0,437,438,7,0,0,0,438,69,1,0,0,0,439,440,7,0,0,0,440,71,1,0,0,0,441,453,3,106,53,0,442,447,5,57,0,0,443,444,5,28,0,0,444,446,5,57,0,0,445,443,1,0,0,0,446,449,1,0,0,0,447,445,1,0,0,0,447,448,1,0,0,0,448,453,1,0,0,0,449,447,1,0,0,0,450,453,5,62,0,0,451,453,5,41,0,0,452,441,1,0,0,0,452,442,1,0,0,0,452,450,1,0,0,0,452,451,1,0,0,0,453,73,1,0,0,0,454,455,7,0,0,0,455,75,1,0,0,0,456,461,3,78,39,0,457,458,5,28,0,0,458,460,3,78,39,0,459,457,1,0,0,0,460,463,1,0,0,0,461,459,1,0,0,0,461,462,1,0,0,0,462,465,1,0,0,0,463,461,1,0,0,0,464,466,5,28,0,0,465,464,1,0,0,0,465,466,1,0,0,0,466,77,1,0,0,0,467,471,3,80,40,0,468,471,3,82,41,0,469,471,3,104,52,0,470,467,1,0,0,0,470,468,1,0,0,0,470,469,1,0,0,0,471,79,1,0,0,0,472,473,5,57,0,0,473,475,5,29,0,0,474,476,3,104,52,0,475,474,1,0,0,0,475,476,1,0,0,0,476,81,1,0,0,0,477,478,3,70,35,0,478,479,5,57,0,0,479,83,1,0,0,0,480,484,3,86,43,0,481,483,3,88,44,0,482,481,1,0,0,0,483,486,1,0,0,0,484,482,1,0,0,0,484,485,1,0,0,0,485,488,1,0,0,0,486,484,1,0,0,0,487,489,3,90,45,0,488,487,1,0,0,0,488,489,1,0,0,0,489,85,1,0,0,0,490,491,5,49,0,0,491,492,3,100,50,0,492,87,1,0,0,0,493,495,5,50,0,0,494,496,3,60,30,0,495,494,1,0,0,0,495,496,1,0,0,0,496,497,1,0,0,0,497,498,3,100,50,0,498,89,1,0,0,0,499,500,5,51,0,0,500,501,3,100,50,0,501,91,1,0,0,0,502,506,3,94,47,0,503,505,3,96,48,0,504,503,1,0,0,0,505,508,1,0,0,0,506,504,1,0,0,0,506,507,1,0,0,0,507,510,1,0,0,0,508,506,1,0,0,0,509,511,3,98,49,0,510,509,1,0,0,0,510,511,1,0,0,0,511,93,1,0,0,0,512,513,5,37,0,0,513,514,3,108,54,0,514,515,3,100,50,0,515,95,1,0,0,0,516,517,5,38,0,0,517,518,5,37,0,0,518,519,3,108,54,0,519,520,3,100,50,0,520,97,1,0,0,0,521,522,5,38,0,0,522,523,3,100,50,0,523,99,1,0,0,0,524,526,5,32,0,0,525,527,3,24,12,0,526,525,1,0,0,0,526,527,1,0,0,0,527,528,1,0,0,0,528,529,5,33,0,0,529,101,1,0,0,0,530,531,5,39,0,0,531,532,3,108,54,0,532,533,3,100,50,0,533,538,1,0,0,0,534,535,5,39,0,0,535,538,3,108,54,0,536,538,5,39,0,0,537,530,1,0,0,0,537,534,1,0,0,0,537,536,1,0,0,0,538,103,1,0,0,0,539,540,6,52,-1,0,540,560,3,106,53,0,541,542,5,21,0,0,542,560,3,104,52,13,543,544,5,26,0,0,544,560,3,104,52,12,545,546,3,56,28,0,546,547,5,56,0,0,547,549,1,0,0,0,548,545,1,0,0,0,548,549,1,0,0,0,549,550,1,0,0,0,550,560,3,52,26,0,551,560,3,42,21,0,552,553,5,30,0,0,553,554,3,104,52,0,554,555,5,31,0,0,555,560,1,0,0,0,556,557,3,62,31,0,557,558,3,104,52,1,558,560,1,0,0,0,559,539,1,0,0,0,559,541,1,0,0,0,559,543,1,0,0,0,559,548,1,0,0,0,559,551,1,0,0,0,559,552,1,0,0,0,559,556,1,0,0,0,560,584,1,0,0,0,561,562,10,11,0,0,562,563,7,4,0,0,563,583,3,104,52,12,564,565,10,10,0,0,565,566,7,5,0,0,566,583,3,104,52,11,567,568,10,9,0,0,568,569,7,6,0,0,569,583,3,104,52,10,570,571,10,8,0,0,571,572,7,7,0,0,572,583,3,104,52,9,573,574,10,7,0,0,574,575,5,13,0,0,575,583,3,104,52,8,576,577,10,6,0,0,577,578,5,12,0,0,578,583,3,104,52,7,579,580,10,5,0,0,580,581,5,20,0,0,581,583,3,104,52,6,582,561,1,0,0,0,582,564,1,0,0,0,582,567,1,0,0,0,582,570,1,0,0,0,582,573,1,0,0,0,582,576,1,0,0,0,582,579,1,0,0,0,583,586,1,0,0,0,584,582,1,0,0,0,584,585,1,0,0,0,585,105,1,0,0,0,586,584,1,0,0,0,587,595,7,8,0,0,588,595,5,61,0,0,589,595,5,60,0,0,590,595,7,9,0,0,591,595,5,57,0,0,592,595,5,62,0,0,593,595,5,36,0,0,594,587,1,0,0,0,594,588,1,0,0,0,594,589,1,0,0,0,594,590,1,0,0,0,594,591,1,0,0,0,594,592,1,0,0,0,594,593,1,0,0,0,595,107,1,0,0,0,596,597,5,30,0,0,597,598,3,110,55,0,598,599,5,31,0,0,599,606,1,0,0,0,600,601,5,30,0,0,601,606,3,110,55,0,602,603,5,30,0,0,603,606,5,31,0,0,604,606,5,30,0,0,605,596,1,0,0,0,605,600,1,0,0,0,605,602,1,0,0,0,605,604,1,0,0,0,606,109,1,0,0,0,607,611,3,106,53,0,608,611,3,104,52,0,609,611,3,112,56,0,610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,111,1,0,0,0,612,613,5,57,0,0,613,614,5,52,0,0,614,615,5,57,0,0,615,113,1,0,0,0,88,115,119,125,128,133,137,140,144,146,150,152,156,160,166,172,177,179,184,187,190,195,198,202,205,208,212,221,225,227,232,243,247,250,255,257,274,281,286,291,296,299,303,308,311,316,321,330,335,340,343,349,352,355,358,363,366,371,376,383,388,395,404,408,413,421,426,431,433,447,452,461,465,470,475,484,488,495,506,510,526,537,548,559,582,584,594,605,610],K7=new Q.atn.ATNDeserializer().deserialize(eb),tb=K7.decisionToState.map((n,e)=>new Q.dfa.DFA(n,e)),nb=new Q.PredictionContextCache,B=class B extends Q.Parser{constructor(e){super(e),this._interp=new Q.atn.ParserATNSimulator(this,K7,tb,nb),this.ruleNames=B.ruleNames,this.literalNames=B.literalNames,this.symbolicNames=B.symbolicNames}get atn(){return K7}sempred(e,t,i){switch(t){case 52:return this.expr_sempred(e,i);default:throw"No predicate with index:"+t}}expr_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,11);case 1:return this.precpred(this._ctx,10);case 2:return this.precpred(this._ctx,9);case 3:return this.precpred(this._ctx,8);case 4:return this.precpred(this._ctx,7);case 5:return this.precpred(this._ctx,6);case 6:return this.precpred(this._ctx,5);default:throw"No predicate with index:"+t}}prog(){let e=new Wd(this,this._ctx,this.state);this.enterRule(e,0,B.RULE_prog);var t=0;try{this.state=133,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,4,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=115,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=114,this.title()),this.state=117,this.match(B.EOF);break;case 2:this.enterOuterAlt(e,2),this.state=119,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=118,this.title()),this.state=121,this.head(),this.state=122,this.match(B.EOF);break;case 3:this.enterOuterAlt(e,3),this.state=125,this._errHandler.sync(this),t=this._input.LA(1),t===6&&(this.state=124,this.title()),this.state=128,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,3,this._ctx);i===1&&(this.state=127,this.head()),this.state=130,this.block(),this.state=131,this.match(B.EOF);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}title(){let e=new Q7(this,this._ctx,this.state);this.enterRule(e,2,B.RULE_title);var t=0;try{this.enterOuterAlt(e,1),this.state=135,this.match(B.TITLE),this.state=137,this._errHandler.sync(this),t=this._input.LA(1),t===69&&(this.state=136,this.match(B.TITLE_CONTENT)),this.state=140,this._errHandler.sync(this),t=this._input.LA(1),t===70&&(this.state=139,this.match(B.TITLE_END))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}head(){let e=new j7(this,this._ctx,this.state);this.enterRule(e,4,B.RULE_head);try{this.state=156,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,11,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=144,this._errHandler.sync(this);var i=1;do{switch(i){case 1:switch(this.state=144,this._errHandler.sync(this),this._input.LA(1)){case 43:this.state=142,this.group();break;case 8:case 17:case 55:case 57:case 62:this.state=143,this.participant();break;default:throw new Q.error.NoViableAltException(this)}break;default:throw new Q.error.NoViableAltException(this)}this.state=146,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,8,this._ctx)}while(i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER);break;case 2:this.enterOuterAlt(e,2),this.state=152,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,10,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;){if(i===1)switch(this.state=150,this._errHandler.sync(this),this._input.LA(1)){case 43:this.state=148,this.group();break;case 8:case 17:case 55:case 57:case 62:this.state=149,this.participant();break;default:throw new Q.error.NoViableAltException(this)}this.state=154,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,10,this._ctx)}this.state=155,this.starterExp();break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}group(){let e=new Zn(this,this._ctx,this.state);this.enterRule(e,6,B.RULE_group);var t=0;try{this.state=179,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,16,this._ctx);switch(i){case 1:for(this.enterOuterAlt(e,1),this.state=158,this.match(B.GROUP),this.state=160,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=159,this.name()),this.state=162,this.match(B.OBRACE),this.state=166,this._errHandler.sync(this),t=this._input.LA(1);t===8||t===17||(t-55&-32)==0&&(1<<t-55&133)!==0;)this.state=163,this.participant(),this.state=168,this._errHandler.sync(this),t=this._input.LA(1);this.state=169,this.match(B.CBRACE);break;case 2:this.enterOuterAlt(e,2),this.state=170,this.match(B.GROUP),this.state=172,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=171,this.name()),this.state=174,this.match(B.OBRACE);break;case 3:this.enterOuterAlt(e,3),this.state=175,this.match(B.GROUP),this.state=177,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,15,this._ctx);i===1&&(this.state=176,this.name());break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}starterExp(){let e=new X7(this,this._ctx,this.state);this.enterRule(e,8,B.RULE_starterExp);var t=0;try{switch(this.state=190,this._errHandler.sync(this),this._input.LA(1)){case 53:this.enterOuterAlt(e,1),this.state=181,this.match(B.STARTER_LXR),this.state=187,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=182,this.match(B.OPAR),this.state=184,this._errHandler.sync(this),t=this._input.LA(1),(t===57||t===62)&&(this.state=183,this.starter()),this.state=186,this.match(B.CPAR));break;case 55:this.enterOuterAlt(e,2),this.state=189,this.match(B.ANNOTATION);break;default:throw new Q.error.NoViableAltException(this)}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}starter(){let e=new J7(this,this._ctx,this.state);this.enterRule(e,10,B.RULE_starter);var t=0;try{this.enterOuterAlt(e,1),this.state=192,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}participant(){let e=new G9(this,this._ctx,this.state);this.enterRule(e,12,B.RULE_participant);var t=0;try{this.state=212,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,25,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=195,this._errHandler.sync(this),t=this._input.LA(1),t===55&&(this.state=194,this.participantType()),this.state=198,this._errHandler.sync(this),t=this._input.LA(1),(t===8||t===17)&&(this.state=197,this.stereotype()),this.state=200,this.name(),this.state=202,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,22,this._ctx);i===1&&(this.state=201,this.width()),this.state=205,this._errHandler.sync(this),t=this._input.LA(1),t===48&&(this.state=204,this.label()),this.state=208,this._errHandler.sync(this),t=this._input.LA(1),t===11&&(this.state=207,this.match(B.COLOR));break;case 2:this.enterOuterAlt(e,2),this.state=210,this.stereotype();break;case 3:this.enterOuterAlt(e,3),this.state=211,this.participantType();break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}stereotype(){let e=new ei(this,this._ctx,this.state);this.enterRule(e,14,B.RULE_stereotype);var t=0;try{this.state=227,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,28,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=214,this.match(B.SOPEN),this.state=215,this.name(),this.state=216,this.match(B.SCLOSE);break;case 2:this.enterOuterAlt(e,2),this.state=218,this.match(B.SOPEN),this.state=219,this.name(),this.state=221,this._errHandler.sync(this),t=this._input.LA(1),t===16&&(this.state=220,this.match(B.GT));break;case 3:this.enterOuterAlt(e,3),this.state=223,t=this._input.LA(1),t===8||t===17?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=225,this._errHandler.sync(this),t=this._input.LA(1),(t===9||t===16)&&(this.state=224,t=this._input.LA(1),t===9||t===16?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this));break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}label(){let e=new ti(this,this._ctx,this.state);this.enterRule(e,16,B.RULE_label);try{this.state=232,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,29,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=229,this.match(B.AS),this.state=230,this.name();break;case 2:this.enterOuterAlt(e,2),this.state=231,this.match(B.AS);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}participantType(){let e=new ni(this,this._ctx,this.state);this.enterRule(e,18,B.RULE_participantType);try{this.enterOuterAlt(e,1),this.state=234,this.match(B.ANNOTATION)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}name(){let e=new Lt(this,this._ctx,this.state);this.enterRule(e,20,B.RULE_name);var t=0;try{this.enterOuterAlt(e,1),this.state=236,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}width(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,22,B.RULE_width);try{this.enterOuterAlt(e,1),this.state=238,this.match(B.INT)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}block(){let e=new Bn(this,this._ctx,this.state);this.enterRule(e,24,B.RULE_block);var t=0;try{this.enterOuterAlt(e,1),this.state=241,this._errHandler.sync(this),t=this._input.LA(1);do this.state=240,this.stat(),this.state=243,this._errHandler.sync(this),t=this._input.LA(1);while((t-32&-32)==0&&(1<<t-32&2118318013)!==0||t===65||t===66)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}ret(){let e=new ri(this,this._ctx,this.state);this.enterRule(e,26,B.RULE_ret);var t=0;try{switch(this.state=257,this._errHandler.sync(this),this._input.LA(1)){case 40:this.enterOuterAlt(e,1),this.state=245,this.match(B.RETURN),this.state=247,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,31,this._ctx);i===1&&(this.state=246,this.expr(0)),this.state=250,this._errHandler.sync(this),t=this._input.LA(1),t===27&&(this.state=249,this.match(B.SCOL));break;case 54:this.enterOuterAlt(e,2),this.state=252,this.match(B.ANNOTATION_RET),this.state=253,this.asyncMessage(),this.state=255,this._errHandler.sync(this),t=this._input.LA(1),t===68&&(this.state=254,this.match(B.EVENT_END));break;default:throw new Q.error.NoViableAltException(this)}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}divider(){let e=new ai(this,this._ctx,this.state);this.enterRule(e,28,B.RULE_divider);try{this.enterOuterAlt(e,1),this.state=259,this.dividerNote()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}dividerNote(){let e=new si(this,this._ctx,this.state);this.enterRule(e,30,B.RULE_dividerNote);try{this.enterOuterAlt(e,1),this.state=261,this.match(B.DIVIDER)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}stat(){let e=new Gn(this,this._ctx,this.state);this.enterRule(e,32,B.RULE_stat);var t=0;try{this.state=281,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,36,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=263,this.alt();break;case 2:this.enterOuterAlt(e,2),this.state=264,this.par();break;case 3:this.enterOuterAlt(e,3),this.state=265,this.opt();break;case 4:this.enterOuterAlt(e,4),this.state=266,this.critical();break;case 5:this.enterOuterAlt(e,5),this.state=267,this.section();break;case 6:this.enterOuterAlt(e,6),this.state=268,this.ref();break;case 7:this.enterOuterAlt(e,7),this.state=269,this.loop();break;case 8:this.enterOuterAlt(e,8),this.state=270,this.creation();break;case 9:this.enterOuterAlt(e,9),this.state=271,this.message();break;case 10:this.enterOuterAlt(e,10),this.state=272,this.asyncMessage(),this.state=274,this._errHandler.sync(this),t=this._input.LA(1),t===68&&(this.state=273,this.match(B.EVENT_END));break;case 11:this.enterOuterAlt(e,11),this.state=276,this.ret();break;case 12:this.enterOuterAlt(e,12),this.state=277,this.divider();break;case 13:this.enterOuterAlt(e,13),this.state=278,this.tcf();break;case 14:this.enterOuterAlt(e,14),this.state=279,e._OTHER=this.match(B.OTHER),console.log("unknown char: "+(e._OTHER===null?null:e._OTHER.text));break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}par(){let e=new oi(this,this._ctx,this.state);this.enterRule(e,34,B.RULE_par);try{this.state=286,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,37,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=283,this.match(B.PAR),this.state=284,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=285,this.match(B.PAR);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}opt(){let e=new li(this,this._ctx,this.state);this.enterRule(e,36,B.RULE_opt);try{this.state=291,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,38,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=288,this.match(B.OPT),this.state=289,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=290,this.match(B.OPT);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}critical(){let e=new ci(this,this._ctx,this.state);this.enterRule(e,38,B.RULE_critical);var t=0;try{this.state=303,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,41,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=293,this.match(B.CRITICAL),this.state=299,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=294,this.match(B.OPAR),this.state=296,this._errHandler.sync(this),t=this._input.LA(1),(t-34&-32)==0&&(1<<t-34&528482311)!==0&&(this.state=295,this.atom()),this.state=298,this.match(B.CPAR)),this.state=301,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=302,this.match(B.CRITICAL);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}section(){let e=new ui(this,this._ctx,this.state);this.enterRule(e,40,B.RULE_section);var t=0;try{this.state=316,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,44,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=305,this.match(B.SECTION),this.state=311,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=306,this.match(B.OPAR),this.state=308,this._errHandler.sync(this),t=this._input.LA(1),(t-34&-32)==0&&(1<<t-34&528482311)!==0&&(this.state=307,this.atom()),this.state=310,this.match(B.CPAR)),this.state=313,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=314,this.braceBlock();break;case 3:this.enterOuterAlt(e,3),this.state=315,this.match(B.SECTION);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}creation(){let e=new zn(this,this._ctx,this.state);this.enterRule(e,42,B.RULE_creation);try{this.enterOuterAlt(e,1),this.state=318,this.creationBody(),this.state=321,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,45,this._ctx);t===1?(this.state=319,this.match(B.SCOL)):t===2&&(this.state=320,this.braceBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}ref(){let e=new di(this,this._ctx,this.state);this.enterRule(e,44,B.RULE_ref);var t=0;try{for(this.enterOuterAlt(e,1),this.state=323,this.match(B.REF),this.state=324,this.match(B.OPAR),this.state=325,this.name(),this.state=335,this._errHandler.sync(this),t=this._input.LA(1);t===28;){for(this.state=326,this.match(B.COMMA),this.state=330,this._errHandler.sync(this),t=this._input.LA(1);t===57||t===62;)this.state=327,this.name(),this.state=332,this._errHandler.sync(this),t=this._input.LA(1);this.state=337,this._errHandler.sync(this),t=this._input.LA(1)}this.state=338,this.match(B.CPAR),this.state=340,this._errHandler.sync(this),t=this._input.LA(1),t===27&&(this.state=339,this.match(B.SCOL))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}creationBody(){let e=new Li(this,this._ctx,this.state);this.enterRule(e,46,B.RULE_creationBody);var t=0;try{this.state=358,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,53,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=343,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,49,this._ctx);i===1&&(this.state=342,this.assignment()),this.state=345,this.match(B.NEW),this.state=346,this.construct(),this.state=352,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,51,this._ctx);i===1&&(this.state=347,this.match(B.OPAR),this.state=349,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=348,this.parameters()),this.state=351,this.match(B.CPAR));break;case 2:this.enterOuterAlt(e,2),this.state=355,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,52,this._ctx);i===1&&(this.state=354,this.assignment()),this.state=357,this.match(B.NEW);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}message(){let e=new Ci(this,this._ctx,this.state);this.enterRule(e,48,B.RULE_message);try{this.enterOuterAlt(e,1),this.state=360,this.messageBody(),this.state=363,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,54,this._ctx);t===1?(this.state=361,this.match(B.SCOL)):t===2&&(this.state=362,this.braceBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}messageBody(){let e=new _i(this,this._ctx,this.state);this.enterRule(e,50,B.RULE_messageBody);try{this.state=388,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,59,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=366,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,55,this._ctx);t===1&&(this.state=365,this.assignment()),this.state=376,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,57,this._ctx);if(t===1){this.state=371,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,56,this._ctx);t===1&&(this.state=368,this.from(),this.state=369,this.match(B.ARROW)),this.state=373,this.to(),this.state=374,this.match(B.DOT)}this.state=378,this.func();break;case 2:this.enterOuterAlt(e,2),this.state=379,this.assignment();break;case 3:this.enterOuterAlt(e,3),this.state=383,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,58,this._ctx);t===1&&(this.state=380,this.from(),this.state=381,this.match(B.ARROW)),this.state=385,this.to(),this.state=386,this.match(B.DOT);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}func(){let e=new Hn(this,this._ctx,this.state);this.enterRule(e,52,B.RULE_func);try{this.enterOuterAlt(e,1),this.state=390,this.signature(),this.state=395,this._errHandler.sync(this);for(var t=this._interp.adaptivePredict(this._input,60,this._ctx);t!=2&&t!=Q.atn.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=391,this.match(B.DOT),this.state=392,this.signature()),this.state=397,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,60,this._ctx)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}from(){let e=new Yn(this,this._ctx,this.state);this.enterRule(e,54,B.RULE_from);var t=0;try{this.enterOuterAlt(e,1),this.state=398,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}to(){let e=new $0(this,this._ctx,this.state);this.enterRule(e,56,B.RULE_to);var t=0;try{this.enterOuterAlt(e,1),this.state=400,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}signature(){let e=new Vn(this,this._ctx,this.state);this.enterRule(e,58,B.RULE_signature);try{this.enterOuterAlt(e,1),this.state=402,this.methodName(),this.state=404,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,61,this._ctx);t===1&&(this.state=403,this.invocation())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}invocation(){let e=new qn(this,this._ctx,this.state);this.enterRule(e,60,B.RULE_invocation);var t=0;try{this.enterOuterAlt(e,1),this.state=406,this.match(B.OPAR),this.state=408,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=407,this.parameters()),this.state=410,this.match(B.CPAR)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}assignment(){let e=new K0(this,this._ctx,this.state);this.enterRule(e,62,B.RULE_assignment);try{this.enterOuterAlt(e,1),this.state=413,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,63,this._ctx);t===1&&(this.state=412,this.type()),this.state=415,this.assignee(),this.state=416,this.match(B.ASSIGN)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}asyncMessage(){let e=new Wn(this,this._ctx,this.state);this.enterRule(e,64,B.RULE_asyncMessage);var t=0;try{this.state=433,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,67,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=421,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,64,this._ctx);i===1&&(this.state=418,this.from(),this.state=419,this.match(B.ARROW)),this.state=423,this.to(),this.state=424,this.match(B.COL),this.state=426,this._errHandler.sync(this),t=this._input.LA(1),t===67&&(this.state=425,this.content());break;case 2:this.enterOuterAlt(e,2),this.state=428,this.from(),this.state=429,t=this._input.LA(1),t===10||t===21?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=431,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,66,this._ctx);i===1&&(this.state=430,this.to());break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}content(){let e=new gi(this,this._ctx,this.state);this.enterRule(e,66,B.RULE_content);try{this.enterOuterAlt(e,1),this.state=435,this.match(B.EVENT_PAYLOAD_LXR)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}construct(){let e=new pi(this,this._ctx,this.state);this.enterRule(e,68,B.RULE_construct);var t=0;try{this.enterOuterAlt(e,1),this.state=437,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}type(){let e=new $n(this,this._ctx,this.state);this.enterRule(e,70,B.RULE_type);var t=0;try{this.enterOuterAlt(e,1),this.state=439,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}assignee(){let e=new mi(this,this._ctx,this.state);this.enterRule(e,72,B.RULE_assignee);var t=0;try{this.state=452,this._errHandler.sync(this);var i=this._interp.adaptivePredict(this._input,69,this._ctx);switch(i){case 1:this.enterOuterAlt(e,1),this.state=441,this.atom();break;case 2:for(this.enterOuterAlt(e,2),this.state=442,this.match(B.ID),this.state=447,this._errHandler.sync(this),t=this._input.LA(1);t===28;)this.state=443,this.match(B.COMMA),this.state=444,this.match(B.ID),this.state=449,this._errHandler.sync(this),t=this._input.LA(1);break;case 3:this.enterOuterAlt(e,3),this.state=450,this.match(B.STRING);break;case 4:this.enterOuterAlt(e,4),this.state=451,this.match(B.NEW);break}}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}methodName(){let e=new hi(this,this._ctx,this.state);this.enterRule(e,74,B.RULE_methodName);var t=0;try{this.enterOuterAlt(e,1),this.state=454,t=this._input.LA(1),t===57||t===62?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}parameters(){let e=new Kn(this,this._ctx,this.state);this.enterRule(e,76,B.RULE_parameters);var t=0;try{this.enterOuterAlt(e,1),this.state=456,this.parameter(),this.state=461,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,70,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;)i===1&&(this.state=457,this.match(B.COMMA),this.state=458,this.parameter()),this.state=463,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,70,this._ctx);this.state=465,this._errHandler.sync(this),t=this._input.LA(1),t===28&&(this.state=464,this.match(B.COMMA))}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}parameter(){let e=new Qn(this,this._ctx,this.state);this.enterRule(e,78,B.RULE_parameter);try{this.state=470,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,72,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=467,this.namedParameter();break;case 2:this.enterOuterAlt(e,2),this.state=468,this.declaration();break;case 3:this.enterOuterAlt(e,3),this.state=469,this.expr(0);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}namedParameter(){let e=new fi(this,this._ctx,this.state);this.enterRule(e,80,B.RULE_namedParameter);var t=0;try{this.enterOuterAlt(e,1),this.state=472,this.match(B.ID),this.state=473,this.match(B.ASSIGN),this.state=475,this._errHandler.sync(this),t=this._input.LA(1),((t&-32)==0&&(1<<t&1142947840)!==0||(t-34&-32)==0&&(1<<t-34&528482439)!==0)&&(this.state=474,this.expr(0))}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}declaration(){let e=new Ei(this,this._ctx,this.state);this.enterRule(e,82,B.RULE_declaration);try{this.enterOuterAlt(e,1),this.state=477,this.type(),this.state=478,this.match(B.ID)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}tcf(){let e=new Si(this,this._ctx,this.state);this.enterRule(e,84,B.RULE_tcf);var t=0;try{for(this.enterOuterAlt(e,1),this.state=480,this.tryBlock(),this.state=484,this._errHandler.sync(this),t=this._input.LA(1);t===50;)this.state=481,this.catchBlock(),this.state=486,this._errHandler.sync(this),t=this._input.LA(1);this.state=488,this._errHandler.sync(this),t=this._input.LA(1),t===51&&(this.state=487,this.finallyBlock())}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}tryBlock(){let e=new Ti(this,this._ctx,this.state);this.enterRule(e,86,B.RULE_tryBlock);try{this.enterOuterAlt(e,1),this.state=490,this.match(B.TRY),this.state=491,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}catchBlock(){let e=new jn(this,this._ctx,this.state);this.enterRule(e,88,B.RULE_catchBlock);var t=0;try{this.enterOuterAlt(e,1),this.state=493,this.match(B.CATCH),this.state=495,this._errHandler.sync(this),t=this._input.LA(1),t===30&&(this.state=494,this.invocation()),this.state=497,this.braceBlock()}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}finallyBlock(){let e=new vi(this,this._ctx,this.state);this.enterRule(e,90,B.RULE_finallyBlock);try{this.enterOuterAlt(e,1),this.state=499,this.match(B.FINALLY),this.state=500,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}alt(){let e=new Ri(this,this._ctx,this.state);this.enterRule(e,92,B.RULE_alt);var t=0;try{this.enterOuterAlt(e,1),this.state=502,this.ifBlock(),this.state=506,this._errHandler.sync(this);for(var i=this._interp.adaptivePredict(this._input,77,this._ctx);i!=2&&i!=Q.atn.ATN.INVALID_ALT_NUMBER;)i===1&&(this.state=503,this.elseIfBlock()),this.state=508,this._errHandler.sync(this),i=this._interp.adaptivePredict(this._input,77,this._ctx);this.state=510,this._errHandler.sync(this),t=this._input.LA(1),t===38&&(this.state=509,this.elseBlock())}catch(s){if(s instanceof Q.error.RecognitionException)e.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.exitRule()}return e}ifBlock(){let e=new bi(this,this._ctx,this.state);this.enterRule(e,94,B.RULE_ifBlock);try{this.enterOuterAlt(e,1),this.state=512,this.match(B.IF),this.state=513,this.parExpr(),this.state=514,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}elseIfBlock(){let e=new Xn(this,this._ctx,this.state);this.enterRule(e,96,B.RULE_elseIfBlock);try{this.enterOuterAlt(e,1),this.state=516,this.match(B.ELSE),this.state=517,this.match(B.IF),this.state=518,this.parExpr(),this.state=519,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}elseBlock(){let e=new xi(this,this._ctx,this.state);this.enterRule(e,98,B.RULE_elseBlock);try{this.enterOuterAlt(e,1),this.state=521,this.match(B.ELSE),this.state=522,this.braceBlock()}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}braceBlock(){let e=new $e(this,this._ctx,this.state);this.enterRule(e,100,B.RULE_braceBlock);var t=0;try{this.enterOuterAlt(e,1),this.state=524,this.match(B.OBRACE),this.state=526,this._errHandler.sync(this),t=this._input.LA(1),((t-32&-32)==0&&(1<<t-32&2118318013)!==0||t===65||t===66)&&(this.state=525,this.block()),this.state=528,this.match(B.CBRACE)}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}loop(){let e=new wi(this,this._ctx,this.state);this.enterRule(e,102,B.RULE_loop);try{this.state=537,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,80,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=530,this.match(B.WHILE),this.state=531,this.parExpr(),this.state=532,this.braceBlock();break;case 2:this.enterOuterAlt(e,2),this.state=534,this.match(B.WHILE),this.state=535,this.parExpr();break;case 3:this.enterOuterAlt(e,3),this.state=536,this.match(B.WHILE);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}expr(e){e===void 0&&(e=0);const t=this._ctx,i=this.state;let s=new $2(this,this._ctx,i),l=s;const c=104;this.enterRecursionRule(s,104,B.RULE_expr,e);var d=0;try{this.enterOuterAlt(s,1),this.state=559,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,82,this._ctx);switch(L){case 1:s=new Qd(this,s),this._ctx=s,l=s,this.state=540,this.atom();break;case 2:s=new nL(this,s),this._ctx=s,l=s,this.state=541,this.match(B.MINUS),this.state=542,this.expr(13);break;case 3:s=new tL(this,s),this._ctx=s,l=s,this.state=543,this.match(B.NOT),this.state=544,this.expr(12);break;case 4:s=new Kd(this,s),this._ctx=s,l=s,this.state=548,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,81,this._ctx);L===1&&(this.state=545,this.to(),this.state=546,this.match(B.DOT)),this.state=550,this.func();break;case 5:s=new iL(this,s),this._ctx=s,l=s,this.state=551,this.creation();break;case 6:s=new rL(this,s),this._ctx=s,l=s,this.state=552,this.match(B.OPAR),this.state=553,this.expr(0),this.state=554,this.match(B.CPAR);break;case 7:s=new $d(this,s),this._ctx=s,l=s,this.state=556,this.assignment(),this.state=557,this.expr(1);break}this._ctx.stop=this._input.LT(-1),this.state=584,this._errHandler.sync(this);for(var _=this._interp.adaptivePredict(this._input,84,this._ctx);_!=2&&_!=Q.atn.ATN.INVALID_ALT_NUMBER;){if(_===1){this._parseListeners!==null&&this.triggerExitRuleEvent(),l=s,this.state=582,this._errHandler.sync(this);var L=this._interp.adaptivePredict(this._input,83,this._ctx);switch(L){case 1:if(s=new aL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=561,!this.precpred(this._ctx,11))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 11)");this.state=562,s.op=this._input.LT(1),d=this._input.LA(1),(d&-32)==0&&(1<<d&29360128)!==0?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=563,this.expr(12);break;case 2:if(s=new Xd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=564,!this.precpred(this._ctx,10))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=565,s.op=this._input.LT(1),d=this._input.LA(1),d===20||d===21?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=566,this.expr(11);break;case 3:if(s=new Jd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=567,!this.precpred(this._ctx,9))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 9)");this.state=568,s.op=this._input.LT(1),d=this._input.LA(1),(d&-32)==0&&(1<<d&983040)!==0?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=569,this.expr(10);break;case 4:if(s=new sL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=570,!this.precpred(this._ctx,8))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 8)");this.state=571,s.op=this._input.LT(1),d=this._input.LA(1),d===14||d===15?(this._errHandler.reportMatch(this),this.consume()):s.op=this._errHandler.recoverInline(this),this.state=572,this.expr(9);break;case 5:if(s=new oL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=573,!this.precpred(this._ctx,7))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 7)");this.state=574,this.match(B.AND),this.state=575,this.expr(8);break;case 6:if(s=new jd(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=576,!this.precpred(this._ctx,6))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 6)");this.state=577,this.match(B.OR),this.state=578,this.expr(7);break;case 7:if(s=new eL(this,new $2(this,t,i)),this.pushNewRecursionContext(s,c,B.RULE_expr),this.state=579,!this.precpred(this._ctx,5))throw new Q.error.FailedPredicateException(this,"this.precpred(this._ctx, 5)");this.state=580,this.match(B.PLUS),this.state=581,this.expr(6);break}}this.state=586,this._errHandler.sync(this),_=this._interp.adaptivePredict(this._input,84,this._ctx)}}catch(p){if(p instanceof Q.error.RecognitionException)s.exception=p,this._errHandler.reportError(this,p),this._errHandler.recover(this,p);else throw p}finally{this.unrollRecursionContexts(t)}return s}atom(){let e=new r3(this,this._ctx,this.state);this.enterRule(e,106,B.RULE_atom);var t=0;try{switch(this.state=594,this._errHandler.sync(this),this._input.LA(1)){case 58:case 59:e=new CL(this,e),this.enterOuterAlt(e,1),this.state=587,t=this._input.LA(1),t===58||t===59?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this);break;case 61:e=new _L(this,e),this.enterOuterAlt(e,2),this.state=588,this.match(B.NUMBER_UNIT);break;case 60:e=new uL(this,e),this.enterOuterAlt(e,3),this.state=589,this.match(B.MONEY);break;case 34:case 35:e=new lL(this,e),this.enterOuterAlt(e,4),this.state=590,t=this._input.LA(1),t===34||t===35?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this);break;case 57:e=new cL(this,e),this.enterOuterAlt(e,5),this.state=591,this.match(B.ID);break;case 62:e=new dL(this,e),this.enterOuterAlt(e,6),this.state=592,this.match(B.STRING);break;case 36:e=new LL(this,e),this.enterOuterAlt(e,7),this.state=593,this.match(B.NIL);break;default:throw new Q.error.NoViableAltException(this)}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}parExpr(){let e=new Q0(this,this._ctx,this.state);this.enterRule(e,108,B.RULE_parExpr);try{this.state=605,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,86,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=596,this.match(B.OPAR),this.state=597,this.condition(),this.state=598,this.match(B.CPAR);break;case 2:this.enterOuterAlt(e,2),this.state=600,this.match(B.OPAR),this.state=601,this.condition();break;case 3:this.enterOuterAlt(e,3),this.state=602,this.match(B.OPAR),this.state=603,this.match(B.CPAR);break;case 4:this.enterOuterAlt(e,4),this.state=604,this.match(B.OPAR);break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}condition(){let e=new Mi(this,this._ctx,this.state);this.enterRule(e,110,B.RULE_condition);try{this.state=610,this._errHandler.sync(this);var t=this._interp.adaptivePredict(this._input,87,this._ctx);switch(t){case 1:this.enterOuterAlt(e,1),this.state=607,this.atom();break;case 2:this.enterOuterAlt(e,2),this.state=608,this.expr(0);break;case 3:this.enterOuterAlt(e,3),this.state=609,this.inExpr();break}}catch(i){if(i instanceof Q.error.RecognitionException)e.exception=i,this._errHandler.reportError(this,i),this._errHandler.recover(this,i);else throw i}finally{this.exitRule()}return e}inExpr(){let e=new Ai(this,this._ctx,this.state);this.enterRule(e,112,B.RULE_inExpr);try{this.enterOuterAlt(e,1),this.state=612,this.match(B.ID),this.state=613,this.match(B.IN),this.state=614,this.match(B.ID)}catch(t){if(t instanceof Q.error.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}};h2(B,"grammarFileName","java-escape"),h2(B,"literalNames",[null,null,"'const'","'readonly'","'static'","'await'","'title'","':'","'<<'","'>>'","'->'",null,"'||'","'&&'","'=='","'!='","'>'","'<'","'>='","'<='","'+'","'-'","'*'","'/'","'%'","'^'","'!'","';'","','","'='","'('","')'","'{'","'}'","'true'","'false'",null,"'if'","'else'",null,"'return'","'new'","'par'","'group'","'opt'","'critical'",null,"'ref'","'as'","'try'","'catch'","'finally'","'in'",null,null,null,"'.'"]),h2(B,"symbolicNames",[null,"WS","CONSTANT","READONLY","STATIC","AWAIT","TITLE","COL","SOPEN","SCLOSE","ARROW","COLOR","OR","AND","EQ","NEQ","GT","LT","GTEQ","LTEQ","PLUS","MINUS","MULT","DIV","MOD","POW","NOT","SCOL","COMMA","ASSIGN","OPAR","CPAR","OBRACE","CBRACE","TRUE","FALSE","NIL","IF","ELSE","WHILE","RETURN","NEW","PAR","GROUP","OPT","CRITICAL","SECTION","REF","AS","TRY","CATCH","FINALLY","IN","STARTER_LXR","ANNOTATION_RET","ANNOTATION","DOT","ID","INT","FLOAT","MONEY","NUMBER_UNIT","STRING","CR","COMMENT","OTHER","DIVIDER","EVENT_PAYLOAD_LXR","EVENT_END","TITLE_CONTENT","TITLE_END"]),h2(B,"ruleNames",["prog","title","head","group","starterExp","starter","participant","stereotype","label","participantType","name","width","block","ret","divider","dividerNote","stat","par","opt","critical","section","creation","ref","creationBody","message","messageBody","func","from","to","signature","invocation","assignment","asyncMessage","content","construct","type","assignee","methodName","parameters","parameter","namedParameter","declaration","tcf","tryBlock","catchBlock","finallyBlock","alt","ifBlock","elseIfBlock","elseBlock","braceBlock","loop","expr","atom","parExpr","condition","inExpr"]);let S=B;S.EOF=Q.Token.EOF,S.WS=1,S.CONSTANT=2,S.READONLY=3,S.STATIC=4,S.AWAIT=5,S.TITLE=6,S.COL=7,S.SOPEN=8,S.SCLOSE=9,S.ARROW=10,S.COLOR=11,S.OR=12,S.AND=13,S.EQ=14,S.NEQ=15,S.GT=16,S.LT=17,S.GTEQ=18,S.LTEQ=19,S.PLUS=20,S.MINUS=21,S.MULT=22,S.DIV=23,S.MOD=24,S.POW=25,S.NOT=26,S.SCOL=27,S.COMMA=28,S.ASSIGN=29,S.OPAR=30,S.CPAR=31,S.OBRACE=32,S.CBRACE=33,S.TRUE=34,S.FALSE=35,S.NIL=36,S.IF=37,S.ELSE=38,S.WHILE=39,S.RETURN=40,S.NEW=41,S.PAR=42,S.GROUP=43,S.OPT=44,S.CRITICAL=45,S.SECTION=46,S.REF=47,S.AS=48,S.TRY=49,S.CATCH=50,S.FINALLY=51,S.IN=52,S.STARTER_LXR=53,S.ANNOTATION_RET=54,S.ANNOTATION=55,S.DOT=56,S.ID=57,S.INT=58,S.FLOAT=59,S.MONEY=60,S.NUMBER_UNIT=61,S.STRING=62,S.CR=63,S.COMMENT=64,S.OTHER=65,S.DIVIDER=66,S.EVENT_PAYLOAD_LXR=67,S.EVENT_END=68,S.TITLE_CONTENT=69,S.TITLE_END=70,S.RULE_prog=0,S.RULE_title=1,S.RULE_head=2,S.RULE_group=3,S.RULE_starterExp=4,S.RULE_starter=5,S.RULE_participant=6,S.RULE_stereotype=7,S.RULE_label=8,S.RULE_participantType=9,S.RULE_name=10,S.RULE_width=11,S.RULE_block=12,S.RULE_ret=13,S.RULE_divider=14,S.RULE_dividerNote=15,S.RULE_stat=16,S.RULE_par=17,S.RULE_opt=18,S.RULE_critical=19,S.RULE_section=20,S.RULE_creation=21,S.RULE_ref=22,S.RULE_creationBody=23,S.RULE_message=24,S.RULE_messageBody=25,S.RULE_func=26,S.RULE_from=27,S.RULE_to=28,S.RULE_signature=29,S.RULE_invocation=30,S.RULE_assignment=31,S.RULE_asyncMessage=32,S.RULE_content=33,S.RULE_construct=34,S.RULE_type=35,S.RULE_assignee=36,S.RULE_methodName=37,S.RULE_parameters=38,S.RULE_parameter=39,S.RULE_namedParameter=40,S.RULE_declaration=41,S.RULE_tcf=42,S.RULE_tryBlock=43,S.RULE_catchBlock=44,S.RULE_finallyBlock=45,S.RULE_alt=46,S.RULE_ifBlock=47,S.RULE_elseIfBlock=48,S.RULE_elseBlock=49,S.RULE_braceBlock=50,S.RULE_loop=51,S.RULE_expr=52,S.RULE_atom=53,S.RULE_parExpr=54,S.RULE_condition=55,S.RULE_inExpr=56;let Wd=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_prog}EOF(){return this.getToken(S.EOF,0)}title(){return this.getTypedRuleContext(Q7,0)}head(){return this.getTypedRuleContext(j7,0)}block(){return this.getTypedRuleContext(Bn,0)}enterRule(e){e instanceof X&&e.enterProg(this)}exitRule(e){e instanceof X&&e.exitProg(this)}},Q7=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_title}TITLE(){return this.getToken(S.TITLE,0)}TITLE_CONTENT(){return this.getToken(S.TITLE_CONTENT,0)}TITLE_END(){return this.getToken(S.TITLE_END,0)}enterRule(e){e instanceof X&&e.enterTitle(this)}exitRule(e){e instanceof X&&e.exitTitle(this)}};class j7 extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"group",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Zn):this.getTypedRuleContext(Zn,t)});h2(this,"participant",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(G9):this.getTypedRuleContext(G9,t)});this.parser=t,this.ruleIndex=S.RULE_head}starterExp(){return this.getTypedRuleContext(X7,0)}enterRule(t){t instanceof X&&t.enterHead(this)}exitRule(t){t instanceof X&&t.exitHead(this)}}let Zn=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"participant",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(G9):this.getTypedRuleContext(G9,t)});this.parser=t,this.ruleIndex=S.RULE_group}GROUP(){return this.getToken(S.GROUP,0)}OBRACE(){return this.getToken(S.OBRACE,0)}CBRACE(){return this.getToken(S.CBRACE,0)}name(){return this.getTypedRuleContext(Lt,0)}enterRule(t){t instanceof X&&t.enterGroup(this)}exitRule(t){t instanceof X&&t.exitGroup(this)}};class X7 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_starterExp}STARTER_LXR(){return this.getToken(S.STARTER_LXR,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}starter(){return this.getTypedRuleContext(J7,0)}ANNOTATION(){return this.getToken(S.ANNOTATION,0)}enterRule(e){e instanceof X&&e.enterStarterExp(this)}exitRule(e){e instanceof X&&e.exitStarterExp(this)}}class J7 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_starter}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterStarter(this)}exitRule(e){e instanceof X&&e.exitStarter(this)}}let G9=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_participant}name(){return this.getTypedRuleContext(Lt,0)}participantType(){return this.getTypedRuleContext(ni,0)}stereotype(){return this.getTypedRuleContext(ei,0)}width(){return this.getTypedRuleContext(ii,0)}label(){return this.getTypedRuleContext(ti,0)}COLOR(){return this.getToken(S.COLOR,0)}enterRule(e){e instanceof X&&e.enterParticipant(this)}exitRule(e){e instanceof X&&e.exitParticipant(this)}};class ei extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_stereotype}SOPEN(){return this.getToken(S.SOPEN,0)}name(){return this.getTypedRuleContext(Lt,0)}SCLOSE(){return this.getToken(S.SCLOSE,0)}GT(){return this.getToken(S.GT,0)}LT(){return this.getToken(S.LT,0)}enterRule(e){e instanceof X&&e.enterStereotype(this)}exitRule(e){e instanceof X&&e.exitStereotype(this)}}class ti extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_label}AS(){return this.getToken(S.AS,0)}name(){return this.getTypedRuleContext(Lt,0)}enterRule(e){e instanceof X&&e.enterLabel(this)}exitRule(e){e instanceof X&&e.exitLabel(this)}}class ni extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_participantType}ANNOTATION(){return this.getToken(S.ANNOTATION,0)}enterRule(e){e instanceof X&&e.enterParticipantType(this)}exitRule(e){e instanceof X&&e.exitParticipantType(this)}}class Lt extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_name}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterName(this)}exitRule(e){e instanceof X&&e.exitName(this)}}class ii extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_width}INT(){return this.getToken(S.INT,0)}enterRule(e){e instanceof X&&e.enterWidth(this)}exitRule(e){e instanceof X&&e.exitWidth(this)}}class Bn extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"stat",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Gn):this.getTypedRuleContext(Gn,t)});this.parser=t,this.ruleIndex=S.RULE_block}enterRule(t){t instanceof X&&t.enterBlock(this)}exitRule(t){t instanceof X&&t.exitBlock(this)}}let ri=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_ret}RETURN(){return this.getToken(S.RETURN,0)}expr(){return this.getTypedRuleContext($2,0)}SCOL(){return this.getToken(S.SCOL,0)}ANNOTATION_RET(){return this.getToken(S.ANNOTATION_RET,0)}asyncMessage(){return this.getTypedRuleContext(Wn,0)}EVENT_END(){return this.getToken(S.EVENT_END,0)}enterRule(e){e instanceof X&&e.enterRet(this)}exitRule(e){e instanceof X&&e.exitRet(this)}},ai=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_divider}dividerNote(){return this.getTypedRuleContext(si,0)}enterRule(e){e instanceof X&&e.enterDivider(this)}exitRule(e){e instanceof X&&e.exitDivider(this)}};class si extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_dividerNote}DIVIDER(){return this.getToken(S.DIVIDER,0)}enterRule(e){e instanceof X&&e.enterDividerNote(this)}exitRule(e){e instanceof X&&e.exitDividerNote(this)}}let Gn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_stat,this._OTHER=null}alt(){return this.getTypedRuleContext(Ri,0)}par(){return this.getTypedRuleContext(oi,0)}opt(){return this.getTypedRuleContext(li,0)}critical(){return this.getTypedRuleContext(ci,0)}section(){return this.getTypedRuleContext(ui,0)}ref(){return this.getTypedRuleContext(di,0)}loop(){return this.getTypedRuleContext(wi,0)}creation(){return this.getTypedRuleContext(zn,0)}message(){return this.getTypedRuleContext(Ci,0)}asyncMessage(){return this.getTypedRuleContext(Wn,0)}EVENT_END(){return this.getToken(S.EVENT_END,0)}ret(){return this.getTypedRuleContext(ri,0)}divider(){return this.getTypedRuleContext(ai,0)}tcf(){return this.getTypedRuleContext(Si,0)}OTHER(){return this.getToken(S.OTHER,0)}enterRule(e){e instanceof X&&e.enterStat(this)}exitRule(e){e instanceof X&&e.exitStat(this)}};class oi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_par}PAR(){return this.getToken(S.PAR,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterPar(this)}exitRule(e){e instanceof X&&e.exitPar(this)}}class li extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_opt}OPT(){return this.getToken(S.OPT,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterOpt(this)}exitRule(e){e instanceof X&&e.exitOpt(this)}}class ci extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_critical}CRITICAL(){return this.getToken(S.CRITICAL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterCritical(this)}exitRule(e){e instanceof X&&e.exitCritical(this)}}class ui extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_section}SECTION(){return this.getToken(S.SECTION,0)}braceBlock(){return this.getTypedRuleContext($e,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterSection(this)}exitRule(e){e instanceof X&&e.exitSection(this)}}let zn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_creation}creationBody(){return this.getTypedRuleContext(Li,0)}SCOL(){return this.getToken(S.SCOL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterCreation(this)}exitRule(e){e instanceof X&&e.exitCreation(this)}},di=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"name",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Lt):this.getTypedRuleContext(Lt,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_ref}REF(){return this.getToken(S.REF,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}SCOL(){return this.getToken(S.SCOL,0)}enterRule(t){t instanceof X&&t.enterRef(this)}exitRule(t){t instanceof X&&t.exitRef(this)}};class Li extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_creationBody}NEW(){return this.getToken(S.NEW,0)}construct(){return this.getTypedRuleContext(pi,0)}assignment(){return this.getTypedRuleContext(K0,0)}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}parameters(){return this.getTypedRuleContext(Kn,0)}enterRule(e){e instanceof X&&e.enterCreationBody(this)}exitRule(e){e instanceof X&&e.exitCreationBody(this)}}let Ci=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_message}messageBody(){return this.getTypedRuleContext(_i,0)}SCOL(){return this.getToken(S.SCOL,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterMessage(this)}exitRule(e){e instanceof X&&e.exitMessage(this)}};class _i extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_messageBody}func(){return this.getTypedRuleContext(Hn,0)}assignment(){return this.getTypedRuleContext(K0,0)}to(){return this.getTypedRuleContext($0,0)}DOT(){return this.getToken(S.DOT,0)}from(){return this.getTypedRuleContext(Yn,0)}ARROW(){return this.getToken(S.ARROW,0)}enterRule(e){e instanceof X&&e.enterMessageBody(this)}exitRule(e){e instanceof X&&e.exitMessageBody(this)}}class Hn extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"signature",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Vn):this.getTypedRuleContext(Vn,t)});h2(this,"DOT",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.DOT):this.getToken(S.DOT,t)});this.parser=t,this.ruleIndex=S.RULE_func}enterRule(t){t instanceof X&&t.enterFunc(this)}exitRule(t){t instanceof X&&t.exitFunc(this)}}class Yn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_from}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterFrom(this)}exitRule(e){e instanceof X&&e.exitFrom(this)}}class $0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_to}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterTo(this)}exitRule(e){e instanceof X&&e.exitTo(this)}}class Vn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_signature}methodName(){return this.getTypedRuleContext(hi,0)}invocation(){return this.getTypedRuleContext(qn,0)}enterRule(e){e instanceof X&&e.enterSignature(this)}exitRule(e){e instanceof X&&e.exitSignature(this)}}class qn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_invocation}OPAR(){return this.getToken(S.OPAR,0)}CPAR(){return this.getToken(S.CPAR,0)}parameters(){return this.getTypedRuleContext(Kn,0)}enterRule(e){e instanceof X&&e.enterInvocation(this)}exitRule(e){e instanceof X&&e.exitInvocation(this)}}class K0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_assignment}assignee(){return this.getTypedRuleContext(mi,0)}ASSIGN(){return this.getToken(S.ASSIGN,0)}type(){return this.getTypedRuleContext($n,0)}enterRule(e){e instanceof X&&e.enterAssignment(this)}exitRule(e){e instanceof X&&e.exitAssignment(this)}}let Wn=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_asyncMessage}to(){return this.getTypedRuleContext($0,0)}COL(){return this.getToken(S.COL,0)}from(){return this.getTypedRuleContext(Yn,0)}ARROW(){return this.getToken(S.ARROW,0)}content(){return this.getTypedRuleContext(gi,0)}MINUS(){return this.getToken(S.MINUS,0)}enterRule(e){e instanceof X&&e.enterAsyncMessage(this)}exitRule(e){e instanceof X&&e.exitAsyncMessage(this)}};class gi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_content}EVENT_PAYLOAD_LXR(){return this.getToken(S.EVENT_PAYLOAD_LXR,0)}enterRule(e){e instanceof X&&e.enterContent(this)}exitRule(e){e instanceof X&&e.exitContent(this)}}class pi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_construct}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterConstruct(this)}exitRule(e){e instanceof X&&e.exitConstruct(this)}}class $n extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_type}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterType(this)}exitRule(e){e instanceof X&&e.exitType(this)}}class mi extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"ID",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.ID):this.getToken(S.ID,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_assignee}atom(){return this.getTypedRuleContext(r3,0)}STRING(){return this.getToken(S.STRING,0)}NEW(){return this.getToken(S.NEW,0)}enterRule(t){t instanceof X&&t.enterAssignee(this)}exitRule(t){t instanceof X&&t.exitAssignee(this)}}class hi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_methodName}ID(){return this.getToken(S.ID,0)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterMethodName(this)}exitRule(e){e instanceof X&&e.exitMethodName(this)}}let Kn=class extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"parameter",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Qn):this.getTypedRuleContext(Qn,t)});h2(this,"COMMA",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.COMMA):this.getToken(S.COMMA,t)});this.parser=t,this.ruleIndex=S.RULE_parameters}enterRule(t){t instanceof X&&t.enterParameters(this)}exitRule(t){t instanceof X&&t.exitParameters(this)}};class Qn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_parameter}namedParameter(){return this.getTypedRuleContext(fi,0)}declaration(){return this.getTypedRuleContext(Ei,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterParameter(this)}exitRule(e){e instanceof X&&e.exitParameter(this)}}class fi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_namedParameter}ID(){return this.getToken(S.ID,0)}ASSIGN(){return this.getToken(S.ASSIGN,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterNamedParameter(this)}exitRule(e){e instanceof X&&e.exitNamedParameter(this)}}class Ei extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_declaration}type(){return this.getTypedRuleContext($n,0)}ID(){return this.getToken(S.ID,0)}enterRule(e){e instanceof X&&e.enterDeclaration(this)}exitRule(e){e instanceof X&&e.exitDeclaration(this)}}class Si extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"catchBlock",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(jn):this.getTypedRuleContext(jn,t)});this.parser=t,this.ruleIndex=S.RULE_tcf}tryBlock(){return this.getTypedRuleContext(Ti,0)}finallyBlock(){return this.getTypedRuleContext(vi,0)}enterRule(t){t instanceof X&&t.enterTcf(this)}exitRule(t){t instanceof X&&t.exitTcf(this)}}class Ti extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_tryBlock}TRY(){return this.getToken(S.TRY,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterTryBlock(this)}exitRule(e){e instanceof X&&e.exitTryBlock(this)}}class jn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_catchBlock}CATCH(){return this.getToken(S.CATCH,0)}braceBlock(){return this.getTypedRuleContext($e,0)}invocation(){return this.getTypedRuleContext(qn,0)}enterRule(e){e instanceof X&&e.enterCatchBlock(this)}exitRule(e){e instanceof X&&e.exitCatchBlock(this)}}class vi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_finallyBlock}FINALLY(){return this.getToken(S.FINALLY,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterFinallyBlock(this)}exitRule(e){e instanceof X&&e.exitFinallyBlock(this)}}class Ri extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"elseIfBlock",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts(Xn):this.getTypedRuleContext(Xn,t)});this.parser=t,this.ruleIndex=S.RULE_alt}ifBlock(){return this.getTypedRuleContext(bi,0)}elseBlock(){return this.getTypedRuleContext(xi,0)}enterRule(t){t instanceof X&&t.enterAlt(this)}exitRule(t){t instanceof X&&t.exitAlt(this)}}let bi=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_ifBlock}IF(){return this.getToken(S.IF,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterIfBlock(this)}exitRule(e){e instanceof X&&e.exitIfBlock(this)}};class Xn extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_elseIfBlock}ELSE(){return this.getToken(S.ELSE,0)}IF(){return this.getToken(S.IF,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterElseIfBlock(this)}exitRule(e){e instanceof X&&e.exitElseIfBlock(this)}}class xi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_elseBlock}ELSE(){return this.getToken(S.ELSE,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterElseBlock(this)}exitRule(e){e instanceof X&&e.exitElseBlock(this)}}class $e extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_braceBlock}OBRACE(){return this.getToken(S.OBRACE,0)}CBRACE(){return this.getToken(S.CBRACE,0)}block(){return this.getTypedRuleContext(Bn,0)}enterRule(e){e instanceof X&&e.enterBraceBlock(this)}exitRule(e){e instanceof X&&e.exitBraceBlock(this)}}let wi=class extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_loop}WHILE(){return this.getToken(S.WHILE,0)}parExpr(){return this.getTypedRuleContext(Q0,0)}braceBlock(){return this.getTypedRuleContext($e,0)}enterRule(e){e instanceof X&&e.enterLoop(this)}exitRule(e){e instanceof X&&e.exitLoop(this)}};class $2 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_expr}copyFrom(e){super.copyFrom(e)}}class $d extends $2{constructor(e,t){super(e),super.copyFrom(t)}assignment(){return this.getTypedRuleContext(K0,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterAssignmentExpr(this)}exitRule(e){e instanceof X&&e.exitAssignmentExpr(this)}}S.AssignmentExprContext=$d;class Kd extends $2{constructor(e,t){super(e),super.copyFrom(t)}func(){return this.getTypedRuleContext(Hn,0)}to(){return this.getTypedRuleContext($0,0)}DOT(){return this.getToken(S.DOT,0)}enterRule(e){e instanceof X&&e.enterFuncExpr(this)}exitRule(e){e instanceof X&&e.exitFuncExpr(this)}}S.FuncExprContext=Kd;class Qd extends $2{constructor(e,t){super(e),super.copyFrom(t)}atom(){return this.getTypedRuleContext(r3,0)}enterRule(e){e instanceof X&&e.enterAtomExpr(this)}exitRule(e){e instanceof X&&e.exitAtomExpr(this)}}S.AtomExprContext=Qd;class jd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}OR(){return this.getToken(S.OR,0)}enterRule(t){t instanceof X&&t.enterOrExpr(this)}exitRule(t){t instanceof X&&t.exitOrExpr(this)}}S.OrExprContext=jd;class Xd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}enterRule(t){t instanceof X&&t.enterAdditiveExpr(this)}exitRule(t){t instanceof X&&t.exitAdditiveExpr(this)}}S.AdditiveExprContext=Xd;class Jd extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}LTEQ(){return this.getToken(S.LTEQ,0)}GTEQ(){return this.getToken(S.GTEQ,0)}LT(){return this.getToken(S.LT,0)}GT(){return this.getToken(S.GT,0)}enterRule(t){t instanceof X&&t.enterRelationalExpr(this)}exitRule(t){t instanceof X&&t.exitRelationalExpr(this)}}S.RelationalExprContext=Jd;class eL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}PLUS(){return this.getToken(S.PLUS,0)}enterRule(t){t instanceof X&&t.enterPlusExpr(this)}exitRule(t){t instanceof X&&t.exitPlusExpr(this)}}S.PlusExprContext=eL;class tL extends $2{constructor(e,t){super(e),super.copyFrom(t)}NOT(){return this.getToken(S.NOT,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterNotExpr(this)}exitRule(e){e instanceof X&&e.exitNotExpr(this)}}S.NotExprContext=tL;class nL extends $2{constructor(e,t){super(e),super.copyFrom(t)}MINUS(){return this.getToken(S.MINUS,0)}expr(){return this.getTypedRuleContext($2,0)}enterRule(e){e instanceof X&&e.enterUnaryMinusExpr(this)}exitRule(e){e instanceof X&&e.exitUnaryMinusExpr(this)}}S.UnaryMinusExprContext=nL;class iL extends $2{constructor(e,t){super(e),super.copyFrom(t)}creation(){return this.getTypedRuleContext(zn,0)}enterRule(e){e instanceof X&&e.enterCreationExpr(this)}exitRule(e){e instanceof X&&e.exitCreationExpr(this)}}S.CreationExprContext=iL;class rL extends $2{constructor(e,t){super(e),super.copyFrom(t)}OPAR(){return this.getToken(S.OPAR,0)}expr(){return this.getTypedRuleContext($2,0)}CPAR(){return this.getToken(S.CPAR,0)}enterRule(e){e instanceof X&&e.enterParenthesizedExpr(this)}exitRule(e){e instanceof X&&e.exitParenthesizedExpr(this)}}S.ParenthesizedExprContext=rL;class aL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}MULT(){return this.getToken(S.MULT,0)}DIV(){return this.getToken(S.DIV,0)}MOD(){return this.getToken(S.MOD,0)}enterRule(t){t instanceof X&&t.enterMultiplicationExpr(this)}exitRule(t){t instanceof X&&t.exitMultiplicationExpr(this)}}S.MultiplicationExprContext=aL;class sL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});this.op=null,super.copyFrom(i)}EQ(){return this.getToken(S.EQ,0)}NEQ(){return this.getToken(S.NEQ,0)}enterRule(t){t instanceof X&&t.enterEqualityExpr(this)}exitRule(t){t instanceof X&&t.exitEqualityExpr(this)}}S.EqualityExprContext=sL;class oL extends $2{constructor(t,i){super(t);h2(this,"expr",function(t){return t===void 0&&(t=null),t===null?this.getTypedRuleContexts($2):this.getTypedRuleContext($2,t)});super.copyFrom(i)}AND(){return this.getToken(S.AND,0)}enterRule(t){t instanceof X&&t.enterAndExpr(this)}exitRule(t){t instanceof X&&t.exitAndExpr(this)}}S.AndExprContext=oL;class r3 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_atom}copyFrom(e){super.copyFrom(e)}}class lL extends r3{constructor(e,t){super(e),super.copyFrom(t)}TRUE(){return this.getToken(S.TRUE,0)}FALSE(){return this.getToken(S.FALSE,0)}enterRule(e){e instanceof X&&e.enterBooleanAtom(this)}exitRule(e){e instanceof X&&e.exitBooleanAtom(this)}}S.BooleanAtomContext=lL;class cL extends r3{constructor(e,t){super(e),super.copyFrom(t)}ID(){return this.getToken(S.ID,0)}enterRule(e){e instanceof X&&e.enterIdAtom(this)}exitRule(e){e instanceof X&&e.exitIdAtom(this)}}S.IdAtomContext=cL;class uL extends r3{constructor(e,t){super(e),super.copyFrom(t)}MONEY(){return this.getToken(S.MONEY,0)}enterRule(e){e instanceof X&&e.enterMoneyAtom(this)}exitRule(e){e instanceof X&&e.exitMoneyAtom(this)}}S.MoneyAtomContext=uL;class dL extends r3{constructor(e,t){super(e),super.copyFrom(t)}STRING(){return this.getToken(S.STRING,0)}enterRule(e){e instanceof X&&e.enterStringAtom(this)}exitRule(e){e instanceof X&&e.exitStringAtom(this)}}S.StringAtomContext=dL;class LL extends r3{constructor(e,t){super(e),super.copyFrom(t)}NIL(){return this.getToken(S.NIL,0)}enterRule(e){e instanceof X&&e.enterNilAtom(this)}exitRule(e){e instanceof X&&e.exitNilAtom(this)}}S.NilAtomContext=LL;class CL extends r3{constructor(e,t){super(e),super.copyFrom(t)}INT(){return this.getToken(S.INT,0)}FLOAT(){return this.getToken(S.FLOAT,0)}enterRule(e){e instanceof X&&e.enterNumberAtom(this)}exitRule(e){e instanceof X&&e.exitNumberAtom(this)}}S.NumberAtomContext=CL;class _L extends r3{constructor(e,t){super(e),super.copyFrom(t)}NUMBER_UNIT(){return this.getToken(S.NUMBER_UNIT,0)}enterRule(e){e instanceof X&&e.enterNumberUnitAtom(this)}exitRule(e){e instanceof X&&e.exitNumberUnitAtom(this)}}S.NumberUnitAtomContext=_L;class Q0 extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_parExpr}OPAR(){return this.getToken(S.OPAR,0)}condition(){return this.getTypedRuleContext(Mi,0)}CPAR(){return this.getToken(S.CPAR,0)}enterRule(e){e instanceof X&&e.enterParExpr(this)}exitRule(e){e instanceof X&&e.exitParExpr(this)}}class Mi extends Q.ParserRuleContext{constructor(e,t,i){t===void 0&&(t=null),i==null&&(i=-1),super(t,i),this.parser=e,this.ruleIndex=S.RULE_condition}atom(){return this.getTypedRuleContext(r3,0)}expr(){return this.getTypedRuleContext($2,0)}inExpr(){return this.getTypedRuleContext(Ai,0)}enterRule(e){e instanceof X&&e.enterCondition(this)}exitRule(e){e instanceof X&&e.exitCondition(this)}}class Ai extends Q.ParserRuleContext{constructor(t,i,s){i===void 0&&(i=null),s==null&&(s=-1);super(i,s);h2(this,"ID",function(t){return t===void 0&&(t=null),t===null?this.getTokens(S.ID):this.getToken(S.ID,t)});this.parser=t,this.ruleIndex=S.RULE_inExpr}IN(){return this.getToken(S.IN,0)}enterRule(t){t instanceof X&&t.enterInExpr(this)}exitRule(t){t instanceof X&&t.exitInExpr(this)}}S.ProgContext=Wd,S.TitleContext=Q7,S.HeadContext=j7,S.GroupContext=Zn,S.StarterExpContext=X7,S.StarterContext=J7,S.ParticipantContext=G9,S.StereotypeContext=ei,S.LabelContext=ti,S.ParticipantTypeContext=ni,S.NameContext=Lt,S.WidthContext=ii,S.BlockContext=Bn,S.RetContext=ri,S.DividerContext=ai,S.DividerNoteContext=si,S.StatContext=Gn,S.ParContext=oi,S.OptContext=li,S.CriticalContext=ci,S.SectionContext=ui,S.CreationContext=zn,S.RefContext=di,S.CreationBodyContext=Li,S.MessageContext=Ci,S.MessageBodyContext=_i,S.FuncContext=Hn,S.FromContext=Yn,S.ToContext=$0,S.SignatureContext=Vn,S.InvocationContext=qn,S.AssignmentContext=K0,S.AsyncMessageContext=Wn,S.ContentContext=gi,S.ConstructContext=pi,S.TypeContext=$n,S.AssigneeContext=mi,S.MethodNameContext=hi,S.ParametersContext=Kn,S.ParameterContext=Qn,S.NamedParameterContext=fi,S.DeclarationContext=Ei,S.TcfContext=Si,S.TryBlockContext=Ti,S.CatchBlockContext=jn,S.FinallyBlockContext=vi,S.AltContext=Ri,S.IfBlockContext=bi,S.ElseIfBlockContext=Xn,S.ElseBlockContext=xi,S.BraceBlockContext=$e,S.LoopContext=wi,S.ExprContext=$2,S.AtomContext=r3,S.ParExprContext=Q0,S.ConditionContext=Mi,S.InExprContext=Ai;const gL={name:"",color:void 0,comment:void 0,explicit:void 0,groupId:void 0,isStarter:void 0,label:void 0,stereotype:void 0,type:void 0,width:void 0,assignee:void 0,positions:new Set,assigneePositions:new Set};let ib=class{constructor(e,t){h2(this,"name");h2(this,"stereotype");h2(this,"width");h2(this,"groupId");h2(this,"explicit");h2(this,"isStarter");h2(this,"label");h2(this,"type");h2(this,"color");h2(this,"comment");h2(this,"assignee");h2(this,"positions",new Set);h2(this,"assigneePositions",new Set);this.name=e,this.mergeOptions(t)}mergeOptions(e){const{stereotype:t,width:i,groupId:s,label:l,explicit:c,isStarter:d,type:L,color:_,comment:p,assignee:m}=e;this.stereotype||(this.stereotype=t),this.width||(this.width=i),this.groupId||(this.groupId=s),this.explicit||(this.explicit=c),this.isStarter||(this.isStarter=d),this.label||(this.label=l),this.type||(this.type=L),this.color||(this.color=_),this.comment||(this.comment=p),this.assignee||(this.assignee=m)}AddPosition(e){this.positions.add(e)}ToValue(){return{name:this.name,stereotype:this.stereotype,width:this.width,groupId:this.groupId,explicit:this.explicit,isStarter:this.isStarter,label:this.label,type:this.type,color:this.color,comment:this.comment,assignee:this.assignee,positions:this.positions,assigneePositions:this.assigneePositions}}},rb=class{constructor(){h2(this,"participants",new Map)}Add(e,t={}){if(!e)throw new Error("Participant name is required");let i=this.Get(e);i?i==null||i.mergeOptions(t):(i=new ib(e,t),this.participants.set(e,i));const{position:s,assigneePosition:l}=t;s&&i.AddPosition(s),l&&i.assigneePositions.add(l)}ImplicitArray(){return this.Array().filter(e=>{var t;return!((t=this.Get(e.name))!=null&&t.explicit)})}Array(){return Array.from(this.participants.entries()).map(e=>e[1])}Names(){return Array.from(this.participants.keys())}First(){return this.participants.values().next().value}Get(e){return this.participants.get(e)}Size(){return this.participants.size}Starter(){for(const e of this.participants.values())if(e.isStarter)return e}GetPositions(e){var t;return(t=this.participants.get(e))==null?void 0:t.positions}GetAssigneePositions(e){var t;return(t=this.participants.get(e))==null?void 0:t.assigneePositions}},a3,i9=!1,yi;const De=new X,ab=function(n){var h,v,R,w,M,N;if(i9)return;const e=(h=n==null?void 0:n.participantType())==null?void 0:h.getFormattedText().replace("@",""),t=((v=n==null?void 0:n.name())==null?void 0:v.getFormattedText())||"Missing `Participant`",i=(w=(R=n.stereotype())==null?void 0:R.name())==null?void 0:w.getFormattedText(),s=n.width&&n.width()&&Number.parseInt(n.width().getText())||void 0,l=n.label&&n.label(),c=(M=l==null?void 0:l.name())==null?void 0:M.getFormattedText(),d=!0,L=(N=n.COLOR())==null?void 0:N.getText(),_=n.getComment(),p=n.name();let m,f;if(l){const D=l.name();D&&(m=D.start.start,f=D.stop.stop+1)}else p&&(m=p.start.start,f=p.stop.stop+1);a3.Add(t,{isStarter:!1,type:e,stereotype:i,width:s,groupId:yi,label:c,explicit:d,color:L,comment:_,position:[m,f]})};De.enterParticipant=ab;const pL=function(n){if(i9)return;let e=n.getFormattedText();const t=a3.Get(e);if(t!=null&&t.label)a3.Add(e,{isStarter:!1});else if(t!=null&&t.assignee){const s=[n.start.start+t.assignee.length+2,n.stop.stop],l=[n.start.start+1,n.start.start+t.assignee.length+1];a3.Add(e,{isStarter:!1,position:s,assigneePosition:l})}else a3.Add(e,{isStarter:!1,position:[n.start.start,n.stop.stop+1]})};De.enterFrom=pL,De.enterTo=pL,De.enterStarter=function(n){let e=n.getFormattedText();a3.Add(e,{isStarter:!0,position:[n.start.start,n.stop.stop+1]})},De.enterCreation=function(n){var s;if(i9)return;const e=n.Owner(),t=(s=n==null?void 0:n.creationBody())==null?void 0:s.construct(),i=a3.Get(e);if(t&&!(i!=null&&i.label)){const l=n.Assignee(),c=n.AssigneePosition();a3.Add(e,{isStarter:!1,position:[t.start.start,t.stop.stop+1],assignee:l,assigneePosition:c})}else a3.Add(e,{isStarter:!1})},De.enterRef=function(n){n.Participants().forEach(e=>{a3.Add(e.getText(),{isStarter:!1,position:[e.start.start,e.stop.stop+1]})})},De.enterParameters=function(){i9=!0},De.exitParameters=function(){i9=!1},De.enterCondition=function(){i9=!0},De.exitCondition=function(){i9=!1},De.enterGroup=function(n){var e;yi=(e=n.name())==null?void 0:e.getFormattedText()},De.exitGroup=function(){yi=void 0},De.enterRet=function(n){if(n.asyncMessage())return;const e=n.From();e&&a3.Add(e);const t=n.ReturnTo();t&&a3.Add(t)};const sb=Q.tree.ParseTreeWalker.DEFAULT;De.getParticipants=function(n){return a3=new rb,sb.walk(this,n),a3};const ob=Q.tree.ParseTreeWalker.DEFAULT;let Ke=new X,K1=0,ke=0;Ke.enterTcf=function(){K1++},Ke.enterOpt=function(){K1++},Ke.enterPar=function(){K1++},Ke.enterAlt=function(){K1++},Ke.enterLoop=function(){K1++},Ke.enterSection=function(){K1++},Ke.enterCritical=function(){K1++},Ke.exitTcf=function(){ke=Math.max(ke,K1),K1--},Ke.exitOpt=function(){ke=Math.max(ke,K1),K1--},Ke.exitPar=function(){ke=Math.max(ke,K1),K1--},Ke.exitAlt=function(){ke=Math.max(ke,K1),K1--},Ke.exitLoop=function(){ke=Math.max(ke,K1),K1--},Ke.exitSection=function(){ke=Math.max(ke,K1),K1--},Ke.exitCritical=function(){ke=Math.max(ke,K1),K1--},Ke.depth=function(n){return function(e){return K1=0,ke=0,e.children.map(function(t){ob.walk(n,t)}),ke}};const lb=S.TitleContext;lb.prototype.content=function(){return this.children.length<2?"":this.children[1].getText().trim()};const mL=S,Ni=mL.CreationContext;Ni.prototype.Body=Ni.prototype.creationBody,Ni.prototype.isCurrent=function(n){return hL.bind(this)(n)};const Oi=mL.MessageContext;Oi.prototype.Body=Oi.prototype.messageBody,Oi.prototype.isCurrent=function(n){return hL.bind(this)(n)};function hL(n){try{if(n==null)return!1;const e=this.start.start,t=this.Body().stop.stop+1;return n>=e&&n<=t}catch{return!1}}const Jn=S,z9=Jn.CreationContext,Ii=Jn.MessageContext,fL=Jn.AsyncMessageContext,EL=Jn.RetContext;z9.prototype.Assignee=function(){var n,e,t;return(t=(e=(n=this.creationBody())==null?void 0:n.assignment())==null?void 0:e.assignee())==null?void 0:t.getFormattedText()},z9.prototype.AssigneePosition=function(){var e,t;const n=(t=(e=this.creationBody())==null?void 0:e.assignment())==null?void 0:t.assignee();if(n)return[n.start.start,n.stop.stop+1]},z9.prototype.Constructor=function(){var n,e;return(e=(n=this.creationBody())==null?void 0:n.construct())==null?void 0:e.getFormattedText()},z9.prototype.To=function(){return this.Constructor()},z9.prototype.Owner=function(){if(!this.Constructor())return"Missing Constructor";const n=this.Assignee(),e=this.Constructor();return n?`${n}:${e}`:e},Ii.prototype.To=function(){var n,e;return(e=(n=this.messageBody())==null?void 0:n.to())==null?void 0:e.getFormattedText()},Ii.prototype.Owner=function(){return this.To()||Di(this.parentCtx)};function Di(n){for(;n;){if(n instanceof z9||n instanceof Ii)return n.Owner();n=n.parentCtx}}fL.prototype.To=function(){var n;return(n=this.to())==null?void 0:n.getFormattedText()},fL.prototype.Owner=function(){return this.To()||Di(this.parentCtx)},EL.prototype.To=function(){return this.ReturnTo()},EL.prototype.Owner=function(){return this.To()||Di(this.parentCtx)};const cb=S.ProgContext;cb.prototype.Starter=function(){var n,e,t;return(t=(e=(n=this.head())==null?void 0:n.starterExp())==null?void 0:e.starter())==null?void 0:t.getFormattedText()};const e8=S,ub=e8.RetContext,SL=e8.ProgContext,TL=e8.MessageContext,db=e8.CreationContext;ub.prototype.ReturnTo=function(){var i,s;const t=this.parentCtx.parentCtx.parentCtx;if(t instanceof SL)return t.Starter();{let l=t;for(;l&&!(l instanceof TL)&&!(l instanceof db);){if(l instanceof SL)return l.Starter();l=l.parentCtx}return l instanceof TL&&((s=(i=l.messageBody())==null?void 0:i.from())==null?void 0:s.getFormattedText())||l.ClosestAncestorStat().Origin()}};const vL=S.RefContext;vL.prototype.Content=function(){return this.name()[0]},vL.prototype.Participants=function(){return this.name().slice(1)??[]};const Lb=Q.ParserRuleContext,RL=S.StatContext,ki=S.ProgContext,Cb=S.MessageContext,_b=S.CreationContext;Lb.prototype.Origin=function(){let n=this.parentCtx;for(;n&&!(n instanceof RL||n instanceof ki);)n=this.parentCtx;return n.Origin()},RL.prototype.Origin=function(){let n=this.parentCtx;for(;n;){if(n instanceof ki)return n.Starter();if(n instanceof Cb||n instanceof _b){const e=n.Owner();if(e)return e}n=n.parentCtx}},ki.prototype.Origin=function(){return this.Starter()};const gb=S.DividerContext;gb.prototype.Note=function(){var e;const n=(e=this.dividerNote())==null?void 0:e.getFormattedText().trim();if(!n.startsWith("=="))throw new Error("Divider note must start with ==");return n==null?void 0:n.replace(/^=+|=+$/g,"")};function pb(n){var e,t,i;if((e=n.namedParameter)!=null&&e.call(n)){const s=n.namedParameter();if(s){const l=s.expr(),c=l?l.getFormattedText():"";return`${s.ID().getText()}=${c}`}}if((t=n.declaration)!=null&&t.call(n)){const s=n.declaration();if(s)return`${s.type().getText()} ${s.ID().getText()}`}return(i=n.expr)!=null&&i.call(n)?n.expr().getFormattedText():n.getFormattedText()}function bL(n){return n.map(pb).join(",")}const mb=S.MessageContext,hb=S.ParametersContext,fb=S.AsyncMessageContext,xL=S.CreationContext,Eb=S.RetContext;mb.prototype.SignatureText=function(){var n,e,t;return((t=(e=(n=this.messageBody())==null?void 0:n.func())==null?void 0:e.signature())==null?void 0:t.map(i=>i==null?void 0:i.getFormattedText()).join("."))??""},fb.prototype.SignatureText=function(){var n;return((n=this.content())==null?void 0:n.getFormattedText())??""},xL.prototype.SignatureText=function(){var t;const n=this.creationBody().parameters();return`«${((t=n==null?void 0:n.parameter())==null?void 0:t.length)>0?bL(n.parameter()):"create"}»`},xL.prototype.isParamValid=function(){var n,e;return(((e=(n=this.creationBody().parameters())==null?void 0:n.parameter())==null?void 0:e.length)??0)>0},Eb.prototype.SignatureText=function(){var n,e,t;return((e=(n=this.asyncMessage())==null?void 0:n.content())==null?void 0:e.getFormattedText())??((t=this.expr())==null?void 0:t.getFormattedText())??""},hb.prototype.getFormattedText=function(){const n=this.parameter();return!n||n.length===0?"":bL(n)};const t8=S,wL=t8.MessageContext,Sb=t8.CreationContext,Tb=t8.IfBlockContext,vb=t8.LoopContext;class Rb{constructor(e,t){h2(this,"assignee");h2(this,"type");if(t&&!e)throw new Error("assignee must be defined if type is defined");this.assignee=e||"",this.type=t||""}getText(){return[this.assignee,this.type].filter(Boolean).join(":")}}wL.prototype.Assignment=function(){var i,s;const n=this.messageBody().assignment(),e=(i=n==null?void 0:n.assignee())==null?void 0:i.getFormattedText(),t=(s=n==null?void 0:n.type())==null?void 0:s.getFormattedText();if(e)return new Rb(e,t)},wL.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},Sb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},Tb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]},vb.prototype.Statements=function(){var n,e;return((e=(n=this.braceBlock())==null?void 0:n.block())==null?void 0:e.stat())||[]};const j0=S,bb=j0.CreationContext,xb=j0.StatContext,ML=j0.MessageContext,AL=j0.AsyncMessageContext,wb=j0.RetContext;bb.prototype.From=function(){if(this.parentCtx instanceof xb)return this.ClosestAncestorStat().Origin()},ML.prototype.ProvidedFrom=function(){var n,e;return(e=(n=this.messageBody())==null?void 0:n.from())==null?void 0:e.getFormattedText()},ML.prototype.From=function(){return this.ProvidedFrom()||this.ClosestAncestorStat().Origin()},AL.prototype.ProvidedFrom=function(){var n;return(n=this.from())==null?void 0:n.getFormattedText()},AL.prototype.From=function(){return this.ProvidedFrom()||this.ClosestAncestorStat().Origin()},wb.prototype.From=function(){return this.ClosestAncestorStat().Origin()},Q.ParserRuleContext.prototype.Key=function(){return`${this.start.start}:${this.stop.stop}`};const yL=S,NL=yL.StatContext;Q.ParserRuleContext.prototype.ClosestAncestorStat=function(){let n=this;for(;!(n instanceof NL);)n=n.parentCtx;if(n instanceof NL)return n},Q.ParserRuleContext.prototype.ClosestAncestorBlock=function(){var e;const n=(e=this.ClosestAncestorStat())==null?void 0:e.parentCtx;if(n instanceof yL.BlockContext)return n;console.warn("Cannot find closest ancestor block for context:",this)},Q.ParserRuleContext.prototype.getAncestors=function(n){let e=this;const t=[];for(;e;)(!n||n(e))&&t.push(e),e=e.parentCtx;return t};var Pi,OL;function IL(){if(OL)return Pi;OL=1;function n(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(i){return t.apply(this,arguments)};case 2:return function(i,s){return t.apply(this,arguments)};case 3:return function(i,s,l){return t.apply(this,arguments)};case 4:return function(i,s,l,c){return t.apply(this,arguments)};case 5:return function(i,s,l,c,d){return t.apply(this,arguments)};case 6:return function(i,s,l,c,d,L){return t.apply(this,arguments)};case 7:return function(i,s,l,c,d,L,_){return t.apply(this,arguments)};case 8:return function(i,s,l,c,d,L,_,p){return t.apply(this,arguments)};case 9:return function(i,s,l,c,d,L,_,p,m){return t.apply(this,arguments)};case 10:return function(i,s,l,c,d,L,_,p,m,f){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}return Pi=n,Pi}var Fi,DL;function Mb(){if(DL)return Fi;DL=1;function n(e,t){return function(){return t.call(this,e.apply(this,arguments))}}return Fi=n,Fi}var Ui,kL;function Zi(){if(kL)return Ui;kL=1;function n(e){return e!=null&&typeof e=="object"&&e["@@functional/placeholder"]===!0}return Ui=n,Ui}var Bi,PL;function n8(){if(PL)return Bi;PL=1;var n=Zi();function e(t){return function i(s){return arguments.length===0||n(s)?i:t.apply(this,arguments)}}return Bi=e,Bi}var Gi,FL;function UL(){if(FL)return Gi;FL=1;var n=n8(),e=Zi();function t(i){return function s(l,c){switch(arguments.length){case 0:return s;case 1:return e(l)?s:n(function(d){return i(l,d)});default:return e(l)&&e(c)?s:e(l)?n(function(d){return i(d,c)}):e(c)?n(function(d){return i(l,d)}):i(l,c)}}}return Gi=t,Gi}var zi,ZL;function Hi(){if(ZL)return zi;ZL=1;var n=n8(),e=UL(),t=Zi();function i(s){return function l(c,d,L){switch(arguments.length){case 0:return l;case 1:return t(c)?l:e(function(_,p){return s(c,_,p)});case 2:return t(c)&&t(d)?l:t(c)?e(function(_,p){return s(_,d,p)}):t(d)?e(function(_,p){return s(c,_,p)}):n(function(_){return s(c,d,_)});default:return t(c)&&t(d)&&t(L)?l:t(c)&&t(d)?e(function(_,p){return s(_,p,L)}):t(c)&&t(L)?e(function(_,p){return s(_,d,p)}):t(d)&&t(L)?e(function(_,p){return s(c,_,p)}):t(c)?n(function(_){return s(_,d,L)}):t(d)?n(function(_){return s(c,_,L)}):t(L)?n(function(_){return s(c,d,_)}):s(c,d,L)}}}return zi=i,zi}var Yi,BL;function GL(){return BL||(BL=1,Yi=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"}),Yi}var Vi,zL;function Ab(){if(zL)return Vi;zL=1;function n(e){return Object.prototype.toString.call(e)==="[object String]"}return Vi=n,Vi}var qi,HL;function yb(){if(HL)return qi;HL=1;var n=n8(),e=GL(),t=Ab(),i=n(function(l){return e(l)?!0:!l||typeof l!="object"||t(l)?!1:l.length===0?!0:l.length>0?l.hasOwnProperty(0)&&l.hasOwnProperty(l.length-1):!1});return qi=i,qi}var Wi,YL;function Nb(){if(YL)return Wi;YL=1;var n=(function(){function t(i){this.f=i}return t.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},t.prototype["@@transducer/result"]=function(i){return i},t.prototype["@@transducer/step"]=function(i,s){return this.f(i,s)},t})();function e(t){return new n(t)}return Wi=e,Wi}var $i,VL;function Ob(){if(VL)return $i;VL=1;var n=IL(),e=UL(),t=e(function(s,l){return n(s.length,function(){return s.apply(l,arguments)})});return $i=t,$i}var Ki,qL;function Ib(){if(qL)return Ki;qL=1;var n=yb(),e=Nb(),t=Ob();function i(L,_,p){for(var m=0,f=p.length;m<f;){if(_=L["@@transducer/step"](_,p[m]),_&&_["@@transducer/reduced"]){_=_["@@transducer/value"];break}m+=1}return L["@@transducer/result"](_)}function s(L,_,p){for(var m=p.next();!m.done;){if(_=L["@@transducer/step"](_,m.value),_&&_["@@transducer/reduced"]){_=_["@@transducer/value"];break}m=p.next()}return L["@@transducer/result"](_)}function l(L,_,p,m){return L["@@transducer/result"](p[m](t(L["@@transducer/step"],L),_))}var c=typeof Symbol<"u"?Symbol.iterator:"@@iterator";function d(L,_,p){if(typeof L=="function"&&(L=e(L)),n(p))return i(L,_,p);if(typeof p["fantasy-land/reduce"]=="function")return l(L,_,p,"fantasy-land/reduce");if(p[c]!=null)return s(L,_,p[c]());if(typeof p.next=="function")return s(L,_,p);if(typeof p.reduce=="function")return l(L,_,p,"reduce");throw new TypeError("reduce: list must be array or iterable")}return Ki=d,Ki}var Qi,WL;function Db(){if(WL)return Qi;WL=1;var n=Hi(),e=Ib(),t=n(e);return Qi=t,Qi}var ji,$L;function KL(){if($L)return ji;$L=1;var n=GL();function e(t,i){return function(){var s=arguments.length;if(s===0)return i();var l=arguments[s-1];return n(l)||typeof l[t]!="function"?i.apply(this,arguments):l[t].apply(l,Array.prototype.slice.call(arguments,0,s-1))}}return ji=e,ji}var Xi,QL;function kb(){if(QL)return Xi;QL=1;var n=KL(),e=Hi(),t=e(n("slice",function(s,l,c){return Array.prototype.slice.call(c,s,l)}));return Xi=t,Xi}var Ji,jL;function Pb(){if(jL)return Ji;jL=1;var n=KL(),e=n8(),t=kb(),i=e(n("tail",t(1,1/0)));return Ji=i,Ji}var er,XL;function Fb(){if(XL)return er;XL=1;var n=IL(),e=Mb(),t=Db(),i=Pb();function s(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return n(arguments[0].length,t(e,arguments[0],i(arguments)))}return er=s,er}var Ub=Fb();const Zb=te(Ub);var tr,JL;function Bb(){if(JL)return tr;JL=1;var n=Hi(),e=n(function(i,s,l){return l.replace(i,s)});return tr=e,tr}var Gb=Bb();const H9=te(Gb),zb=H9(/[\n\r]/g," "),Hb=H9(/\s+/g," "),Yb=H9(/\s*([,;.])\s*/g,"$1"),Vb=H9(/\s*(\()\s*|\s*(\))/g,"$1$2"),qb=H9(/\s+$/g,""),Wb=H9(/^"(.*)"$/,"$1"),eC=Zb(zb,Hb,Yb,Vb,qb,Wb),nr=(n,e)=>{let t=e;for(n[t]===`
27
27
  `&&t--;t>=0;){if(n[t]===`
28
28
  `)return t+1;t--}return 0},tC=(n,e)=>{const t=nr(n,e);if(t===0)return 0;let i=t-2;for(;i>=0;){if(n[i]===`
29
29
  `)return i+1;i--}return 0},$b=(n,e)=>{const t=nr(n,e);if(t===0)return"";const i=tC(n,e);return n.slice(i,t)};class Kb extends Q.error.ErrorListener{syntaxError(e,t,i,s,l){}}function Qb(n){const e=new Q.InputStream(n),t=new f2(e),i=new Q.CommonTokenStream(t),s=new S(i);return s.addErrorListener(new Kb),s._syntaxErrors?null:s.prog()}Q.ParserRuleContext.prototype.getFormattedText=function(){const n=this.parser.getTokenStream().getText(this.getSourceInterval());return eC(n)},Q.ParserRuleContext.prototype.getComment=function(){let n=this.start.tokenIndex,e=f2.channelNames.indexOf("COMMENT_CHANNEL");this.constructor.name==="BraceBlockContext"&&(n=this.stop.tokenIndex);let t=this.parser.getTokenStream().getHiddenTokensToLeft(n,e);return t&&t.map(i=>i.text.substring(2)).join("")},Q.ParserRuleContext.prototype.returnedValue=function(){return this.braceBlock().block().ret().value()};const jb=Qb,nC=S.GroupContext,iC=S.ParticipantContext,X0=function(n){return De.getParticipants(n)};var i8=(n=>(n[n.MessageContent=0]="MessageContent",n[n.ParticipantName=1]="ParticipantName",n))(i8||{});let ir={};const rC={},rr=n=>{if(n!=null){const e=ir[n]??rC[n];return e!==void 0?e:null}return null},ar=(n,e,t=!1)=>{ir[n]=e,t&&(rC[n]=e)},aC=()=>{ir={}};function Xb(n,e){const t=`WidthProviderOnBrowser_${n}_${e}`,i=rr(t);if(i!=null)return i;let s=document.querySelector(".textarea-hidden-div");if(!s){const c=document.createElement("div");c.className="textarea-hidden-div ",c.style.fontSize=e===i8.MessageContent?"0.875rem":"1rem",c.style.fontFamily="Helvetica, Verdana, serif",c.style.display="inline",c.style.whiteSpace="nowrap",c.style.visibility="hidden",c.style.position="absolute",c.style.top="0",c.style.left="0",c.style.overflow="hidden",c.style.width="0px",c.style.paddingLeft="0px",c.style.paddingRight="0px",c.style.margin="0px",c.style.border="0px",document.body.appendChild(c),s=c}s.textContent=n;const l=s.scrollWidth;return ar(t,l,!0),l}const sC=10,oC=100,Jb=20,ex=10,lC=15,r8=(lC-1)/2,tx=80,nx=70,cC=1;var Y9=(n=>(n[n.SyncMessage=0]="SyncMessage",n[n.AsyncMessage=1]="AsyncMessage",n[n.CreationMessage=2]="CreationMessage",n[n.ReturnMessage=3]="ReturnMessage",n))(Y9||{});class ix extends X{constructor(){super(...arguments);h2(this,"isBlind",!1);h2(this,"ownableMessages",[]);h2(this,"enterMessage",t=>this._addOwnedMessage(Y9.SyncMessage)(t));h2(this,"enterAsyncMessage",t=>this._addOwnedMessage(Y9.AsyncMessage)(t));h2(this,"enterCreation",t=>this._addOwnedMessage(Y9.CreationMessage)(t));h2(this,"enterRet",t=>{t.asyncMessage()||this._addOwnedMessage(Y9.ReturnMessage)(t)});h2(this,"_addOwnedMessage",t=>i=>{if(this.isBlind)return;const s=i.From(),l=i==null?void 0:i.Owner();let c=i==null?void 0:i.SignatureText();if(s===l&&i.Assignment){const d=i.Assignment();d&&(c=`${d.getText()} = ${c}`)}this.ownableMessages.push({from:s,signature:c,type:t,to:l})})}enterParameters(){this.isBlind=!0}exitParameters(){this.isBlind=!1}result(){return this.ownableMessages}}function a8(n){const e=Q.tree.ParseTreeWalker.DEFAULT,t=new ix;return e.walk(t,n),t.result()}const Pe="_STARTER_";let rx=class{constructor(e,t,i,s){h2(this,"name");h2(this,"left");h2(this,"label");h2(this,"type");this.name=e,this.left=t,this.label=i,this.type=s}getDisplayName(){return this.label||this.name}hasIcon(){return this.type!==void 0}};function ax(n){const e=De.getParticipants(n),t=Array.from(e.participants.entries()),i=a8(n),s=i.length===0&&t.length===0,l=i.some(d=>!d.from);return(s||l)&&t.unshift([Pe,{...gL,name:Pe,isStarter:!0}]),t.map((d,L,_)=>{const p=d[1],m=L>0?_[L-1][1].name:"";return new rx(p.name,m,p.label,p.type)})}function s8(n,e){return{position:n,velocity:e}}function uC(n,e){return s8(n.position+e.position,n.velocity+e.velocity)}const dC=Math.sqrt(Number.EPSILON);function sx(n,e){const t=n.position-e.position;return t<-dC||Math.abs(t)<=dC&&n.velocity<e.velocity}function ox(){return{delta:1/0,dualLessThan:function(n,e){const t=sx(n,e);return t&&([n,e]=[e,n]),n.velocity<e.velocity&&(this.delta=Math.min(this.delta,(n.position-e.position)/(e.velocity-n.velocity))),t}}}function lx(n,e){const t=Array();for(let i=0;i<n;i++){t.push([]);for(let s=0;s<i;s++)e[s][i]>0&&t[i].push({i:s,length:s8(e[s][i],0)})}return t}function cx(n,e){const t=ox();let i=s8(0,0);const s=[];for(let l=0;l<n.length;l++){let c=null;l>0&&(i=uC(i,e[l-1]));for(const d of n[l]){const L=uC(s[d.i].maximum,d.length);t.dualLessThan(i,L)&&(c=d.i,i=L)}s.push({argument:c,maximum:i})}return[t.delta,s]}function ux(n,e,t){let i=n.length-1;for(;i>0;){const s=n[i].argument;s!==null?i=s:(i--,t[i].velocity=0)}}function dx(n,e){for(let t=0;t<n.length;t++)n[t].position+=n[t].velocity*e}function Lx(n){const e=[];for(const t of n)e.push(t.maximum.position);return e}function Cx(n){const e=n.length,t=lx(e,n),i=[];for(let s=1;s<e;s++)i.push(s8(0,1));for(;;){const[s,l]=cx(t,i);if(s==1/0)return Lx(l);l[e-1].maximum.velocity>0?ux(l,t,i):dx(i,s)}}class _x{constructor(e,t){h2(this,"m",[]);h2(this,"widthProvider");h2(this,"participantModels");h2(this,"ownableMessages");aC(),this.participantModels=ax(e),this.ownableMessages=a8(e),this.widthProvider=t,this.walkThrough()}orderedParticipantNames(){return this.participantModels.map(e=>e.name)}getPosition(e){if(!e)return 0;if(!this.getParticipantModel(e))return console.error(`Participant ${e} not found`),0;const i=`getPosition_${e}`,s=rr(i);if(s!=null)return s;const l=this.participantModels.findIndex(L=>L.name===e),d=this.getParticipantGap(this.participantModels[0])+Cx(this.m)[l];return ar(i,d),console.debug(`Position of ${e} is ${d}`),d}walkThrough(){this.withParticipantGaps(this.participantModels),this.withMessageGaps(this.ownableMessages,this.participantModels)}half(e){const t=this.getParticipantModel(e);return t?this._getParticipantWidth(t)/2:0}left(e){return this.getPosition(e)-this.half(e)}right(e){return this.getPosition(e)+this.half(e)}getWidth(){const e=this.participantModels[this.participantModels.length-1].name,t=this.getPosition(e)+this.half(e);return Math.max(t,200)}distance(e,t){return this.getPosition(t)-this.getPosition(e)}getMessageWidth(e){const t=this.half(e.to);let i=this.widthProvider(e.signature,i8.MessageContent);return e.type===Y9.CreationMessage&&(i+=t),i}withMessageGaps(e,t){for(const i of e){i.from||(i.from=Pe);const s=t.findIndex(L=>L.name===i.from),l=t.findIndex(L=>L.name===i.to);if(s===-1||l===-1){console.warn(`Participant ${i.from} or ${i.to} not found`);continue}const c=Math.min(s,l),d=Math.max(s,l);try{const L=this.getMessageWidth(i);this.m[c][d]=Math.max(L+ex+lC,this.m[c][d])}catch{console.warn(`Could not set message gap between ${i.from} and ${i.to}`)}}}withParticipantGaps(e){this.m=e.map((t,i)=>e.map((s,l)=>l-i===1?this.getParticipantGap(s):0))}getParticipantGap(e){return this.half(e.left)+this.half(e.name)}getParticipantModel(e){return this.participantModels.find(t=>t.name===e)}_getParticipantWidth(e){const t=`getParticipantWidth_${e.name}`,i=rr(t);if(i!=null)return i;const l=e.hasIcon()?40:0,c=this.widthProvider(e.getDisplayName(),i8.ParticipantName),d=Math.max(c+l,tx)+Jb;return ar(t,d),console.debug(`Width of ${e.name} is ${d}; labelWidth: ${c}`),d}}var Z3=(n=>(n.Static="static",n.Dynamic="dynamic",n))(Z3||{});const r9=W1(""),V9=W1(n=>jb(n(r9)));W1(n=>{var e,t;return(t=(e=n(V9))==null?void 0:e.title())==null?void 0:t.content()});const o8=W1(n=>X0(n(V9))),B3=W1(n=>new _x(n(V9),Xb)),q9=W1("theme-default"),sr=W1(!1),gx=Sd(`${location.hostname}-zenuml-theme-icon-dot`,"1"),LC=W1(!0),CC=W1(1),l8=W1([]),px=W1(null,(n,e,t)=>{const i=n(l8);i.includes(t)?e(l8,i.filter(s=>s!==t)):e(l8,[...i,t])}),or=W1(null),_C=W1(!1),Z4=W1("dynamic"),gC=Sd(`${location.hostname}-zenuml-numbering`,!0),pC=W1(0),lr=W1(null),cr=Z0(n=>{console.log("Element clicked",n)}),ur=Z0(()=>{}),J0=Z0(()=>{}),mC=Z0(()=>{}),hC=Z0(()=>{}),dr=W1([]),fC=W1(n=>{const e=n(dr),{participants:t}=n(o8);return e.length===Array.from(t).length});function mx(n,e){if(n.match(/^[a-z]+:\/\//i))return n;if(n.match(/^\/\//))return window.location.protocol+n;if(n.match(/^[a-z]+:/i))return n;const t=document.implementation.createHTMLDocument(),i=t.createElement("base"),s=t.createElement("a");return t.head.appendChild(i),t.body.appendChild(s),e&&(i.href=e),s.href=n,s.href}const hx=(()=>{let n=0;const e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(n+=1,`u${e()}${n}`)})();function Ct(n){const e=[];for(let t=0,i=n.length;t<i;t++)e.push(n[t]);return e}let W9=null;function EC(n={}){return W9||(n.includeStyleProperties?(W9=n.includeStyleProperties,W9):(W9=Ct(window.getComputedStyle(document.documentElement)),W9))}function c8(n,e){const i=(n.ownerDocument.defaultView||window).getComputedStyle(n).getPropertyValue(e);return i?parseFloat(i.replace("px","")):0}function fx(n){const e=c8(n,"border-left-width"),t=c8(n,"border-right-width");return n.clientWidth+e+t}function Ex(n){const e=c8(n,"border-top-width"),t=c8(n,"border-bottom-width");return n.clientHeight+e+t}function SC(n,e={}){const t=e.width||fx(n),i=e.height||Ex(n);return{width:t,height:i}}function Sx(){let n,e;try{e=process}catch{}const t=e&&e.env?e.env.devicePixelRatio:null;return t&&(n=parseInt(t,10),Number.isNaN(n)&&(n=1)),n||window.devicePixelRatio||1}const f3=16384;function Tx(n){(n.width>f3||n.height>f3)&&(n.width>f3&&n.height>f3?n.width>n.height?(n.height*=f3/n.width,n.width=f3):(n.width*=f3/n.height,n.height=f3):n.width>f3?(n.height*=f3/n.width,n.width=f3):(n.width*=f3/n.height,n.height=f3))}function vx(n,e={}){return n.toBlob?new Promise(t=>{n.toBlob(t,e.type?e.type:"image/png",e.quality?e.quality:1)}):new Promise(t=>{const i=window.atob(n.toDataURL(e.type?e.type:void 0,e.quality?e.quality:void 0).split(",")[1]),s=i.length,l=new Uint8Array(s);for(let c=0;c<s;c+=1)l[c]=i.charCodeAt(c);t(new Blob([l],{type:e.type?e.type:"image/png"}))})}function u8(n){return new Promise((e,t)=>{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>e(i))})},i.onerror=t,i.crossOrigin="anonymous",i.decoding="async",i.src=n})}async function Rx(n){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(n)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function bx(n,e,t){const i="http://www.w3.org/2000/svg",s=document.createElementNS(i,"svg"),l=document.createElementNS(i,"foreignObject");return s.setAttribute("width",`${e}`),s.setAttribute("height",`${t}`),s.setAttribute("viewBox",`0 0 ${e} ${t}`),l.setAttribute("width","100%"),l.setAttribute("height","100%"),l.setAttribute("x","0"),l.setAttribute("y","0"),l.setAttribute("externalResourcesRequired","true"),s.appendChild(l),l.appendChild(n),Rx(s)}const s3=(n,e)=>{if(n instanceof e)return!0;const t=Object.getPrototypeOf(n);return t===null?!1:t.constructor.name===e.name||s3(t,e)};function xx(n){const e=n.getPropertyValue("content");return`${n.cssText} content: '${e.replace(/'|"/g,"")}';`}function wx(n,e){return EC(e).map(t=>{const i=n.getPropertyValue(t),s=n.getPropertyPriority(t);return`${t}: ${i}${s?" !important":""};`}).join(" ")}function Mx(n,e,t,i){const s=`.${n}:${e}`,l=t.cssText?xx(t):wx(t,i);return document.createTextNode(`${s}{${l}}`)}function TC(n,e,t,i){const s=window.getComputedStyle(n,t),l=s.getPropertyValue("content");if(l===""||l==="none")return;const c=hx();try{e.className=`${e.className} ${c}`}catch{return}const d=document.createElement("style");d.appendChild(Mx(c,t,s,i)),e.appendChild(d)}function Ax(n,e,t){TC(n,e,":before",t),TC(n,e,":after",t)}const vC="application/font-woff",RC="image/jpeg",yx={woff:vC,woff2:vC,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:RC,jpeg:RC,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function Nx(n){const e=/\.([^./]*?)$/g.exec(n);return e?e[1]:""}function Lr(n){const e=Nx(n).toLowerCase();return yx[e]||""}function Ox(n){return n.split(/,/)[1]}function Cr(n){return n.search(/^(data:)/)!==-1}function Ix(n,e){return`data:${e};base64,${n}`}async function bC(n,e,t){const i=await fetch(n,e);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const s=await i.blob();return new Promise((l,c)=>{const d=new FileReader;d.onerror=c,d.onloadend=()=>{try{l(t({res:i,result:d.result}))}catch(L){c(L)}},d.readAsDataURL(s)})}const _r={};function Dx(n,e,t){let i=n.replace(/\?.*/,"");return t&&(i=n),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),e?`[${e}]${i}`:i}async function gr(n,e,t){const i=Dx(n,e,t.includeQueryParams);if(_r[i]!=null)return _r[i];t.cacheBust&&(n+=(/\?/.test(n)?"&":"?")+new Date().getTime());let s;try{const l=await bC(n,t.fetchRequestInit,({res:c,result:d})=>(e||(e=c.headers.get("Content-Type")||""),Ox(d)));s=Ix(l,e)}catch(l){s=t.imagePlaceholder||"";let c=`Failed to fetch resource: ${n}`;l&&(c=typeof l=="string"?l:l.message),c&&console.warn(c)}return _r[i]=s,s}async function kx(n){const e=n.toDataURL();return e==="data:,"?n.cloneNode(!1):u8(e)}async function Px(n,e){if(n.currentSrc){const l=document.createElement("canvas"),c=l.getContext("2d");l.width=n.clientWidth,l.height=n.clientHeight,c==null||c.drawImage(n,0,0,l.width,l.height);const d=l.toDataURL();return u8(d)}const t=n.poster,i=Lr(t),s=await gr(t,i,e);return u8(s)}async function Fx(n,e){var t;try{if(!((t=n==null?void 0:n.contentDocument)===null||t===void 0)&&t.body)return await d8(n.contentDocument.body,e,!0)}catch{}return n.cloneNode(!1)}async function Ux(n,e){return s3(n,HTMLCanvasElement)?kx(n):s3(n,HTMLVideoElement)?Px(n,e):s3(n,HTMLIFrameElement)?Fx(n,e):n.cloneNode(xC(n))}const Zx=n=>n.tagName!=null&&n.tagName.toUpperCase()==="SLOT",xC=n=>n.tagName!=null&&n.tagName.toUpperCase()==="SVG";async function Bx(n,e,t){var i,s;if(xC(e))return e;let l=[];return Zx(n)&&n.assignedNodes?l=Ct(n.assignedNodes()):s3(n,HTMLIFrameElement)&&(!((i=n.contentDocument)===null||i===void 0)&&i.body)?l=Ct(n.contentDocument.body.childNodes):l=Ct(((s=n.shadowRoot)!==null&&s!==void 0?s:n).childNodes),l.length===0||s3(n,HTMLVideoElement)||await l.reduce((c,d)=>c.then(()=>d8(d,t)).then(L=>{L&&e.appendChild(L)}),Promise.resolve()),e}function Gx(n,e,t){const i=e.style;if(!i)return;const s=window.getComputedStyle(n);s.cssText?(i.cssText=s.cssText,i.transformOrigin=s.transformOrigin):EC(t).forEach(l=>{let c=s.getPropertyValue(l);l==="font-size"&&c.endsWith("px")&&(c=`${Math.floor(parseFloat(c.substring(0,c.length-2)))-.1}px`),s3(n,HTMLIFrameElement)&&l==="display"&&c==="inline"&&(c="block"),l==="d"&&e.getAttribute("d")&&(c=`path(${e.getAttribute("d")})`),i.setProperty(l,c,s.getPropertyPriority(l))})}function zx(n,e){s3(n,HTMLTextAreaElement)&&(e.innerHTML=n.value),s3(n,HTMLInputElement)&&e.setAttribute("value",n.value)}function Hx(n,e){if(s3(n,HTMLSelectElement)){const t=e,i=Array.from(t.children).find(s=>n.value===s.getAttribute("value"));i&&i.setAttribute("selected","")}}function Yx(n,e,t){return s3(e,Element)&&(Gx(n,e,t),Ax(n,e,t),zx(n,e),Hx(n,e)),e}async function Vx(n,e){const t=n.querySelectorAll?n.querySelectorAll("use"):[];if(t.length===0)return n;const i={};for(let l=0;l<t.length;l++){const d=t[l].getAttribute("xlink:href");if(d){const L=n.querySelector(d),_=document.querySelector(d);!L&&_&&!i[d]&&(i[d]=await d8(_,e,!0))}}const s=Object.values(i);if(s.length){const l="http://www.w3.org/1999/xhtml",c=document.createElementNS(l,"svg");c.setAttribute("xmlns",l),c.style.position="absolute",c.style.width="0",c.style.height="0",c.style.overflow="hidden",c.style.display="none";const d=document.createElementNS(l,"defs");c.appendChild(d);for(let L=0;L<s.length;L++)d.appendChild(s[L]);n.appendChild(c)}return n}async function d8(n,e,t){return!t&&e.filter&&!e.filter(n)?null:Promise.resolve(n).then(i=>Ux(i,e)).then(i=>Bx(n,i,e)).then(i=>Yx(n,i,e)).then(i=>Vx(i,e))}const wC=/url\((['"]?)([^'"]+?)\1\)/g,qx=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,Wx=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function $x(n){const e=n.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${e})(['"]?\\))`,"g")}function Kx(n){const e=[];return n.replace(wC,(t,i,s)=>(e.push(s),t)),e.filter(t=>!Cr(t))}async function Qx(n,e,t,i,s){try{const l=t?mx(e,t):e,c=Lr(e);let d;return s||(d=await gr(l,c,i)),n.replace($x(e),`$1${d}$3`)}catch{}return n}function jx(n,{preferredFontFormat:e}){return e?n.replace(Wx,t=>{for(;;){const[i,,s]=qx.exec(t)||[];if(!s)return"";if(s===e)return`src: ${i};`}}):n}function MC(n){return n.search(wC)!==-1}async function AC(n,e,t){if(!MC(n))return n;const i=jx(n,t);return Kx(i).reduce((l,c)=>l.then(d=>Qx(d,c,e,t)),Promise.resolve(i))}async function $9(n,e,t){var i;const s=(i=e.style)===null||i===void 0?void 0:i.getPropertyValue(n);if(s){const l=await AC(s,null,t);return e.style.setProperty(n,l,e.style.getPropertyPriority(n)),!0}return!1}async function Xx(n,e){await $9("background",n,e)||await $9("background-image",n,e),await $9("mask",n,e)||await $9("-webkit-mask",n,e)||await $9("mask-image",n,e)||await $9("-webkit-mask-image",n,e)}async function Jx(n,e){const t=s3(n,HTMLImageElement);if(!(t&&!Cr(n.src))&&!(s3(n,SVGImageElement)&&!Cr(n.href.baseVal)))return;const i=t?n.src:n.href.baseVal,s=await gr(i,Lr(i),e);await new Promise((l,c)=>{n.onload=l,n.onerror=e.onImageErrorHandler?(...L)=>{try{l(e.onImageErrorHandler(...L))}catch(_){c(_)}}:c;const d=n;d.decode&&(d.decode=l),d.loading==="lazy"&&(d.loading="eager"),t?(n.srcset="",n.src=s):n.href.baseVal=s})}async function ew(n,e){const i=Ct(n.childNodes).map(s=>yC(s,e));await Promise.all(i).then(()=>n)}async function yC(n,e){s3(n,Element)&&(await Xx(n,e),await Jx(n,e),await ew(n,e))}function tw(n,e){const{style:t}=n;e.backgroundColor&&(t.backgroundColor=e.backgroundColor),e.width&&(t.width=`${e.width}px`),e.height&&(t.height=`${e.height}px`);const i=e.style;return i!=null&&Object.keys(i).forEach(s=>{t[s]=i[s]}),n}const NC={};async function OC(n){let e=NC[n];if(e!=null)return e;const i=await(await fetch(n)).text();return e={url:n,cssText:i},NC[n]=e,e}async function IC(n,e){let t=n.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,l=(t.match(/url\([^)]+\)/g)||[]).map(async c=>{let d=c.replace(i,"$1");return d.startsWith("https://")||(d=new URL(d,n.url).href),bC(d,e.fetchRequestInit,({result:L})=>(t=t.replace(c,`url(${L})`),[c,L]))});return Promise.all(l).then(()=>t)}function DC(n){if(n==null)return[];const e=[],t=/(\/\*[\s\S]*?\*\/)/gi;let i=n.replace(t,"");const s=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const L=s.exec(i);if(L===null)break;e.push(L[0])}i=i.replace(s,"");const l=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,c="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",d=new RegExp(c,"gi");for(;;){let L=l.exec(i);if(L===null){if(L=d.exec(i),L===null)break;l.lastIndex=d.lastIndex}else d.lastIndex=l.lastIndex;e.push(L[0])}return e}async function nw(n,e){const t=[],i=[];return n.forEach(s=>{if("cssRules"in s)try{Ct(s.cssRules||[]).forEach((l,c)=>{if(l.type===CSSRule.IMPORT_RULE){let d=c+1;const L=l.href,_=OC(L).then(p=>IC(p,e)).then(p=>DC(p).forEach(m=>{try{s.insertRule(m,m.startsWith("@import")?d+=1:s.cssRules.length)}catch(f){console.error("Error inserting rule from remote css",{rule:m,error:f})}})).catch(p=>{console.error("Error loading remote css",p.toString())});i.push(_)}})}catch(l){const c=n.find(d=>d.href==null)||document.styleSheets[0];s.href!=null&&i.push(OC(s.href).then(d=>IC(d,e)).then(d=>DC(d).forEach(L=>{c.insertRule(L,c.cssRules.length)})).catch(d=>{console.error("Error loading remote stylesheet",d)})),console.error("Error inlining remote css file",l)}}),Promise.all(i).then(()=>(n.forEach(s=>{if("cssRules"in s)try{Ct(s.cssRules||[]).forEach(l=>{t.push(l)})}catch(l){console.error(`Error while reading CSS rules from ${s.href}`,l)}}),t))}function iw(n){return n.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>MC(e.style.getPropertyValue("src")))}async function rw(n,e){if(n.ownerDocument==null)throw new Error("Provided element is not within a Document");const t=Ct(n.ownerDocument.styleSheets),i=await nw(t,e);return iw(i)}function kC(n){return n.trim().replace(/["']/g,"")}function aw(n){const e=new Set;function t(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(l=>{e.add(kC(l))}),Array.from(i.children).forEach(l=>{l instanceof HTMLElement&&t(l)})}return t(n),e}async function sw(n,e){const t=await rw(n,e),i=aw(n);return(await Promise.all(t.filter(l=>i.has(kC(l.style.fontFamily))).map(l=>{const c=l.parentStyleSheet?l.parentStyleSheet.href:null;return AC(l.cssText,c,e)}))).join(`
@@ -3400,7 +3400,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),d4=d2,se=v2);const B1=
3400
3400
  `+d).trim(),this.textStyle={...f,...L,...p},this.classNames=[...h,..._,...m],this.commentStyle={...f,...L},this.messageStyle={...f,...p},this.commentClassNames=[...h,..._],this.messageClassNames=[...h,...m]}}const uY=n=>{const e=n.context.getComment()||"",t=new cY(e),i={className:z2("text-left text-sm text-skin-message",{hidden:n.collapsed&&!n.context.ret()}),context:n.context,origin:n.origin,comment:e,commentObj:t,number:n.number};switch(!0){case!!n.context.loop():return T.jsx(FH,{...i});case!!n.context.alt():return T.jsx(UH,{...i});case!!n.context.par():return T.jsx(ZH,{...i});case!!n.context.opt():return T.jsx(BH,{...i});case!!n.context.section():return T.jsx(zH,{...i});case!!n.context.critical():return T.jsx(HH,{...i});case!!n.context.tcf():return T.jsx(YH,{...i});case!!n.context.ref():return T.jsx(VH,{...i});case!!n.context.creation():return T.jsx(jH,{...i});case!!n.context.message():return T.jsx(JH,{...i});case!!n.context.asyncMessage():return T.jsx(tY,{...i});case!!n.context.divider():return T.jsx(sY,{...i});case!!n.context.ret():return T.jsx(oY,{...i,className:"text-left text-sm text-skin-message"})}},T3=n=>{var i;const e=((i=n.context)==null?void 0:i.stat())||[],t=s=>n.number?n.incremental?uZ(n.number,s):`${n.number}.${s+1}`:String(s+1);return T.jsx("div",{className:z2("block",n.className),style:n.style,"data-origin":n.origin,children:e.map((s,l)=>T.jsx("div",{className:z2("statement-container my-4",l===e.length-1&&"[&>.return]:-mb-4 [&>.return]:bottom-[-1px]"),"data-origin":n.origin,children:T.jsx(uY,{origin:n.origin||"",context:s,collapsed:!!n.collapsed,number:t(l)})},l))})};var dY=typeof document<"u",LY=function(){},tc=dY?b.useLayoutEffect:LY;const CY={...wn}.useInsertionEffect||(n=>n());function _Y(n){const e=b.useRef(()=>{});return CY(()=>{e.current=n}),b.useCallback(function(){for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return e.current==null?void 0:e.current(...i)},[])}const gY={...wn};let hE=!1,pY=0;const fE=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+pY++;function mY(){const[n,e]=b.useState(()=>hE?fE():void 0);return tc(()=>{n==null&&e(fE())},[]),b.useEffect(()=>{hE=!0},[]),n}const hY=gY.useId||mY;function fY(){const n=new Map;return{emit(e,t){var i;(i=n.get(e))==null||i.forEach(s=>s(t))},on(e,t){n.has(e)||n.set(e,new Set),n.get(e).add(t)},off(e,t){var i;(i=n.get(e))==null||i.delete(t)}}}const EY=b.createContext(null),SY=b.createContext(null),TY=()=>{var n;return((n=b.useContext(EY))==null?void 0:n.id)||null},vY=()=>b.useContext(SY);function RY(n){const{open:e=!1,onOpenChange:t,elements:i}=n,s=hY(),l=b.useRef({}),[c]=b.useState(()=>fY()),d=TY()!=null,[L,_]=b.useState(i.reference),p=_Y((h,v,R)=>{l.current.openEvent=h?v:void 0,c.emit("openchange",{open:h,event:v,reason:R,nested:d}),t==null||t(h,v,R)}),m=b.useMemo(()=>({setPositionReference:_}),[]),f=b.useMemo(()=>({reference:L||i.reference||null,floating:i.floating||null,domReference:i.reference}),[L,i.reference,i.floating]);return b.useMemo(()=>({dataRef:l,open:e,onOpenChange:p,elements:f,events:c,floatingId:s,refs:m}),[e,p,f,c,s,m])}function bY(n){n===void 0&&(n={});const{nodeId:e}=n,t=RY({...n,elements:{reference:null,floating:null,...n.elements}}),i=n.rootContext||t,s=i.elements,[l,c]=b.useState(null),[d,L]=b.useState(null),p=(s==null?void 0:s.domReference)||l,m=b.useRef(null),f=vY();tc(()=>{p&&(m.current=p)},[p]);const h=UF({...n,elements:{...s,...d&&{reference:d}}}),v=b.useCallback(D=>{const A=Qe(D)?{getBoundingClientRect:()=>D.getBoundingClientRect(),getClientRects:()=>D.getClientRects(),contextElement:D}:D;L(A),h.refs.setReference(A)},[h.refs]),R=b.useCallback(D=>{(Qe(D)||D===null)&&(m.current=D,c(D)),(Qe(h.refs.reference.current)||h.refs.reference.current===null||D!==null&&!Qe(D))&&h.refs.setReference(D)},[h.refs]),w=b.useMemo(()=>({...h.refs,setReference:R,setPositionReference:v,domReference:m}),[h.refs,R,v]),M=b.useMemo(()=>({...h.elements,domReference:p}),[h.elements,p]),N=b.useMemo(()=>({...h,...i,refs:w,elements:M,nodeId:e}),[h,w,M,e,i]);return tc(()=>{i.dataRef.current.floatingContext=N;const D=f==null?void 0:f.nodesRef.current.find(A=>A.id===e);D&&(D.context=N)}),b.useMemo(()=>({...h,context:N,refs:w,elements:M}),[h,w,M,N])}function xY(n){const e=b.useRef(n);return b.useEffect(()=>{e.current=n},[n]),e}function wY(n,e,t){const i=xY(e);b.useEffect(()=>{function s(l){i.current(l)}return document.addEventListener(n,s,t),()=>document.removeEventListener(n,s,t)},[n,t,i])}const MY=(n,e)=>{wY("click",t=>{n&&(n.contains(t.target)||e(t))},{capture:!0})},AY=[{name:"bold",content:"B",class:"font-bold"},{name:"italic",content:"I",class:"italic"},{name:"underline",content:"U",class:"underline"},{name:"strikethrough",content:"S",class:"line-through"}],yY=()=>{const[n,e]=r4(r9),t=Q2(J0),i=I9(ur),[s,l]=b.useState(!1),[c,d]=b.useState([]),[L,_]=b.useState(""),p=R=>{e(R),t(R)},m=b.useRef({start:0,lineHead:0,prevLine:"",leadingSpaces:"",prevLineIsComment:!1,hasStyleBrackets:!1}),{refs:f,floatingStyles:h}=bY({open:s,onOpenChange:l}),v=R=>{var M;if(l(!1),!L)return;const w=m.current;if(w.prevLineIsComment){let N="";if(w.hasStyleBrackets){let D;c.includes(R)?D=c.filter(A=>A!==R):D=[...c,R],N=`${w.leadingSpaces}// [${D.filter(Boolean).join(", ")}] ${w.prevLine.slice(w.prevLine.indexOf("]")+1).trimStart()}`}else N=`${w.leadingSpaces}// [${R}] ${w.prevLine.slice((((M=w.prevLine.match(/\/\/*/))==null?void 0:M.index)||-2)+2).trimStart()}`;N.endsWith(`
3401
3401
  `)||(N+=`
3402
3402
  `),p(n.slice(0,tC(n,w.start))+N+n.slice(w.lineHead))}else p(n.slice(0,w.lineHead)+`${w.leadingSpaces}// [${R}]
3403
- `+n.slice(w.lineHead))};return MY(f.floating.current,()=>{l(!1)}),b.useEffect(()=>{i((R,w)=>{setTimeout(()=>{var N;const M=m.current;if(M.start=R.start.start,M.lineHead=nr(n,M.start),M.prevLine=$b(n,M.start),M.leadingSpaces=((N=n.slice(M.lineHead).match(/^\s*/))==null?void 0:N[0])||"",M.prevLineIsComment=M.prevLine.trim().startsWith("//"),M.prevLineIsComment){const D=M.prevLine.trimStart().slice(2).trimStart(),A=D.indexOf("["),P=D.indexOf("]");M.hasStyleBrackets=!!(A===0&&P),M.hasStyleBrackets?d(D.slice(A+1,P).split(",").map(W=>W.trim())):d([])}f.setReference(w),_(R),l(!0)},0)})},[n,f,i]),T.jsx("div",{id:"style-panel",ref:f.setFloating,style:h,children:s&&T.jsx("div",{className:"flex bg-white shadow-md z-10 rounded-md p-1",children:AY.map(R=>T.jsx("div",{onClick:()=>v(R.class),children:T.jsx("div",{className:z2("w-6 mx-1 py-1 rounded-md text-black text-center cursor-pointer hover:bg-gray-200",[R.class,{"bg-gray-100":c.includes(R.class)}]),children:R.content})},R.name))})})},EE=d7.child({name:"MessageLayer"}),SE=n=>{const e=Q2(V9),t=Q2(B3),i=b.useMemo(()=>{const d=a8(e);return d.length===0?Pe:d[0].from||Pe},[e]),s=z3(t,i)+1,[l,c]=b.useState(!1);return l&&EE.debug("MessageLayer updated"),b.useEffect(()=>{c(!0),EE.debug("MessageLayer mounted")},[]),T.jsxs("div",{className:"message-layer relative z-30 pt-14 pb-10",style:n.style,children:[T.jsx(T3,{context:n.context,style:{paddingLeft:`${s}px`},origin:i}),T.jsx(yY,{})]})},TE=n=>{const e=Q2(q9),t=Q2(Z4),i=Q2(V9),s=Q2(B3),l=I9(lr),c=b.useRef(null);b.useEffect(()=>{l(c.current)}),b.useImperativeHandle(n.ref,()=>c.current);const d=b.useMemo(()=>{const _=s.orderedParticipantNames(),m=new G8(_).getFrame(i);return m?z8(m).left:0},[s,i]),L=b.useMemo(()=>rp(i,s)-d,[i,s,d]);return T.jsx("div",{className:z2("zenuml sequence-diagram relative box-border text-left overflow-visible px-2.5",e,n.className),style:n.style,ref:c,children:T.jsx("div",{style:{paddingLeft:`${d}px`},className:"relative z-container",children:t===Z3.Dynamic?T.jsxs(T.Fragment,{children:[T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderLifeLine:!0}),T.jsx(SE,{context:i==null?void 0:i.block(),style:{width:`${L}px`}}),T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderParticipants:!0})]}):T.jsxs(T.Fragment,{children:[T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderParticipants:!0,renderLifeLine:!0}),T.jsx(SE,{context:i==null?void 0:i.block(),style:{width:`${L}px`}})]})})})},i6={backgroundColor:"white",filter:n=>{var e;return!((e=n==null?void 0:n.classList)!=null&&e.contains("hide-export"))}},NY=({ref:n,children:e})=>{const t=b.useRef(null),i=b.useRef(null),s=Q2(V9),[l,c]=r4(_C),[d,L]=r4(CC),[_,p]=r4(q9),[m,f]=r4(gC),h=Q2(LC),v=Q2(Z4),R=s==null?void 0:s.title(),w=()=>{c(!0)},M=async()=>{if(t.current)return PC(t.current,i6)},N=async()=>{if(t.current)return pr(t.current,i6)},D=async()=>{if(t.current)return cw(t.current,i6)},A=async()=>{if(t.current)return lw(t.current,i6)},P=()=>{const K=Math.min(1,d+.1);L(K)},W=()=>{L(d-.1)},k=K=>{const n2="zenuml-style";let a2;a2=document.createElement("style"),a2.id=n2,document.head.append(a2),a2.textContent=K},G=K=>{const n2=new URL(K).hostname;if(n2==="https://github.com"||n2==="https://githubusercontent.com"){fetch(K.replace("github.com","raw.githubusercontent.com").replace("blob/","")).then(_2=>_2.text()).then(_2=>{k(_2)});return}const a2="zenuml-remote-css";let r2;r2=document.createElement("link"),r2.id=a2,r2.rel="stylesheet",document.head.append(r2),r2.href=K};return b.useImperativeHandle(n,()=>({toPng:M,toSvg:N,toBlob:D,toJpeg:A,zoomIn:P,zoomOut:W,setTheme:p,setRemoteCss:G})),T.jsxs("div",{ref:t,className:z2("p-1 bg-skin-canvas inline-block",_),children:[T.jsx(Vw,{}),T.jsxs("div",{className:"frame text-skin-base bg-skin-frame border-skin-frame relative m-1 origin-top-left whitespace-nowrap border rounded",children:[T.jsxs("div",{ref:i,children:[T.jsxs("div",{className:"header text-skin-title bg-skin-title border-skin-frame border-b p-1 flex justify-between rounded-t",children:[T.jsx("div",{className:"left hide-export",children:e}),T.jsxs("div",{className:"right flex-grow flex justify-between",children:[T.jsx(Ww,{context:R}),T.jsx(qw,{className:"hide-export flex items-center"})]})]}),l&&T.jsx("div",{className:"fixed z-40 inset-0 overflow-y-auto","aria-labelledby":"modal-title",role:"dialog","aria-modal":"true",children:T.jsx(_k,{})}),T.jsx(TE,{className:"origin-top-left",style:{transform:`scale(${d})`}})]}),T.jsx("div",{className:"footer rounded text-skin-control bg-skin-title px-4 py-1 flex justify-between items-center gap-3",children:v===Z3.Dynamic&&T.jsxs(T.Fragment,{children:[T.jsxs("div",{className:"flex items-center gap-3 color-base",children:[T.jsx("button",{className:"bottom-1 flex items-center left-1 hide-export",onClick:w,children:T.jsx(_e,{name:"tip",className:"filter grayscale w-4 h-4"})}),h&&T.jsx(WU,{}),T.jsxs("div",{className:"flex items-center",children:[T.jsx("input",{type:"checkbox",id:"order-display",className:"mr-1",checked:!!m,onChange:()=>f(!m)}),T.jsx("label",{htmlFor:"order-display",title:"Numbering the diagram",className:"select-none",children:T.jsx(_e,{name:"numbering",className:"w-6 h-6"})})]})]}),T.jsxs("div",{className:"zoom-controls flex hide-export gap-1",children:[T.jsx("button",{className:"zoom-in",onClick:P,children:T.jsx(_e,{name:"zoom-in",className:"w-4 h-4"})}),T.jsxs("label",{className:"w-12 block text-center",children:[Number(d*100).toFixed(0),"%"]}),T.jsx("button",{className:"zoom-out",onClick:W,children:T.jsx(_e,{name:"zoom-out",className:"w-4 h-4"})})]}),T.jsx("a",{target:"_blank",href:"https://zenuml.com",className:"brand text-xs hover:underline",children:"ZenUML.com"})]})})]})]})},OY="3.40.1";function IY(n){const e=Math.floor(n/1e3),t=Math.floor(n%1e3),i=Math.floor((n%1e3-t)*1e3);return e+"s "+t+"ms "+i+"μs"}const DY=(n,e)=>{const i=vE()-e;return console.debug(n+" cost: "+IY(i)),i},vE=()=>performance.now();var nc={exports:{}},w5={},ic={exports:{}},rc={};/**
3403
+ `+n.slice(w.lineHead))};return MY(f.floating.current,()=>{l(!1)}),b.useEffect(()=>{i((R,w)=>{setTimeout(()=>{var N;const M=m.current;if(M.start=R.start.start,M.lineHead=nr(n,M.start),M.prevLine=$b(n,M.start),M.leadingSpaces=((N=n.slice(M.lineHead).match(/^\s*/))==null?void 0:N[0])||"",M.prevLineIsComment=M.prevLine.trim().startsWith("//"),M.prevLineIsComment){const D=M.prevLine.trimStart().slice(2).trimStart(),A=D.indexOf("["),P=D.indexOf("]");M.hasStyleBrackets=!!(A===0&&P),M.hasStyleBrackets?d(D.slice(A+1,P).split(",").map(W=>W.trim())):d([])}f.setReference(w),_(R),l(!0)},0)})},[n,f,i]),T.jsx("div",{id:"style-panel",ref:f.setFloating,style:h,children:s&&T.jsx("div",{className:"flex bg-white shadow-md z-10 rounded-md p-1",children:AY.map(R=>T.jsx("div",{onClick:()=>v(R.class),children:T.jsx("div",{className:z2("w-6 mx-1 py-1 rounded-md text-black text-center cursor-pointer hover:bg-gray-200",[R.class,{"bg-gray-100":c.includes(R.class)}]),children:R.content})},R.name))})})},EE=d7.child({name:"MessageLayer"}),SE=n=>{const e=Q2(V9),t=Q2(B3),i=b.useMemo(()=>{const d=a8(e);return d.length===0?Pe:d[0].from||Pe},[e]),s=z3(t,i)+1,[l,c]=b.useState(!1);return l&&EE.debug("MessageLayer updated"),b.useEffect(()=>{c(!0),EE.debug("MessageLayer mounted")},[]),T.jsxs("div",{className:"message-layer relative z-30 pt-14 pb-10",style:n.style,children:[T.jsx(T3,{context:n.context,style:{paddingLeft:`${s}px`},origin:i}),T.jsx(yY,{})]})},TE=n=>{const e=Q2(q9),t=Q2(Z4),i=Q2(V9),s=Q2(B3),l=I9(lr),c=b.useRef(null);b.useEffect(()=>{l(c.current)}),b.useImperativeHandle(n.ref,()=>c.current);const d=b.useMemo(()=>{const _=s.orderedParticipantNames(),m=new G8(_).getFrame(i);return m?z8(m).left:0},[s,i]),L=b.useMemo(()=>rp(i,s)-d,[i,s,d]);return T.jsx("div",{className:z2("zenuml sequence-diagram relative box-border text-left overflow-visible px-2.5",e,n.className),style:n.style,ref:c,children:T.jsx("div",{style:{paddingLeft:`${d}px`},className:"relative z-container",children:t===Z3.Dynamic?T.jsxs(T.Fragment,{children:[T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderLifeLine:!0}),T.jsx(SE,{context:i==null?void 0:i.block(),style:{width:`${L}px`}}),T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderParticipants:!0})]}):T.jsxs(T.Fragment,{children:[T.jsx(ca,{leftGap:d,context:i==null?void 0:i.head(),renderParticipants:!0,renderLifeLine:!0}),T.jsx(SE,{context:i==null?void 0:i.block(),style:{width:`${L}px`}})]})})})},i6={backgroundColor:"white",filter:n=>{var e;return!((e=n==null?void 0:n.classList)!=null&&e.contains("hide-export"))}},NY=({ref:n,children:e})=>{const t=b.useRef(null),i=b.useRef(null),s=Q2(V9),[l,c]=r4(_C),[d,L]=r4(CC),[_,p]=r4(q9),[m,f]=r4(gC),h=Q2(LC),v=Q2(Z4),R=s==null?void 0:s.title(),w=()=>{c(!0)},M=async()=>{if(t.current)return PC(t.current,i6)},N=async()=>{if(t.current)return pr(t.current,i6)},D=async()=>{if(t.current)return cw(t.current,i6)},A=async()=>{if(t.current)return lw(t.current,i6)},P=()=>{const K=Math.min(1,d+.1);L(K)},W=()=>{L(d-.1)},k=K=>{const n2="zenuml-style";let a2;a2=document.createElement("style"),a2.id=n2,document.head.append(a2),a2.textContent=K},G=K=>{const n2=new URL(K).hostname;if(n2==="https://github.com"||n2==="https://githubusercontent.com"){fetch(K.replace("github.com","raw.githubusercontent.com").replace("blob/","")).then(_2=>_2.text()).then(_2=>{k(_2)});return}const a2="zenuml-remote-css";let r2;r2=document.createElement("link"),r2.id=a2,r2.rel="stylesheet",document.head.append(r2),r2.href=K};return b.useImperativeHandle(n,()=>({toPng:M,toSvg:N,toBlob:D,toJpeg:A,zoomIn:P,zoomOut:W,setTheme:p,setRemoteCss:G})),T.jsxs("div",{ref:t,className:z2("p-1 bg-skin-canvas inline-block",_),children:[T.jsx(Vw,{}),T.jsxs("div",{className:"frame text-skin-base bg-skin-frame border-skin-frame relative m-1 origin-top-left whitespace-nowrap border rounded",children:[T.jsxs("div",{ref:i,children:[T.jsxs("div",{className:"header text-skin-title bg-skin-title border-skin-frame border-b p-1 flex justify-between rounded-t",children:[T.jsx("div",{className:"left hide-export",children:e}),T.jsxs("div",{className:"right flex-grow flex justify-between",children:[T.jsx(Ww,{context:R}),T.jsx(qw,{className:"hide-export flex items-center"})]})]}),l&&T.jsx("div",{className:"fixed z-40 inset-0 overflow-y-auto","aria-labelledby":"modal-title",role:"dialog","aria-modal":"true",children:T.jsx(_k,{})}),T.jsx(TE,{className:"origin-top-left",style:{transform:`scale(${d})`}})]}),T.jsx("div",{className:"footer rounded text-skin-control bg-skin-title px-4 py-1 flex justify-between items-center gap-3",children:v===Z3.Dynamic&&T.jsxs(T.Fragment,{children:[T.jsxs("div",{className:"flex items-center gap-3 color-base",children:[T.jsx("button",{className:"bottom-1 flex items-center left-1 hide-export",onClick:w,children:T.jsx(_e,{name:"tip",className:"filter grayscale w-4 h-4"})}),h&&T.jsx(WU,{}),T.jsxs("div",{className:"flex items-center",children:[T.jsx("input",{type:"checkbox",id:"order-display",className:"mr-1",checked:!!m,onChange:()=>f(!m)}),T.jsx("label",{htmlFor:"order-display",title:"Numbering the diagram",className:"select-none",children:T.jsx(_e,{name:"numbering",className:"w-6 h-6"})})]})]}),T.jsxs("div",{className:"zoom-controls flex hide-export gap-1",children:[T.jsx("button",{className:"zoom-in",onClick:P,children:T.jsx(_e,{name:"zoom-in",className:"w-4 h-4"})}),T.jsxs("label",{className:"w-12 block text-center",children:[Number(d*100).toFixed(0),"%"]}),T.jsx("button",{className:"zoom-out",onClick:W,children:T.jsx(_e,{name:"zoom-out",className:"w-4 h-4"})})]}),T.jsx("a",{target:"_blank",href:"https://zenuml.com",className:"brand text-xs hover:underline",children:"ZenUML.com"})]})})]})]})},OY="3.41.1";function IY(n){const e=Math.floor(n/1e3),t=Math.floor(n%1e3),i=Math.floor((n%1e3-t)*1e3);return e+"s "+t+"ms "+i+"μs"}const DY=(n,e)=>{const i=vE()-e;return console.debug(n+" cost: "+IY(i)),i},vE=()=>performance.now();var nc={exports:{}},w5={},ic={exports:{}},rc={};/**
3404
3404
  * @license React
3405
3405
  * scheduler.production.js
3406
3406
  *