// This file was generated by lezer-generator. You probably shouldn't edit it.
import {LRParser} from "@lezer/lr"
import {highlighting} from "./highlight"
export const parser = LRParser.deserialize({
  version: 14,
  states: "7WO!sQPOOOOQO'#C_'#C_O!zQPO'#C`O&bQPO'#D{OVQPO'#CdO&iQPO'#CqO'yQPO'#CsO(RQPO'#CuO(WQPO'#C|O(]QPO'#DVOOQO'#ES'#ESO(bQPO'#DXO(gQQO'#D]OOQO'#D]'#D]O(lQQO'#D_O(qQPO'#D[O(vQPO'#D[OOQO'#D}'#D}O({QPO'#DjOVQPO'#DlO)QQPO'#DnOOQO'#Ea'#EaO)YQPO'#D{OOQO'#D|'#D|O)TQPO'#DwQOQPOOOOQO'#Ca'#CaOOQO,58z,58zO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,59OO&iQPO,58xO)kQPO'#ETO+PQPO,59OO+ZQPO'#EUO+`QPO,59^O+hQPO,5:}O,eQPO'#ETO&iQPO'#CdO,rQPO,59]OOQO'#ET'#ETO-fQPO,59aO&iQPO,59_OOQO,59_,59_O)QQPO,59aO&iQPO,59hO)QQPO,59qO&iQPO,59sOOQO,59w,59wOOQO,59y,59yO&iQPO,59vO&iQPO,59vO&iQPO,5:UO%TQPO'#C^OOQO,5:W,5:WOOQO'#Cy'#CyO)QQPO'#CyO-sQPO,5:YOOQO'#Dp'#DpOVQPO,5:^OVQPO,5:^OVQPO,5:^OVQPO,5:^O-{QPO'#EeOOQO'#Ed'#EdO.QQPO,5:cOOQO1G.j1G.jO0VQPO1G.jO0^QPO1G.jO2bQPO1G.jO4fQPO1G.jO4mQPO1G.jO4tQPO1G.jO5^QPO1G.jO7PQPO1G.dO&iQPO,5:pOOQO1G.x1G.xOOQO1G0i1G0iOOQO1G.w1G.wO&iQPO1G.{O7pQPO1G.yO7wQPO1G.{O7|QPO1G/SO8TQPO1G/]O8YQPO1G/_O8bQPO1G/bO8iQPO1G/bO8qQPO1G/pOOQO'#EW'#EWO8yQPO,59eO9RQPO'#CzO)QQPO,5:|O9WQPO1G/tOOQO1G/x1G/xO;SQPO1G/xO;ZQPO1G/xO;bQPO1G/xO&iQPO,5;PO)TQPO,5;OOVQPO1G/}O<PQPO1G0[O<aQPO7+$gOOQO7+$e7+$eO&iQPO7+$gOVQPO7+$nO&iQPO7+$wOOQO7+$y7+$yOOQO7+$|7+$|O<hQPO7+$|OOQO7+%[7+%[OOQO1G/P1G/PO)QQPO,59fOOQO1G0h1G0hOOQO'#C`'#C`O<mQPO7+%`O=ZQPO1G0kOOQO1G0j1G0jOOQO7+%i7+%iOVQPO<<HRO=eQPO<<HRO=lQPO'#D}O=vQPO'#DSOOQO'#EX'#EXOOQO'#C}'#C}O>[QPO<<HYO>dQPO<<HcO&iQPO<<HhOOQO1G/Q1G/QO>kQPO<<HzO?YQPOAN=mOVQPOAN=mO&iQPO,59jO&iQPO,59lOVQPO,59iOOQOAN=tAN=tOVQPOAN=}O?kQPOAN>SOOQOG23XG23XO?rQPOG23XO@TQPO1G/UO@_QPO1G/WOOQO1G/T1G/TO@iQPOG23iO@pQPOG23iOOQOG23nG23nOOQOLD(sLD(sOOQOLD)TLD)TO&iQPOLD)TOARQPO!$'LoOOQO!)9BZ!)9BZO9WQPO,59OO9WQPO,59OO9WQPO,59OO9WQPO,59OO9WQPO,59OO9WQPO,59OO9WQPO,59OO9WQPO,59OOAYQPO1G.jOCRQPO1G.jOF}QPO1G.jOIXQPO1G.jOI`QPO1G.jOIgQPO1G.jOInQPO1G.j",
  stateData: "Kx~O!nOS~OUaOVaOaSOdTOhUOlVOoWOxXO|ZO!_bO!acO!cdO!edO!rPO!sPO!tPO!uQO!|[O!}[O#O]O#P]O#Q]O#R]O#S^O~O}hO~PVO!rjOXSXYSXZSX[SX]SX^SX_SX`SXjSX!SSX!TSX!USX!VSX!WSX!XSX!YSX!ZSX![SX!]SX!lSX!ySXcSX!gSX!hSX!iSX!jSXbSXkSXuSXzSXsSXwSX~OXlOYmOZnO[oO]pO^qO_rO`sOjtO!StO!TtO!UtO!VtO!WtO!XtO!YtO!ZtO![tO!]tO~O!l!oX~P%TOUaOVaOa{OdTOhUOlVOoWOxXO|ZO!rPO!sPO!tPO!uQO!|[O!}[O#O]O#P]O#Q]O#R]O#S^O~Oa!POhUO~Od!RO~Od!SO~Od!TO~O}!UO~O!Q!VO~O!Q!WO~Oa!XO~O}!YO~O}!ZO~Oa!_O!uQO~O!g!bO!h!cO!i!dO!j!eO!l!oX~O!y!wX~P%TOX!qXY!qXZ!qX[!qX]!qX^!qX_!qX`!qXj!qX!S!qX!T!qX!U!qX!V!qX!W!qX!X!qX!Y!qX!Z!qX![!qX!]!qX~Ob!iO!y!qX~P)rO!y!rO~Ob!sO!y!wX~Ob!tO!g!bO!h!cO!i!dO!j!eO~OXlOYmOZnO[oO]pO^qO_rO`sO~Oc!wX!y!wXz!wX~P+yOc!uO!y!rO~OX!qXY!qXZ!qX[!qX]!qX^!qX_!qX`!qX~Oj!vOc!qX!y!qX~P,zOj#TO!y#SO~Oj#YO~Oz#[O!y#ZO~OXlOZWi[Wi]Wi^Wi_Wi`WijWi!SWi!TWi!UWi!VWi!WWi!XWi!YWi!ZWi![Wi!]Wi!lWibWi!yWicWi!gWi!hWi!iWi!jWikWizWiwWi~OYWi~P.YOYmO~P.YOXlOYmOZnO`sO]Wi^Wi_WijWi!SWi!TWi!UWi!VWi!WWi!XWi!YWi!ZWi![Wi!]Wi!lWibWi!yWicWi!gWi!hWi!iWi!jWikWizWiwWi~O[Wi~P0eOXlOYmOZnO[oO_rO`sO^WijWi!SWi!TWi!UWi!VWi!WWi!XWi!YWi!ZWi![Wi!]Wi!lWibWi!yWicWi!gWi!hWi!iWi!jWikWizWiwWi~O]Wi~P2iO]pO~P2iO[oO~P0eO[Wi]Wi^Wi_Wi`Wi~OXlOYmOZnOjWi!SWi!TWi!UWi!VWi!WWi!XWi!YWi!ZWi![Wi!]Wi!lWibWi!yWicWi!gWi!hWi!iWi!jWikWizWiwWi~P4{O!gQi!hQi!iQi!jQi!lQibQicQiwQikQi~P+yOb#_O~P+yOj#`O~Ok#aO~P+yOu#bO~Oz#cO!y!rO~Ob#dO~P+yOz#eO!y!rO~Oz#fO!y!rO~Ob#gO!y!zX~O!y#hO~OUaOVaOa{OdTOhUOlVOoWOxXO|ZO!rPO!sPO!tPO!u#jO!|[O!}[O#O]O#P]O#Q]O#R]O#S^O~O!g!bO!i!fi!j!fi!l!fib!fic!fiw!fik!fi~O!h!fi~P:hO!h!cO~P:hO!g!bO!h!cO!i!dO!j!fi!l!fib!fic!fiw!fik!fi~Ob!xi!y!xic!xiz!xi~P+yOk#oO~P+yOa#wO~OX$aOY$bOZ$cO[$dO]$eO^$fO_$gO`$hO~PVOz#Xi!y#Xi~P+yOk#{O~P+yOs#|Ou#}O~P)rO!g!bO!h!cO!i!dO!j!eOcvXwvX~Oc$POw$OO~Ok$QO~P+yO!g!bO!h!cO!i!dO!j!eO!l!byb!byc!byw!byk!by~Oc$SO!g!bO!h!cO!i!dO!j!eO~Ob$ZO~P+yOc$[O!g!bO!h!cO!i!dO!j!eO~Ocriwri~P+yOctiwti~P+yOc$]O~P%TOk$^O!g!bO!h!cO!i!dO!j!eO~Oc$`O~P+yOX$aOUWiVWiYWiZWiaWidWihWilWioWixWi|Wi!_Wi!aWi!cWi!eWi!rWi!sWi!tWi!uWi!|Wi!}Wi#OWi#PWi#QWi#RWi#SWi~P4{OX$aOY$bOUWiVWiZWiaWidWihWilWioWixWi|Wi!_Wi!aWi!cWi!eWi!rWi!sWi!tWi!uWi!|Wi!}Wi#OWi#PWi#QWi#RWi#SWi~P4{OX$aOY$bOZ$cO`$hOUWiVWi]Wi^Wi_WiaWidWihWilWioWixWi|Wi!_Wi!aWi!cWi!eWi!rWi!sWi!tWi!uWi!|Wi!}Wi#OWi#PWi#QWi#RWi#SWi~O[Wi~PDzOX$aOY$bOZ$cO[$dO_$gO`$hOUWiVWi^WiaWidWihWilWioWixWi|Wi!_Wi!aWi!cWi!eWi!rWi!sWi!tWi!uWi!|Wi!}Wi#OWi#PWi#QWi#RWi#SWi~O]Wi~PGUO]$eO~PGUO[$dO~PDzOX$aOY$bOZ$cOUWiVWiaWidWihWilWioWixWi|Wi!_Wi!aWi!cWi!eWi!rWi!sWi!tWi!uWi!|Wi!}Wi#OWi#PWi#QWi#RWi#SWi~P4{O#S!|!_|UV#O#P#Q#R!}!uxolo~",
  goto: "1f#YPP#Z#k$p&VPP&YPPPPPPPPPPPP'a'a(fP'aPPP)n*QP'a*T*WP*WP*WPP'aP#kPP#k*[P+aPPPPPPPPPP,fP,fP,fP,vP#ZPPPP,yPPP,|-S-zPPPP#k0e0uP1P1SPPPPPPP#Z1Y#Z1]1`mgOSc!b!c!d!e#[#a#k#o#{$O$Q#VaOSTclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$h#OaOSclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#b#k#o#w#{#|#}$Q$^$a$b$c$d$e$f$g$hQ!OT[!^d!R!T!_#S#hS!fh#ZT#q#a$ORkQ#QaOTclmnopqrst!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$hTvS{#VYOSTclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$h#UYOSTclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$hR!QUQ!adQ!x!RQ!z!TQ#P!_Q#i#SR#x#hR#Q!_R#u#aT#s#a$O#V_OSTclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$h#V`OSTclmnopqrst{!P!S!U!X!Y!Z!b!c!d!e!r!v#T#Y#[#`#a#b#k#o#w#{#|#}$O$Q$^$a$b$c$d$e$f$g$hmeOSc!b!c!d!e#[#a#k#o#{$O$QR!`dRiOQiOR#n#[SfO#[QySQ!]cQ#U!bQ#V!cQ#W!dQ#X!eS#r#a$OQ#y#kQ#z#oQ$T#{R$Y$QSRO#[QuSYzT{!U!Y!Zd![c!b!c!d!e#a#k#o#{$OS!il$aQ!jmQ!knQ!loQ!mpQ!nqQ!orQ!psQ!qtQ!w!PQ!y!SQ!|!XQ#]!rQ#^!vQ#k#TQ#l#YQ#p#`Q#v#bQ$R#wQ$U#|Q$V#}Q$X$QQ$_$^Q$i$bQ$j$cQ$k$dQ$l$eQ$m$fQ$n$gR$o$hSwS{Q|TQ!{!UQ!}!YR#O!ZSxS{X}T!U!Y!ZR#R!_Q#t#aR$W$OR!adR!hhQ!ghR#m#Z",
  nodeNames: "⚠ Expression LogicPredicate Literal Local Index Global Radical BinaryOperation + - * ∪ \\ ∆ ∩ × ( ) } { Enumeration Tuple Boolean ℬ Declarative ∈ | PrefixD Variable VariableComposite PrefixI Imperative ImperativeBlocks ImperativeIteration :∈ ImperativeAssignment := ImperativeCondition ; PrefixR Recursion ] FunctionCall Function [ TextFunctionExpression TextFunction ComplexIndex Filter ∉ ⊆ ⊄ ⊂ > ≥ < ≤ ≠ = PredicateCall Predicate LogicNegation ¬ LogicQuantor ∀ QuantorVariable ∃ LogicBinary ⇔ ⇒ ∨ & FunctionDeclaration",
  maxTerm: 101,
  nodeProps: [
    ["closedBy", 17,")",20,"}"],
    ["openedBy", 18,"(",19,"{"]
  ],
  propSources: [highlighting],
  skippedNodes: [0],
  repeatNodeCount: 0,
  tokenData: "4i~R!jX^%spq%svw&hxy&myz&rz{&w{|&||}'R}!O'W!Q!R']!R!['e![!](T!]!^(h!^!_(m!_!`(r!`!a(w!c!d(|!e!f(|!f!g)[!h!i)d!k!l)z!r!s*P!t!u*g!u!v(|!v!w(|!z!{(|!|!}*w!}#O*|#O#P+R#P#Q+W#R#S+]#T#U+]#U#V+h#V#W,z#W#X.Z#X#d+]#d#e0a#e#f+]#f#g1P#g#o+]#o#p2Q#p#q2V#q#r2[#y#z%s$f$g%s$r$s2a%o%p2f5i6S+]#BY#BZ%s$IS$I_%s$I|$JO%s$JT$JU%s$KV$KW%s% l% m2k%%Y%%Z2p%%[%%]2u%&Y%&Z2z%&]%&^3P%&_%&`3U%&`%&a3Z%&b%&c3`%&c%&d3e%'S%'T3j%'T%'U3o%'U%'V3t%(^%(_3y%(b%(c4O%(c%(d4T%)Q%)R4Y%)S%)T4_%)U%)V4d&FU&FV%s~%xY!n~X^%spq%s#y#z%s$f$g%s#BY#BZ%s$IS$I_%s$I|$JO%s$JT$JU%s$KV$KW%s&FU&FV%s~&mO!j~~&rOa~~&wOb~~&|OZ~~'ROX~~'WO!y~~']OY~P'bP!rP!Q![']R'lQ!QQ!rP|}'r!Q!['eQ'uP!R!['xQ'}Q!QQ|}'r!Q!['x~(WQ!_!`(^%&b%&c(c~(cOu~~(hOs~~(mOw~~(rO!Y~~(wO!]~~(|O!W~~)PP!Q![)S~)XPU~!Q![)S~)aPl~!Q![)S~)gQ!Q![)m#]#^)u~)rP|~!Q![)m~)zO#S~~*POo~~*SQ!Q![*Y#f#g*b~*_P!_~!Q![*Y~*gO!|~~*lPx~!Q![*o~*tPV~!Q![*o~*|O!t~~+RO}~~+WO]~~+]Oz~~+bQ!u~#T#o+]5i6S+]~+mS!u~#T#c+]#c#d+y#d#o+]5i6S+]~,OS!u~#T#c+]#c#d,[#d#o+]5i6S+]~,aS!u~#T#`+]#`#a,m#a#o+]5i6S+]~,tQ#P~!u~#T#o+]5i6S+]~-PR!u~#T#U-Y#U#o+]5i6S+]~-_S!u~#T#f+]#f#g-k#g#o+]5i6S+]~-pS!u~#T#W+]#W#X-|#X#o+]5i6S+]~.TQ#O~!u~#T#o+]5i6S+]~.`S!u~#T#X+]#X#Y.l#Y#o+]5i6S+]~.qS!u~#T#U+]#U#V.}#V#o+]5i6S+]~/SS!u~#T#c+]#c#d/`#d#o+]5i6S+]~/eS!u~#T#c+]#c#d/q#d#o+]5i6S+]~/vS!u~#T#`+]#`#a0S#a#o+]5i6S+]~0ZQ#Q~!u~#T#o+]5i6S+]~0fS!u~#T#f+]#f#g0r#g#o+]5i6S+]~0yQ!}~!u~#T#o+]5i6S+]~1US!u~#T#X+]#X#Y1b#Y#o+]5i6S+]~1gS!u~#T#W+]#W#X1s#X#o+]5i6S+]~1zQ#R~!u~#T#o+]5i6S+]~2VOd~~2[Ok~~2aOc~~2fO!a~~2kO`~~2pOh~~2uO!h~~2zO!g~~3PO!c~~3UO!e~~3ZO!s~~3`O^~~3eOj~~3jO!S~~3oO!i~~3tO_~~3yO[~~4OO![~~4TO!Z~~4YO!X~~4_O!V~~4dO!U~~4iO!T~",
  tokenizers: [0, 1],
  topRules: {"Expression":[0,1]},
  tokenPrec: 1955
})
