@lezer/css 1.3.0 → 1.3.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## 1.3.2 (2026-03-21)
2
+
3
+ ### Bug fixes
4
+
5
+ Properly parse `@page` rules with pseudo-class page selectors.
6
+
7
+ Fix parsing of `@font-feature-values` with multi-word font names.
8
+
9
+ Properly parse `@` rules that put multiple queries next to each other without separating comma, such as `@container`.
10
+
11
+ Parse selectors with `|` namespace prefixes.
12
+
13
+ Properly parse `i` and `s` flags in attribute selectors.
14
+
15
+ Properly parse `!important` notation as two separate tokens.
16
+
17
+ ## 1.3.1 (2026-02-16)
18
+
19
+ ### Bug fixes
20
+
21
+ Fix parsing of blocks after nested pseudo-class selectors.
22
+
1
23
  ## 1.3.0 (2025-07-07)
2
24
 
3
25
  ### Bug fixes
package/dist/index.cjs CHANGED
@@ -6,12 +6,12 @@ var lr = require('@lezer/lr');
6
6
  var highlight = require('@lezer/highlight');
7
7
 
8
8
  // This file was generated by lezer-generator. You probably shouldn't edit it.
9
- const descendantOp = 122,
9
+ const descendantOp = 132,
10
10
  Unit = 1,
11
- identifier = 123,
12
- callee = 124,
11
+ identifier = 133,
12
+ callee = 134,
13
13
  VariableName = 2,
14
- queryIdentifier = 125,
14
+ queryIdentifier = 135,
15
15
  queryVariableName = 3,
16
16
  QueryCallee = 4;
17
17
 
@@ -55,10 +55,12 @@ const identifierTokens = (id, varName, callee) => (input, stack) => {
55
55
  };
56
56
 
57
57
  const identifiers = new lr.ExternalTokenizer(
58
- identifierTokens(identifier, VariableName, callee)
58
+ identifierTokens(identifier, VariableName, callee),
59
+ {contextual: true}
59
60
  );
60
61
  const queryIdentifiers = new lr.ExternalTokenizer(
61
- identifierTokens(queryIdentifier, queryVariableName, QueryCallee)
62
+ identifierTokens(queryIdentifier, queryVariableName, QueryCallee),
63
+ {contextual: true}
62
64
  );
63
65
 
64
66
  const descendant = new lr.ExternalTokenizer(input => {
@@ -83,8 +85,8 @@ const unitToken = new lr.ExternalTokenizer(input => {
83
85
  });
84
86
 
85
87
  const cssHighlighting = highlight.styleTags({
86
- "AtKeyword import charset namespace keyframes media supports": highlight.tags.definitionKeyword,
87
- "from to selector": highlight.tags.keyword,
88
+ "AtKeyword import charset namespace keyframes media supports font-feature-values": highlight.tags.definitionKeyword,
89
+ "from to selector scope MatchFlag": highlight.tags.keyword,
88
90
  NamespaceName: highlight.tags.namespace,
89
91
  KeyframeName: highlight.tags.labelName,
90
92
  KeyframeRangeName: highlight.tags.operatorKeyword,
@@ -97,7 +99,7 @@ const cssHighlighting = highlight.styleTags({
97
99
  NumberLiteral: highlight.tags.number,
98
100
  KeywordQuery: highlight.tags.keyword,
99
101
  UnaryQueryOp: highlight.tags.operatorKeyword,
100
- "CallTag ValueName": highlight.tags.atom,
102
+ "CallTag ValueName FontName": highlight.tags.atom,
101
103
  VariableName: highlight.tags.variableName,
102
104
  Callee: highlight.tags.operatorKeyword,
103
105
  Unit: highlight.tags.unit,
@@ -111,38 +113,39 @@ const cssHighlighting = highlight.styleTags({
111
113
  "ParenthesizedContent StringLiteral": highlight.tags.string,
112
114
  ":": highlight.tags.punctuation,
113
115
  "PseudoOp #": highlight.tags.derefOperator,
114
- "; ,": highlight.tags.separator,
116
+ "; , |": highlight.tags.separator,
115
117
  "( )": highlight.tags.paren,
116
118
  "[ ]": highlight.tags.squareBracket,
117
119
  "{ }": highlight.tags.brace
118
120
  });
119
121
 
120
122
  // This file was generated by lezer-generator. You probably shouldn't edit it.
121
- const spec_callee = {__proto__:null,lang:38, "nth-child":38, "nth-last-child":38, "nth-of-type":38, "nth-last-of-type":38, dir:38, "host-context":38, if:84, url:124, "url-prefix":124, domain:124, regexp:124};
122
- const spec_queryIdentifier = {__proto__:null,or:98, and:98, not:106, only:106, layer:170};
123
- const spec_QueryCallee = {__proto__:null,selector:112, layer:166};
124
- const spec_AtKeyword = {__proto__:null,"@import":162, "@media":174, "@charset":178, "@namespace":182, "@keyframes":188, "@supports":200, "@scope":204};
125
- const spec_identifier = {__proto__:null,to:207};
123
+ const spec_callee = {__proto__:null,lang:44, "nth-child":44, "nth-last-child":44, "nth-of-type":44, "nth-last-of-type":44, dir:44, "host-context":44, if:90, url:132, "url-prefix":132, domain:132, regexp:132};
124
+ const spec_queryIdentifier = {__proto__:null,or:104, and:104, not:112, only:112, layer:180};
125
+ const spec_QueryCallee = {__proto__:null,selector:118, layer:176};
126
+ const spec_AtKeyword = {__proto__:null,"@import":172, "@media":184, "@charset":188, "@namespace":192, "@keyframes":198, "@supports":210, "@scope":214, "@font-feature-values":220};
127
+ const spec_identifier = {__proto__:null,to:217};
126
128
  const parser = lr.LRParser.deserialize({
127
129
  version: 14,
128
- states: "EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",
129
- stateData: "Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",
130
- goto: "2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",
131
- nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",
132
- maxTerm: 143,
130
+ states: "HhQYQdOOO#wQdOOP$OO`OOO$xQaO'#CfOOQP'#Ce'#CeO%PQ`O'#CgO%UQdO'#CkO%uQaO'#CcO&PQdO'#CnO&[QdO'#DtO&aQdO'#DvO&fQdO'#DzO&fQdO'#D}OOQP'#Fa'#FaO'rQhO'#EpOOQS'#F`'#F`OOQS'#Es'#EsQYQdOOO'yQdO'#ETO)VQhO'#EZO'yQdO'#E]O)^QdO'#E_O)iQdO'#EbO(nQhO'#EhO)qQdO'#EjO)|QdO'#EmO*RQaO'#CfO*YQ`O'#EQO*_Q`O'#FkO*jQdO'#FkQOQ`OOP*tO&jO'#CaPOOO)CAO)CAOO+PQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO%UQdO,59VO+UQdO,59YO&[QdO,5:`O&aQdO,5:bO&fQdO,5:fO&fQdO,5:hO&fQdO,5:iO&fQdO'#EzO+aQ`O,58}O+iQdO'#EPOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO+pQ`O,59YO+uQ`O,59YOOQP'#Du'#DuOOQP,5:`,5:`OOQO'#Dw'#DwO+zQpO,5:bO,eQaO,5:fO,{QaO,5:iOOQW'#D^'#D^O-wQhO'#DgO.[QhO,5;[O(nQhO'#DeO.iQ`O'#DkO.nQhO'#DnOOQW'#Fg'#FgOOQS,5;[,5;[O.sQ`O'#DhOOQS-E8q-E8qOOQ['#Cv'#CvO.xQdO'#CwO/`QdO'#C}O/vQdO'#DQO0^Q!pO'#DSO2gQ!jO,5:oOOQO'#DX'#DXO+uQ`O'#DWO2wQ!nO'#FdO4zQ`O'#DYO5PQ`O'#DoOOQ['#Fd'#FdO5UQhO'#FnO5dQ`O,5:uO5iQ!bO,5:wOOQS'#Ea'#EaO5qQ`O,5:yO5vQdO,5:yOOQO'#Ed'#EdO6OQ`O,5:|O6TQhO,5;SO&fQdO'#DjOOQS,5;U,5;UO.sQ`O,5;UO6]QdO,5;UOOQS'#FR'#FRO6eQdO'#EoO5dQ`O,5;XO6mQdO,5:lO6}QdO'#E|O7[Q`O,5<VO7[Q`O,5<VPOOO'#Er'#ErP7gO&jO,58{POOO,58{,58{OOQP'#Ci'#CiOOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO+pQ`O1G.tO+uQ`O1G.tOOQP1G/z1G/zO7rQpO1G/|O7zQaO1G0QO8bQaO1G0SO8xQaO1G0TO9`QaO,5;fOOQO-E8x-E8xOOQS1G.i1G.iO9jQ`O,5:kO9oQdO'#DsO9vQdO'#CuOOQP1G/|1G/|O'yQdO1G/|O9}Q!jO'#D^O:]Q!bO,59yO:eQhO,5:ROOQO'#Fh'#FhO:`Q!bO,59}O:mQhO'#FSO(nQhO,59{O(nQhO'#FSO;bQhO1G0vOOQS1G0v1G0vO;lQhO,5:PO<dQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO<nQ!fO'#FeOOQS'#Fe'#FeOOQS'#Eu'#EuO>OQdO,59cOOQ[,59c,59cO>fQdO,59iOOQ[,59i,59iO>|QdO,59lOOQ[,59l,59lOOQ[,59n,59nO'yQdO,59pO?dQhO'#EVOOQW'#EV'#EVO@OQ`O1G0ZO2pQhO1G0ZOOQ[,59r,59rO(nQhO'#D[OOQ[,59t,59tO@TQ#tO,5:ZO@`QhO'#FOO@mQ`O,5<YOOQS1G0a1G0aOOQS1G0c1G0cOOQS1G0e1G0eO@xQ`O1G0eO@}QdO'#EeOOQS1G0h1G0hOOQS1G0n1G0nOAYQaO,5:UO5dQ`O1G0pOOQS1G0p1G0pO.sQ`O1G0pOOQS-E9P-E9POOQS1G0s1G0sOAaQ!fO1G0WOAwQ`O'#ESOOQO1G0W1G0WOOQO,5;h,5;hOA|QdO,5;hOOQO-E8z-E8zOBZQ`O1G1qPOOO-E8p-E8pPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO'yQdO7+%hOOQS1G0V1G0VOBfQaO'#FjOBpQ`O,5:_OBuQ!fO'#EtOCsQdO'#FcOC}Q`O,59aODSQ!bO7+%hO'yQdO1G/eOD_QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gODpQhO,5;nOOQW-E9Q-E9QOOQS7+&b7+&bOEeQhO'#D^OEsQhO'#FiOFOQ`O'#FiOFTQ`O,5:WOOQS-E8s-E8sOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OFYQdO,5:qOOQS7+%u7+%uOF_Q`O7+%uOFdQhO'#D]OFlQ`O,59vO(nQhO,59vOOQ[1G/u1G/uOFtQ`O1G/uOFyQhO,5;jOOQO-E8|-E8|OOQS7+&P7+&POGXQbO'#DSOOQO'#Eg'#EgOGgQ`O'#EfOOQO'#Ef'#EfOGrQ`O'#FPOGzQdO,5;POOQS,5;P,5;POOQ[1G/p1G/pOOQS7+&[7+&[O5dQ`O7+&[OHVQ!fO'#E{O'yQdO'#E{OI^QdO7+%rOOQO7+%r7+%rOOQO,5:n,5:nOOQO1G1S1G1SOIqQ!bO<<ISOI|QdO'#EyOJWQ`O,5<UOOQP1G/y1G/yOOQS-E8r-E8rOJ`QdO'#ExOJjQ`O,5;}OOQ]1G.{1G.{OOQP<<IS<<ISOJrQ`O<<ISOJwQdO7+%POOQO'#D`'#D`OKOQ!bO7+%TOKWQhO'#EwOKeQ`O,5<TO'yQdO,5<TOOQW1G/r1G/rOOQO'#EX'#EXOKmQ`O1G0]OOQS<<Ia<<IaO'yQdO,59wOL^QhO1G/bOOQ[1G/b1G/bOLeQ`O1G/bOOQW-E8t-E8tOOQ[7+%a7+%aOOQO,5;Q,5;QOAQQdO'#FQOGrQ`O,5;kOOQS,5;k,5;kOOQS-E8}-E8}OOQS1G0k1G0kOOQS<<Iv<<IvOLmQ!fO,5;gOOQS-E8y-E8yOOQO<<I^<<I^OOQPAN>nAN>nOMtQ`OAN>nOMyQaO,5;eOOQO-E8w-E8wONTQdO,5;dOOQO-E8v-E8vOOQW<<Hk<<HkOOQW<<Ho<<HoON_QhO<<HoONpQhO,5;cON{Q`O,5;cOOQO-E8u-E8uO! QQdO1G1oOFYQdO'#E}O! [Q`O7+%wOOQW7+%w7+%wO! dQ!bO1G/cOOQ[7+$|7+$|O! oQhO7+$|P! vQ`O'#EvOOQO,5;l,5;lOOQO-E9O-E9OOOQS1G1V1G1VOOQPG24YG24YO! {Q`OAN>ZO'yQdO1G0}O!!QQ`O7+'ZOOQO,5;i,5;iOOQO-E8{-E8{OOQW<<Ic<<IcOOQ[<<Hh<<HhPOQW,5;b,5;bOOQWG23uG23uO!!YQdO7+&i",
131
+ stateData: "!!m~O#}OS$OQQ~OW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yRO~OQkOW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yjO~O#w$_P~P!gO$OoO~O`YXcYXdYXmYXpYXsYX!aYX!oYX!rYX#xYX$U[X~OgYX~P$TO$UqO~O#yrO~O`tOcuOduOmvOpwO!oxO!rzO#xyO~Os}O!a{O~P%ZOf!TO#y!PO#z!QO~O#y!UO~O#y!WO~OW]O^]O`UOcWOdWOmXOpYO!oZO!r[O#yRO~OS!`Oc!aOd!aOh!]Os}O!Y!_O!]!dO#{![O~On!cO~P'WOQ!nOh!gOp!hOs!iOu!qOw!qO}!oO!d!pO#y!fO#z!lO$Y!jO~OS!`Oc!aOd!aOh!]O!Y!_O!]!dO#{![O~Os$bP~P(nOw!vO!d!pO#y!uO~Ow!xO#y!xO~Oh!{Os}O#`!}O~O#y#PO~Oc!uX~P$TOc#SO~On#TO#w$_Xr$_X~O#w$_Xr$_X~P!gO$P#WO$Q#WO$R#YO~O#y#ZO~Of#`O#y!PO#z!QO~Os}O!a{O~Or$_P~P!gOh#jO~Oh#kO~Oo#lO!l#mO~O`tOcuOduOmvOpwO~Os!na!a!na!o!na!r!na#x!nag!na~P,SOs!qa!a!qa!o!qa!r!qa#x!qag!qa~P,SOS!`Oc!aOd!aOh!]O!Y!_O!]!dO~OR#qOu#qOw#qO#{#nO$Y!jO~P-cOn#wO!U#tO!a#uO~P'WOh#yO~O#{#{O~Oh!{O~O`$OOc$OOg$ROl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo$TO~P'yO`$OOc$OOl$OOm$OOn$OOr$VO~P'yOP$WOSvXcvXdvXhvXnvXyvX!YvX!]vX!zvX!|vX#{vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#yvX#zvX$YvXovXrvX!avX#wvX$avX!mvX~Oy$XO!z$YO!|$ZOn$bP~P(nOh#kOS$WXc$WXd$WXn$WXy$WX!Y$WX!]$WX!z$WX!|$WX#{$WXQ$WX`$WXg$WXl$WXm$WXp$WXs$WXu$WXw$WX}$WX!d$WX#y$WX#z$WX$Y$WXo$WXr$WX!a$WX#w$WX$a$WX!m$WX~Oh$_O~Oh$aO~O!U#tO!a$bOs$bXn$bX~Os}O~On$eOy$XO~On$fO~Ow$gO!d!pO~Os$hO~Os}O!U#tO~Os}O#`$nO~O#y#POs#cX~O$a$rOn!ta#w!tar!ta~P'yOn#pX#w#pXr#pX~P!gOn#TO#w$_ar$_a~O$P#WO$Q#WO$R$yO~Oo${O!l$|O~Os!ni!a!ni!o!ni!r!ni#x!nig!ni~P,SOs!pi!a!pi!o!pi!r!pi#x!pig!pi~P,SOs!qi!a!qi!o!qi!r!qi#x!qig!qi~P,SOs#na!a#na~P%ZOr$}O~Og$^P~P&fOg$VP~P'yOc!SXg!QX!U!QX!W!SX~Oc%UO!W%VO~Og%WO!U#tO~O!U#tOS#vXc#vXd#vXh#vXn#vXs#vX!Y#vX!]#vX!a#vX#{#vX~On%[O!a#uO~P'WO!U#tOS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa#{!Xag!Xa~O#{%]Og$]P~P-cOy$XOQ$XX`$XXc$XXg$XXh$XXl$XXm$XXn$XXp$XXs$XXu$XXw$XX}$XX!d$XX#y$XX#z$XX$Y$XXo$XXr$XX~O`$OOc$OOg%bOl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo%cO~P'yO`$OOc$OOl$OOm$OOn$OOr%dO~P'yOh%fOS!yXc!yXd!yXn!yX!Y!yX!]!yX#{!yX~On%gO~Og%lOw%mO!e%mO~Os#rX!a#rXn#rX~P(nO!a$bOs$ban$ba~On%pO~Or%wO#y%rO$Y%qO~Og%xO~P%ZOy$XO!a%|O$a$rOn!ti#w!tir!ti~P'yO$`&PO~On#pa#w#par#pa~P!gOn#TO#w$_ir$_i~O!a&SOg$^X~P%ZOg&UO~Oy$XOQ#hXg#hXh#hXp#hXs#hXu#hXw#hX}#hX!a#hX!d#hX#y#hX#z#hX$Y#hX~O!a&WOg$VX~P'yOg&YO~Oo&ZOy$XO!m&[O~OR#qOu#qOw#qO#{&^O$Y!jO~O!U#tOS#vac#vad#vah#van#vas#va!Y#va!]#va!a#va#{#va~Oc!SXg!QX!U!QX!a!QX~O!U#tO!a&`Og$]X~Oc&bO~Og&cO~O#y&dO~On&fO~Oc&gO!U#tO~Og&iOn&hO~Og&lO~O!U#tOs#ra!a#ran#ra~OP$WOsvX!avXgvX~O$Y%qOs#YX!a#YX~Os}O!a&nO~Or&rO#y%rO$Y%qO~Oy$XOQ#oXh#oXn#oXp#oXs#oXu#oXw#oX}#oX!a#oX!d#oX#w#oX#y#oX#z#oX$Y#oX$a#oXr#oX~O!a%|O$a$rOn!tq#w!tqr!tq~P'yOo&wOy$XO!m&xO~Og#mX!a#mX~P&fO!a&SOg$^a~Og#lX!a#lX~P'yO!a&WOg$Va~Oo&wO~Og&}O~P'yOg'OO!W'PO~O#{%]Og#kX!a#kX~P-cO!a&`Og$]a~O`'UOg'WO~OS#jac#jad#jah#ja!Y#ja!]#ja#{#ja~Og'YO~PKuOg'YOn'ZO~Oy$XOQ#oah#oan#oap#oas#oau#oaw#oa}#oa!a#oa!d#oa#w#oa#y#oa#z#oa$Y#oa$a#oar#oa~Oo'`O~Og#ma!a#ma~P%ZOg#la!a#la~P'yOR#qOu#qOw#qO#{&^O$Y%qO~O!U#tOg#ka!a#ka~Oc'bO~O!a&`Og$]i~P'yO`'UOg'fO~Oy$XOg!Pin!Pi~Og'gO~PKuOn'hO~Og'iO~O!a&`Og$]q~Og#kq!a#kq~P'yO#}!e$O$Y`$Yy!r~",
132
+ goto: "4W$cPPPPP$dP$gP$p%S$p%f%xP$pP%{$pPP&RPPP&X&c&cPPPPP&cPP&cP'PP&cP&c'z&cP(h(k(q(q)T(qP(qP(qP(q(qP)d(q)pP(q)sPP*g*m$p*s$p*yPP$pP$p$pP+P+{,Y,a$gP,jP,mP$gP$gP$gP,s$gP,v,y,|-T$gP$gPP$gP-Y$gP-]-c-r.Y.h.n.x/O/U/[/b/l/r/x0O0U0[PPPPPPPPPPP0b0kP1a1d2fP2n3h3q3t3wPP3}RpQ__OPam}#T$uq]OPZ[amxyz{}!{#T#j$u&SqSOPZ[amxyz{}!{#T#j$u&SqTOPZ[amxyz{}!{#T#j$u&SR#[qQsUR#]tQ!RWR#^uQ#^!TS$^!m!nR$z#`!V!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'j!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jU#q!]%V'PU%t$h%v&nR&m%s!V!mbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jR$`!oQ%j$_R&j%kq!b^cg!]!^!_!k#t#u#v#y$]$_$b%k&`Q#o!]Q%_#yQ&_%VQ'R&`R'a'PQ#OhQ#|!dQ$l!}R%z$nR#z!`!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jQ!veR$g!wQ!SWR#_uQ#^!SR$z#_Q!VXR#avQ!XYR#bwQ!OVQ!c^Q!|hQ#h|Q#w!^Q$d!sQ$j!zQ$m#OQ$p#RQ%[#vQ%y$lQ&p%uQ&s%zR'_&oSlP}Q#VmQ$t#TR&Q$uZkPm}#T$uQ$s#SQ&O$qR&v%}R$]!kQ&e%fR'd'UR!weR!yfR$i!yS%u$h%vR']&nV%s$h%v&nR#RiQ#XoR$x#XQaOSmP}U!eam$uR$u#TQ%R#kY&V%R&]&{'T'jQ&]%UQ&{&WQ'T&bR'j'bQ$Q!gQ$S!hQ$U!iV%a$Q$S$UQ%k$_R&k%kQ&a%^S'S&a'cR'c'TQ&X%RR&|&XQ&T%OR&z&TQ|VR#g|Q%}$qR&u%}Q#UlS$v#U$wR$w#VQ'V&eR'e'VQ$c!rR%o$cQ%v$hR&q%vQ&o%uR'^&oQ#QiR$o#QQ#v!^R%Z#v_`OPam}#T$u^VOPam}#T$uQ!YZQ!Z[Q#cxQ#dyQ#ezQ#f{Q$k!{Q%O#jR&y&SR%S#kQ!kbQ!td[#}!g!h!i$Q$S$UQ$q#Sd%Q#k%R%U&W&]&b&{'T'b'jQ%T#mQ%e$XS%{$q%}Q&R$|Q&t%|R'X&g]$P!g!h!i$Q$S$UQ!^^U!rc!k$]Q!zgQ#p!]S#s!^#vQ#x!_Q%X#tQ%Y#uQ%^#yS%i$_%kQ%n$bR'Q&`Q#r!]Q&_%VR'a'PR%`#yR%P#jQnPR#i}Q!scQ$[!kR%h$]",
133
+ nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",
134
+ maxTerm: 156,
133
135
  nodeProps: [
134
- ["isolate", -2,5,36,""],
135
- ["openedBy", 20,"(",28,"[",31,"{"],
136
- ["closedBy", 21,")",29,"]",32,"}"]
136
+ ["isolate", -2,5,39,""],
137
+ ["openedBy", 23,"(",31,"[",34,"{"],
138
+ ["closedBy", 24,")",32,"]",35,"}"]
137
139
  ],
138
140
  propSources: [cssHighlighting],
139
- skippedNodes: [0,5,106],
140
- repeatNodeCount: 15,
141
- tokenData: "JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",
142
- tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new lr.LocalTokenGroup("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~", 28, 129)],
143
- topRules: {"StyleSheet":[0,6],"Styles":[1,105]},
144
- specialized: [{term: 124, get: (value) => spec_callee[value] || -1},{term: 125, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 25, get: (value) => spec_AtKeyword[value] || -1},{term: 123, get: (value) => spec_identifier[value] || -1}],
145
- tokenPrec: 1963
141
+ skippedNodes: [0,5,114],
142
+ repeatNodeCount: 17,
143
+ tokenData: "K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh#}~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh#}~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$aYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!lS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!rQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$YYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$YYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$O~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!lSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!oQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!oQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!mWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!mWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$`Q!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$UQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!rQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",
144
+ tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new lr.LocalTokenGroup("m~RRYZ[z{a~~g~aO$Q~~dP!P!Qg~lO$R~~", 28, 139)],
145
+ topRules: {"StyleSheet":[0,6],"Styles":[1,113]},
146
+ dynamicPrecedences: {"81":1},
147
+ specialized: [{term: 134, get: (value) => spec_callee[value] || -1},{term: 135, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 28, get: (value) => spec_AtKeyword[value] || -1},{term: 133, get: (value) => spec_identifier[value] || -1}],
148
+ tokenPrec: 2182
146
149
  });
147
150
 
148
151
  exports.parser = parser;
package/dist/index.js CHANGED
@@ -2,12 +2,12 @@ import { ExternalTokenizer, LRParser, LocalTokenGroup } from '@lezer/lr';
2
2
  import { styleTags, tags } from '@lezer/highlight';
3
3
 
4
4
  // This file was generated by lezer-generator. You probably shouldn't edit it.
5
- const descendantOp = 122,
5
+ const descendantOp = 132,
6
6
  Unit = 1,
7
- identifier = 123,
8
- callee = 124,
7
+ identifier = 133,
8
+ callee = 134,
9
9
  VariableName = 2,
10
- queryIdentifier = 125,
10
+ queryIdentifier = 135,
11
11
  queryVariableName = 3,
12
12
  QueryCallee = 4;
13
13
 
@@ -51,10 +51,12 @@ const identifierTokens = (id, varName, callee) => (input, stack) => {
51
51
  };
52
52
 
53
53
  const identifiers = new ExternalTokenizer(
54
- identifierTokens(identifier, VariableName, callee)
54
+ identifierTokens(identifier, VariableName, callee),
55
+ {contextual: true}
55
56
  );
56
57
  const queryIdentifiers = new ExternalTokenizer(
57
- identifierTokens(queryIdentifier, queryVariableName, QueryCallee)
58
+ identifierTokens(queryIdentifier, queryVariableName, QueryCallee),
59
+ {contextual: true}
58
60
  );
59
61
 
60
62
  const descendant = new ExternalTokenizer(input => {
@@ -79,8 +81,8 @@ const unitToken = new ExternalTokenizer(input => {
79
81
  });
80
82
 
81
83
  const cssHighlighting = styleTags({
82
- "AtKeyword import charset namespace keyframes media supports": tags.definitionKeyword,
83
- "from to selector": tags.keyword,
84
+ "AtKeyword import charset namespace keyframes media supports font-feature-values": tags.definitionKeyword,
85
+ "from to selector scope MatchFlag": tags.keyword,
84
86
  NamespaceName: tags.namespace,
85
87
  KeyframeName: tags.labelName,
86
88
  KeyframeRangeName: tags.operatorKeyword,
@@ -93,7 +95,7 @@ const cssHighlighting = styleTags({
93
95
  NumberLiteral: tags.number,
94
96
  KeywordQuery: tags.keyword,
95
97
  UnaryQueryOp: tags.operatorKeyword,
96
- "CallTag ValueName": tags.atom,
98
+ "CallTag ValueName FontName": tags.atom,
97
99
  VariableName: tags.variableName,
98
100
  Callee: tags.operatorKeyword,
99
101
  Unit: tags.unit,
@@ -107,38 +109,39 @@ const cssHighlighting = styleTags({
107
109
  "ParenthesizedContent StringLiteral": tags.string,
108
110
  ":": tags.punctuation,
109
111
  "PseudoOp #": tags.derefOperator,
110
- "; ,": tags.separator,
112
+ "; , |": tags.separator,
111
113
  "( )": tags.paren,
112
114
  "[ ]": tags.squareBracket,
113
115
  "{ }": tags.brace
114
116
  });
115
117
 
116
118
  // This file was generated by lezer-generator. You probably shouldn't edit it.
117
- const spec_callee = {__proto__:null,lang:38, "nth-child":38, "nth-last-child":38, "nth-of-type":38, "nth-last-of-type":38, dir:38, "host-context":38, if:84, url:124, "url-prefix":124, domain:124, regexp:124};
118
- const spec_queryIdentifier = {__proto__:null,or:98, and:98, not:106, only:106, layer:170};
119
- const spec_QueryCallee = {__proto__:null,selector:112, layer:166};
120
- const spec_AtKeyword = {__proto__:null,"@import":162, "@media":174, "@charset":178, "@namespace":182, "@keyframes":188, "@supports":200, "@scope":204};
121
- const spec_identifier = {__proto__:null,to:207};
119
+ const spec_callee = {__proto__:null,lang:44, "nth-child":44, "nth-last-child":44, "nth-of-type":44, "nth-last-of-type":44, dir:44, "host-context":44, if:90, url:132, "url-prefix":132, domain:132, regexp:132};
120
+ const spec_queryIdentifier = {__proto__:null,or:104, and:104, not:112, only:112, layer:180};
121
+ const spec_QueryCallee = {__proto__:null,selector:118, layer:176};
122
+ const spec_AtKeyword = {__proto__:null,"@import":172, "@media":184, "@charset":188, "@namespace":192, "@keyframes":198, "@supports":210, "@scope":214, "@font-feature-values":220};
123
+ const spec_identifier = {__proto__:null,to:217};
122
124
  const parser = LRParser.deserialize({
123
125
  version: 14,
124
- states: "EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",
125
- stateData: "Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",
126
- goto: "2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",
127
- nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",
128
- maxTerm: 143,
126
+ states: "HhQYQdOOO#wQdOOP$OO`OOO$xQaO'#CfOOQP'#Ce'#CeO%PQ`O'#CgO%UQdO'#CkO%uQaO'#CcO&PQdO'#CnO&[QdO'#DtO&aQdO'#DvO&fQdO'#DzO&fQdO'#D}OOQP'#Fa'#FaO'rQhO'#EpOOQS'#F`'#F`OOQS'#Es'#EsQYQdOOO'yQdO'#ETO)VQhO'#EZO'yQdO'#E]O)^QdO'#E_O)iQdO'#EbO(nQhO'#EhO)qQdO'#EjO)|QdO'#EmO*RQaO'#CfO*YQ`O'#EQO*_Q`O'#FkO*jQdO'#FkQOQ`OOP*tO&jO'#CaPOOO)CAO)CAOO+PQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO%UQdO,59VO+UQdO,59YO&[QdO,5:`O&aQdO,5:bO&fQdO,5:fO&fQdO,5:hO&fQdO,5:iO&fQdO'#EzO+aQ`O,58}O+iQdO'#EPOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO+pQ`O,59YO+uQ`O,59YOOQP'#Du'#DuOOQP,5:`,5:`OOQO'#Dw'#DwO+zQpO,5:bO,eQaO,5:fO,{QaO,5:iOOQW'#D^'#D^O-wQhO'#DgO.[QhO,5;[O(nQhO'#DeO.iQ`O'#DkO.nQhO'#DnOOQW'#Fg'#FgOOQS,5;[,5;[O.sQ`O'#DhOOQS-E8q-E8qOOQ['#Cv'#CvO.xQdO'#CwO/`QdO'#C}O/vQdO'#DQO0^Q!pO'#DSO2gQ!jO,5:oOOQO'#DX'#DXO+uQ`O'#DWO2wQ!nO'#FdO4zQ`O'#DYO5PQ`O'#DoOOQ['#Fd'#FdO5UQhO'#FnO5dQ`O,5:uO5iQ!bO,5:wOOQS'#Ea'#EaO5qQ`O,5:yO5vQdO,5:yOOQO'#Ed'#EdO6OQ`O,5:|O6TQhO,5;SO&fQdO'#DjOOQS,5;U,5;UO.sQ`O,5;UO6]QdO,5;UOOQS'#FR'#FRO6eQdO'#EoO5dQ`O,5;XO6mQdO,5:lO6}QdO'#E|O7[Q`O,5<VO7[Q`O,5<VPOOO'#Er'#ErP7gO&jO,58{POOO,58{,58{OOQP'#Ci'#CiOOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO+pQ`O1G.tO+uQ`O1G.tOOQP1G/z1G/zO7rQpO1G/|O7zQaO1G0QO8bQaO1G0SO8xQaO1G0TO9`QaO,5;fOOQO-E8x-E8xOOQS1G.i1G.iO9jQ`O,5:kO9oQdO'#DsO9vQdO'#CuOOQP1G/|1G/|O'yQdO1G/|O9}Q!jO'#D^O:]Q!bO,59yO:eQhO,5:ROOQO'#Fh'#FhO:`Q!bO,59}O:mQhO'#FSO(nQhO,59{O(nQhO'#FSO;bQhO1G0vOOQS1G0v1G0vO;lQhO,5:PO<dQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO<nQ!fO'#FeOOQS'#Fe'#FeOOQS'#Eu'#EuO>OQdO,59cOOQ[,59c,59cO>fQdO,59iOOQ[,59i,59iO>|QdO,59lOOQ[,59l,59lOOQ[,59n,59nO'yQdO,59pO?dQhO'#EVOOQW'#EV'#EVO@OQ`O1G0ZO2pQhO1G0ZOOQ[,59r,59rO(nQhO'#D[OOQ[,59t,59tO@TQ#tO,5:ZO@`QhO'#FOO@mQ`O,5<YOOQS1G0a1G0aOOQS1G0c1G0cOOQS1G0e1G0eO@xQ`O1G0eO@}QdO'#EeOOQS1G0h1G0hOOQS1G0n1G0nOAYQaO,5:UO5dQ`O1G0pOOQS1G0p1G0pO.sQ`O1G0pOOQS-E9P-E9POOQS1G0s1G0sOAaQ!fO1G0WOAwQ`O'#ESOOQO1G0W1G0WOOQO,5;h,5;hOA|QdO,5;hOOQO-E8z-E8zOBZQ`O1G1qPOOO-E8p-E8pPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO'yQdO7+%hOOQS1G0V1G0VOBfQaO'#FjOBpQ`O,5:_OBuQ!fO'#EtOCsQdO'#FcOC}Q`O,59aODSQ!bO7+%hO'yQdO1G/eOD_QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gODpQhO,5;nOOQW-E9Q-E9QOOQS7+&b7+&bOEeQhO'#D^OEsQhO'#FiOFOQ`O'#FiOFTQ`O,5:WOOQS-E8s-E8sOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OFYQdO,5:qOOQS7+%u7+%uOF_Q`O7+%uOFdQhO'#D]OFlQ`O,59vO(nQhO,59vOOQ[1G/u1G/uOFtQ`O1G/uOFyQhO,5;jOOQO-E8|-E8|OOQS7+&P7+&POGXQbO'#DSOOQO'#Eg'#EgOGgQ`O'#EfOOQO'#Ef'#EfOGrQ`O'#FPOGzQdO,5;POOQS,5;P,5;POOQ[1G/p1G/pOOQS7+&[7+&[O5dQ`O7+&[OHVQ!fO'#E{O'yQdO'#E{OI^QdO7+%rOOQO7+%r7+%rOOQO,5:n,5:nOOQO1G1S1G1SOIqQ!bO<<ISOI|QdO'#EyOJWQ`O,5<UOOQP1G/y1G/yOOQS-E8r-E8rOJ`QdO'#ExOJjQ`O,5;}OOQ]1G.{1G.{OOQP<<IS<<ISOJrQ`O<<ISOJwQdO7+%POOQO'#D`'#D`OKOQ!bO7+%TOKWQhO'#EwOKeQ`O,5<TO'yQdO,5<TOOQW1G/r1G/rOOQO'#EX'#EXOKmQ`O1G0]OOQS<<Ia<<IaO'yQdO,59wOL^QhO1G/bOOQ[1G/b1G/bOLeQ`O1G/bOOQW-E8t-E8tOOQ[7+%a7+%aOOQO,5;Q,5;QOAQQdO'#FQOGrQ`O,5;kOOQS,5;k,5;kOOQS-E8}-E8}OOQS1G0k1G0kOOQS<<Iv<<IvOLmQ!fO,5;gOOQS-E8y-E8yOOQO<<I^<<I^OOQPAN>nAN>nOMtQ`OAN>nOMyQaO,5;eOOQO-E8w-E8wONTQdO,5;dOOQO-E8v-E8vOOQW<<Hk<<HkOOQW<<Ho<<HoON_QhO<<HoONpQhO,5;cON{Q`O,5;cOOQO-E8u-E8uO! QQdO1G1oOFYQdO'#E}O! [Q`O7+%wOOQW7+%w7+%wO! dQ!bO1G/cOOQ[7+$|7+$|O! oQhO7+$|P! vQ`O'#EvOOQO,5;l,5;lOOQO-E9O-E9OOOQS1G1V1G1VOOQPG24YG24YO! {Q`OAN>ZO'yQdO1G0}O!!QQ`O7+'ZOOQO,5;i,5;iOOQO-E8{-E8{OOQW<<Ic<<IcOOQ[<<Hh<<HhPOQW,5;b,5;bOOQWG23uG23uO!!YQdO7+&i",
127
+ stateData: "!!m~O#}OS$OQQ~OW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yRO~OQkOW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yjO~O#w$_P~P!gO$OoO~O`YXcYXdYXmYXpYXsYX!aYX!oYX!rYX#xYX$U[X~OgYX~P$TO$UqO~O#yrO~O`tOcuOduOmvOpwO!oxO!rzO#xyO~Os}O!a{O~P%ZOf!TO#y!PO#z!QO~O#y!UO~O#y!WO~OW]O^]O`UOcWOdWOmXOpYO!oZO!r[O#yRO~OS!`Oc!aOd!aOh!]Os}O!Y!_O!]!dO#{![O~On!cO~P'WOQ!nOh!gOp!hOs!iOu!qOw!qO}!oO!d!pO#y!fO#z!lO$Y!jO~OS!`Oc!aOd!aOh!]O!Y!_O!]!dO#{![O~Os$bP~P(nOw!vO!d!pO#y!uO~Ow!xO#y!xO~Oh!{Os}O#`!}O~O#y#PO~Oc!uX~P$TOc#SO~On#TO#w$_Xr$_X~O#w$_Xr$_X~P!gO$P#WO$Q#WO$R#YO~O#y#ZO~Of#`O#y!PO#z!QO~Os}O!a{O~Or$_P~P!gOh#jO~Oh#kO~Oo#lO!l#mO~O`tOcuOduOmvOpwO~Os!na!a!na!o!na!r!na#x!nag!na~P,SOs!qa!a!qa!o!qa!r!qa#x!qag!qa~P,SOS!`Oc!aOd!aOh!]O!Y!_O!]!dO~OR#qOu#qOw#qO#{#nO$Y!jO~P-cOn#wO!U#tO!a#uO~P'WOh#yO~O#{#{O~Oh!{O~O`$OOc$OOg$ROl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo$TO~P'yO`$OOc$OOl$OOm$OOn$OOr$VO~P'yOP$WOSvXcvXdvXhvXnvXyvX!YvX!]vX!zvX!|vX#{vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#yvX#zvX$YvXovXrvX!avX#wvX$avX!mvX~Oy$XO!z$YO!|$ZOn$bP~P(nOh#kOS$WXc$WXd$WXn$WXy$WX!Y$WX!]$WX!z$WX!|$WX#{$WXQ$WX`$WXg$WXl$WXm$WXp$WXs$WXu$WXw$WX}$WX!d$WX#y$WX#z$WX$Y$WXo$WXr$WX!a$WX#w$WX$a$WX!m$WX~Oh$_O~Oh$aO~O!U#tO!a$bOs$bXn$bX~Os}O~On$eOy$XO~On$fO~Ow$gO!d!pO~Os$hO~Os}O!U#tO~Os}O#`$nO~O#y#POs#cX~O$a$rOn!ta#w!tar!ta~P'yOn#pX#w#pXr#pX~P!gOn#TO#w$_ar$_a~O$P#WO$Q#WO$R$yO~Oo${O!l$|O~Os!ni!a!ni!o!ni!r!ni#x!nig!ni~P,SOs!pi!a!pi!o!pi!r!pi#x!pig!pi~P,SOs!qi!a!qi!o!qi!r!qi#x!qig!qi~P,SOs#na!a#na~P%ZOr$}O~Og$^P~P&fOg$VP~P'yOc!SXg!QX!U!QX!W!SX~Oc%UO!W%VO~Og%WO!U#tO~O!U#tOS#vXc#vXd#vXh#vXn#vXs#vX!Y#vX!]#vX!a#vX#{#vX~On%[O!a#uO~P'WO!U#tOS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa#{!Xag!Xa~O#{%]Og$]P~P-cOy$XOQ$XX`$XXc$XXg$XXh$XXl$XXm$XXn$XXp$XXs$XXu$XXw$XX}$XX!d$XX#y$XX#z$XX$Y$XXo$XXr$XX~O`$OOc$OOg%bOl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo%cO~P'yO`$OOc$OOl$OOm$OOn$OOr%dO~P'yOh%fOS!yXc!yXd!yXn!yX!Y!yX!]!yX#{!yX~On%gO~Og%lOw%mO!e%mO~Os#rX!a#rXn#rX~P(nO!a$bOs$ban$ba~On%pO~Or%wO#y%rO$Y%qO~Og%xO~P%ZOy$XO!a%|O$a$rOn!ti#w!tir!ti~P'yO$`&PO~On#pa#w#par#pa~P!gOn#TO#w$_ir$_i~O!a&SOg$^X~P%ZOg&UO~Oy$XOQ#hXg#hXh#hXp#hXs#hXu#hXw#hX}#hX!a#hX!d#hX#y#hX#z#hX$Y#hX~O!a&WOg$VX~P'yOg&YO~Oo&ZOy$XO!m&[O~OR#qOu#qOw#qO#{&^O$Y!jO~O!U#tOS#vac#vad#vah#van#vas#va!Y#va!]#va!a#va#{#va~Oc!SXg!QX!U!QX!a!QX~O!U#tO!a&`Og$]X~Oc&bO~Og&cO~O#y&dO~On&fO~Oc&gO!U#tO~Og&iOn&hO~Og&lO~O!U#tOs#ra!a#ran#ra~OP$WOsvX!avXgvX~O$Y%qOs#YX!a#YX~Os}O!a&nO~Or&rO#y%rO$Y%qO~Oy$XOQ#oXh#oXn#oXp#oXs#oXu#oXw#oX}#oX!a#oX!d#oX#w#oX#y#oX#z#oX$Y#oX$a#oXr#oX~O!a%|O$a$rOn!tq#w!tqr!tq~P'yOo&wOy$XO!m&xO~Og#mX!a#mX~P&fO!a&SOg$^a~Og#lX!a#lX~P'yO!a&WOg$Va~Oo&wO~Og&}O~P'yOg'OO!W'PO~O#{%]Og#kX!a#kX~P-cO!a&`Og$]a~O`'UOg'WO~OS#jac#jad#jah#ja!Y#ja!]#ja#{#ja~Og'YO~PKuOg'YOn'ZO~Oy$XOQ#oah#oan#oap#oas#oau#oaw#oa}#oa!a#oa!d#oa#w#oa#y#oa#z#oa$Y#oa$a#oar#oa~Oo'`O~Og#ma!a#ma~P%ZOg#la!a#la~P'yOR#qOu#qOw#qO#{&^O$Y%qO~O!U#tOg#ka!a#ka~Oc'bO~O!a&`Og$]i~P'yO`'UOg'fO~Oy$XOg!Pin!Pi~Og'gO~PKuOn'hO~Og'iO~O!a&`Og$]q~Og#kq!a#kq~P'yO#}!e$O$Y`$Yy!r~",
128
+ goto: "4W$cPPPPP$dP$gP$p%S$p%f%xP$pP%{$pPP&RPPP&X&c&cPPPPP&cPP&cP'PP&cP&c'z&cP(h(k(q(q)T(qP(qP(qP(q(qP)d(q)pP(q)sPP*g*m$p*s$p*yPP$pP$p$pP+P+{,Y,a$gP,jP,mP$gP$gP$gP,s$gP,v,y,|-T$gP$gPP$gP-Y$gP-]-c-r.Y.h.n.x/O/U/[/b/l/r/x0O0U0[PPPPPPPPPPP0b0kP1a1d2fP2n3h3q3t3wPP3}RpQ__OPam}#T$uq]OPZ[amxyz{}!{#T#j$u&SqSOPZ[amxyz{}!{#T#j$u&SqTOPZ[amxyz{}!{#T#j$u&SR#[qQsUR#]tQ!RWR#^uQ#^!TS$^!m!nR$z#`!V!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'j!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jU#q!]%V'PU%t$h%v&nR&m%s!V!mbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jR$`!oQ%j$_R&j%kq!b^cg!]!^!_!k#t#u#v#y$]$_$b%k&`Q#o!]Q%_#yQ&_%VQ'R&`R'a'PQ#OhQ#|!dQ$l!}R%z$nR#z!`!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jQ!veR$g!wQ!SWR#_uQ#^!SR$z#_Q!VXR#avQ!XYR#bwQ!OVQ!c^Q!|hQ#h|Q#w!^Q$d!sQ$j!zQ$m#OQ$p#RQ%[#vQ%y$lQ&p%uQ&s%zR'_&oSlP}Q#VmQ$t#TR&Q$uZkPm}#T$uQ$s#SQ&O$qR&v%}R$]!kQ&e%fR'd'UR!weR!yfR$i!yS%u$h%vR']&nV%s$h%v&nR#RiQ#XoR$x#XQaOSmP}U!eam$uR$u#TQ%R#kY&V%R&]&{'T'jQ&]%UQ&{&WQ'T&bR'j'bQ$Q!gQ$S!hQ$U!iV%a$Q$S$UQ%k$_R&k%kQ&a%^S'S&a'cR'c'TQ&X%RR&|&XQ&T%OR&z&TQ|VR#g|Q%}$qR&u%}Q#UlS$v#U$wR$w#VQ'V&eR'e'VQ$c!rR%o$cQ%v$hR&q%vQ&o%uR'^&oQ#QiR$o#QQ#v!^R%Z#v_`OPam}#T$u^VOPam}#T$uQ!YZQ!Z[Q#cxQ#dyQ#ezQ#f{Q$k!{Q%O#jR&y&SR%S#kQ!kbQ!td[#}!g!h!i$Q$S$UQ$q#Sd%Q#k%R%U&W&]&b&{'T'b'jQ%T#mQ%e$XS%{$q%}Q&R$|Q&t%|R'X&g]$P!g!h!i$Q$S$UQ!^^U!rc!k$]Q!zgQ#p!]S#s!^#vQ#x!_Q%X#tQ%Y#uQ%^#yS%i$_%kQ%n$bR'Q&`Q#r!]Q&_%VR'a'PR%`#yR%P#jQnPR#i}Q!scQ$[!kR%h$]",
129
+ nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",
130
+ maxTerm: 156,
129
131
  nodeProps: [
130
- ["isolate", -2,5,36,""],
131
- ["openedBy", 20,"(",28,"[",31,"{"],
132
- ["closedBy", 21,")",29,"]",32,"}"]
132
+ ["isolate", -2,5,39,""],
133
+ ["openedBy", 23,"(",31,"[",34,"{"],
134
+ ["closedBy", 24,")",32,"]",35,"}"]
133
135
  ],
134
136
  propSources: [cssHighlighting],
135
- skippedNodes: [0,5,106],
136
- repeatNodeCount: 15,
137
- tokenData: "JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",
138
- tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new LocalTokenGroup("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~", 28, 129)],
139
- topRules: {"StyleSheet":[0,6],"Styles":[1,105]},
140
- specialized: [{term: 124, get: (value) => spec_callee[value] || -1},{term: 125, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 25, get: (value) => spec_AtKeyword[value] || -1},{term: 123, get: (value) => spec_identifier[value] || -1}],
141
- tokenPrec: 1963
137
+ skippedNodes: [0,5,114],
138
+ repeatNodeCount: 17,
139
+ tokenData: "K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh#}~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh#}~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$aYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!lS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!rQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$YYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$YYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$O~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!lSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!oQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!oQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!mWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!mWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$`Q!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$UQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!rQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",
140
+ tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new LocalTokenGroup("m~RRYZ[z{a~~g~aO$Q~~dP!P!Qg~lO$R~~", 28, 139)],
141
+ topRules: {"StyleSheet":[0,6],"Styles":[1,113]},
142
+ dynamicPrecedences: {"81":1},
143
+ specialized: [{term: 134, get: (value) => spec_callee[value] || -1},{term: 135, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 28, get: (value) => spec_AtKeyword[value] || -1},{term: 133, get: (value) => spec_identifier[value] || -1}],
144
+ tokenPrec: 2182
142
145
  });
143
146
 
144
147
  export { parser };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lezer/css",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "lezer-based CSS grammar",
5
5
  "main": "dist/index.cjs",
6
6
  "type": "module",
package/src/css.grammar CHANGED
@@ -22,6 +22,7 @@ item {
22
22
  KeyframesStatement |
23
23
  SupportsStatement |
24
24
  ScopeStatement |
25
+ FontFeatureStatement |
25
26
  AtRule
26
27
  }
27
28
 
@@ -81,15 +82,22 @@ ScopeStatement {
81
82
  Block
82
83
  }
83
84
 
84
- AtRule { AtKeyword commaSep<query> (";" | Block) }
85
+ FontFeatureStatement {
86
+ atKw<"font-feature-values">
87
+ FontName { identifier+ }
88
+ Block
89
+ }
85
90
 
86
- Block { "{" blockContent "}" }
91
+ AtRule { AtKeyword (query (","? query)*)? (";" | Block) }
92
+
93
+ Block[@dynamicPrecedence=1] { "{" blockContent "}" }
87
94
 
88
95
  blockContent { ~item item* (Declaration (";" ~item item* Declaration?)*)? }
89
96
 
90
97
  selector {
91
98
  UniversalSelector |
92
99
  TagSelector { ~item TagName { identifier ~item } } |
100
+ NamespacedTagSelector { ~item NamespaceName { identifier } "|" TagName { identifier ~item } } |
93
101
  NestingSelector |
94
102
  ClassSelector { selector? !attribute "." ClassName { identifier } } |
95
103
  PseudoClassSelector {
@@ -99,7 +107,7 @@ selector {
99
107
  PseudoClassName { callee } ArgList<selector>)
100
108
  } |
101
109
  IdSelector { selector? !attribute "#" IdName { identifier } } |
102
- AttributeSelector { selector? !attribute "[" AttributeName { identifier } (MatchOp value)? "]" } |
110
+ AttributeSelector { selector? !attribute "[" AttributeName { identifier } (MatchOp value MatchFlag?)? "]" } |
103
111
  ChildSelector { selector? !structure ChildOp selector } |
104
112
  DescendantSelector { selector !structure descendantOp selector } |
105
113
  SiblingSelector { selector? !structure SiblingOp selector }
@@ -133,7 +141,8 @@ query {
133
141
  UnaryQuery { @specialize[@name=UnaryQueryOp]<queryIdentifier, "not" | "only"> query } |
134
142
  ParenthesizedQuery { "(" query ")" } |
135
143
  SelectorQuery { queryCalleeKw<"selector"> ParenthesizedSelector } |
136
- CallQuery { QueryCallee ArgList<FeatureName ":" value+ | query> }
144
+ CallQuery { QueryCallee ArgList<FeatureName ":" value+ | query> } |
145
+ PseudoQuery { (":" | "::") queryIdentifier }
137
146
  }
138
147
 
139
148
  ParenthesizedSelector { "(" selector ")" }
@@ -202,6 +211,8 @@ queryCalleeKw<name> { @specialize[@name={name}]<QueryCallee, name> }
202
211
 
203
212
  atKw<name> { @specialize[@name={name}]<AtKeyword, "@" name> }
204
213
 
214
+ Important { "!" "important" }
215
+
205
216
  @external tokens descendant from "./tokens" {
206
217
  descendantOp
207
218
  }
@@ -240,7 +251,7 @@ atKw<name> { @specialize[@name={name}]<AtKeyword, "@" name> }
240
251
 
241
252
  BinOp { $[+\-*/] }
242
253
 
243
- Important { "!important" }
254
+ MatchFlag { $[SsIi] }
244
255
 
245
256
  whitespace { @whitespace+ }
246
257
 
package/src/highlight.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {styleTags, tags as t} from "@lezer/highlight"
2
2
 
3
3
  export const cssHighlighting = styleTags({
4
- "AtKeyword import charset namespace keyframes media supports": t.definitionKeyword,
5
- "from to selector": t.keyword,
4
+ "AtKeyword import charset namespace keyframes media supports font-feature-values": t.definitionKeyword,
5
+ "from to selector scope MatchFlag": t.keyword,
6
6
  NamespaceName: t.namespace,
7
7
  KeyframeName: t.labelName,
8
8
  KeyframeRangeName: t.operatorKeyword,
@@ -15,7 +15,7 @@ export const cssHighlighting = styleTags({
15
15
  NumberLiteral: t.number,
16
16
  KeywordQuery: t.keyword,
17
17
  UnaryQueryOp: t.operatorKeyword,
18
- "CallTag ValueName": t.atom,
18
+ "CallTag ValueName FontName": t.atom,
19
19
  VariableName: t.variableName,
20
20
  Callee: t.operatorKeyword,
21
21
  Unit: t.unit,
@@ -29,7 +29,7 @@ export const cssHighlighting = styleTags({
29
29
  "ParenthesizedContent StringLiteral": t.string,
30
30
  ":": t.punctuation,
31
31
  "PseudoOp #": t.derefOperator,
32
- "; ,": t.separator,
32
+ "; , |": t.separator,
33
33
  "( )": t.paren,
34
34
  "[ ]": t.squareBracket,
35
35
  "{ }": t.brace
package/src/parser.js CHANGED
@@ -2,29 +2,30 @@
2
2
  import {LRParser, LocalTokenGroup} from "@lezer/lr"
3
3
  import {descendant, unitToken, identifiers, queryIdentifiers} from "./tokens"
4
4
  import {cssHighlighting} from "./highlight"
5
- const spec_callee = {__proto__:null,lang:38, "nth-child":38, "nth-last-child":38, "nth-of-type":38, "nth-last-of-type":38, dir:38, "host-context":38, if:84, url:124, "url-prefix":124, domain:124, regexp:124}
6
- const spec_queryIdentifier = {__proto__:null,or:98, and:98, not:106, only:106, layer:170}
7
- const spec_QueryCallee = {__proto__:null,selector:112, layer:166}
8
- const spec_AtKeyword = {__proto__:null,"@import":162, "@media":174, "@charset":178, "@namespace":182, "@keyframes":188, "@supports":200, "@scope":204}
9
- const spec_identifier = {__proto__:null,to:207}
5
+ const spec_callee = {__proto__:null,lang:44, "nth-child":44, "nth-last-child":44, "nth-of-type":44, "nth-last-of-type":44, dir:44, "host-context":44, if:90, url:132, "url-prefix":132, domain:132, regexp:132}
6
+ const spec_queryIdentifier = {__proto__:null,or:104, and:104, not:112, only:112, layer:180}
7
+ const spec_QueryCallee = {__proto__:null,selector:118, layer:176}
8
+ const spec_AtKeyword = {__proto__:null,"@import":172, "@media":184, "@charset":188, "@namespace":192, "@keyframes":198, "@supports":210, "@scope":214, "@font-feature-values":220}
9
+ const spec_identifier = {__proto__:null,to:217}
10
10
  export const parser = LRParser.deserialize({
11
11
  version: 14,
12
- states: "EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",
13
- stateData: "Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",
14
- goto: "2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",
15
- nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",
16
- maxTerm: 143,
12
+ states: "HhQYQdOOO#wQdOOP$OO`OOO$xQaO'#CfOOQP'#Ce'#CeO%PQ`O'#CgO%UQdO'#CkO%uQaO'#CcO&PQdO'#CnO&[QdO'#DtO&aQdO'#DvO&fQdO'#DzO&fQdO'#D}OOQP'#Fa'#FaO'rQhO'#EpOOQS'#F`'#F`OOQS'#Es'#EsQYQdOOO'yQdO'#ETO)VQhO'#EZO'yQdO'#E]O)^QdO'#E_O)iQdO'#EbO(nQhO'#EhO)qQdO'#EjO)|QdO'#EmO*RQaO'#CfO*YQ`O'#EQO*_Q`O'#FkO*jQdO'#FkQOQ`OOP*tO&jO'#CaPOOO)CAO)CAOO+PQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO%UQdO,59VO+UQdO,59YO&[QdO,5:`O&aQdO,5:bO&fQdO,5:fO&fQdO,5:hO&fQdO,5:iO&fQdO'#EzO+aQ`O,58}O+iQdO'#EPOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO+pQ`O,59YO+uQ`O,59YOOQP'#Du'#DuOOQP,5:`,5:`OOQO'#Dw'#DwO+zQpO,5:bO,eQaO,5:fO,{QaO,5:iOOQW'#D^'#D^O-wQhO'#DgO.[QhO,5;[O(nQhO'#DeO.iQ`O'#DkO.nQhO'#DnOOQW'#Fg'#FgOOQS,5;[,5;[O.sQ`O'#DhOOQS-E8q-E8qOOQ['#Cv'#CvO.xQdO'#CwO/`QdO'#C}O/vQdO'#DQO0^Q!pO'#DSO2gQ!jO,5:oOOQO'#DX'#DXO+uQ`O'#DWO2wQ!nO'#FdO4zQ`O'#DYO5PQ`O'#DoOOQ['#Fd'#FdO5UQhO'#FnO5dQ`O,5:uO5iQ!bO,5:wOOQS'#Ea'#EaO5qQ`O,5:yO5vQdO,5:yOOQO'#Ed'#EdO6OQ`O,5:|O6TQhO,5;SO&fQdO'#DjOOQS,5;U,5;UO.sQ`O,5;UO6]QdO,5;UOOQS'#FR'#FRO6eQdO'#EoO5dQ`O,5;XO6mQdO,5:lO6}QdO'#E|O7[Q`O,5<VO7[Q`O,5<VPOOO'#Er'#ErP7gO&jO,58{POOO,58{,58{OOQP'#Ci'#CiOOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO+pQ`O1G.tO+uQ`O1G.tOOQP1G/z1G/zO7rQpO1G/|O7zQaO1G0QO8bQaO1G0SO8xQaO1G0TO9`QaO,5;fOOQO-E8x-E8xOOQS1G.i1G.iO9jQ`O,5:kO9oQdO'#DsO9vQdO'#CuOOQP1G/|1G/|O'yQdO1G/|O9}Q!jO'#D^O:]Q!bO,59yO:eQhO,5:ROOQO'#Fh'#FhO:`Q!bO,59}O:mQhO'#FSO(nQhO,59{O(nQhO'#FSO;bQhO1G0vOOQS1G0v1G0vO;lQhO,5:PO<dQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO<nQ!fO'#FeOOQS'#Fe'#FeOOQS'#Eu'#EuO>OQdO,59cOOQ[,59c,59cO>fQdO,59iOOQ[,59i,59iO>|QdO,59lOOQ[,59l,59lOOQ[,59n,59nO'yQdO,59pO?dQhO'#EVOOQW'#EV'#EVO@OQ`O1G0ZO2pQhO1G0ZOOQ[,59r,59rO(nQhO'#D[OOQ[,59t,59tO@TQ#tO,5:ZO@`QhO'#FOO@mQ`O,5<YOOQS1G0a1G0aOOQS1G0c1G0cOOQS1G0e1G0eO@xQ`O1G0eO@}QdO'#EeOOQS1G0h1G0hOOQS1G0n1G0nOAYQaO,5:UO5dQ`O1G0pOOQS1G0p1G0pO.sQ`O1G0pOOQS-E9P-E9POOQS1G0s1G0sOAaQ!fO1G0WOAwQ`O'#ESOOQO1G0W1G0WOOQO,5;h,5;hOA|QdO,5;hOOQO-E8z-E8zOBZQ`O1G1qPOOO-E8p-E8pPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO'yQdO7+%hOOQS1G0V1G0VOBfQaO'#FjOBpQ`O,5:_OBuQ!fO'#EtOCsQdO'#FcOC}Q`O,59aODSQ!bO7+%hO'yQdO1G/eOD_QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gODpQhO,5;nOOQW-E9Q-E9QOOQS7+&b7+&bOEeQhO'#D^OEsQhO'#FiOFOQ`O'#FiOFTQ`O,5:WOOQS-E8s-E8sOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OFYQdO,5:qOOQS7+%u7+%uOF_Q`O7+%uOFdQhO'#D]OFlQ`O,59vO(nQhO,59vOOQ[1G/u1G/uOFtQ`O1G/uOFyQhO,5;jOOQO-E8|-E8|OOQS7+&P7+&POGXQbO'#DSOOQO'#Eg'#EgOGgQ`O'#EfOOQO'#Ef'#EfOGrQ`O'#FPOGzQdO,5;POOQS,5;P,5;POOQ[1G/p1G/pOOQS7+&[7+&[O5dQ`O7+&[OHVQ!fO'#E{O'yQdO'#E{OI^QdO7+%rOOQO7+%r7+%rOOQO,5:n,5:nOOQO1G1S1G1SOIqQ!bO<<ISOI|QdO'#EyOJWQ`O,5<UOOQP1G/y1G/yOOQS-E8r-E8rOJ`QdO'#ExOJjQ`O,5;}OOQ]1G.{1G.{OOQP<<IS<<ISOJrQ`O<<ISOJwQdO7+%POOQO'#D`'#D`OKOQ!bO7+%TOKWQhO'#EwOKeQ`O,5<TO'yQdO,5<TOOQW1G/r1G/rOOQO'#EX'#EXOKmQ`O1G0]OOQS<<Ia<<IaO'yQdO,59wOL^QhO1G/bOOQ[1G/b1G/bOLeQ`O1G/bOOQW-E8t-E8tOOQ[7+%a7+%aOOQO,5;Q,5;QOAQQdO'#FQOGrQ`O,5;kOOQS,5;k,5;kOOQS-E8}-E8}OOQS1G0k1G0kOOQS<<Iv<<IvOLmQ!fO,5;gOOQS-E8y-E8yOOQO<<I^<<I^OOQPAN>nAN>nOMtQ`OAN>nOMyQaO,5;eOOQO-E8w-E8wONTQdO,5;dOOQO-E8v-E8vOOQW<<Hk<<HkOOQW<<Ho<<HoON_QhO<<HoONpQhO,5;cON{Q`O,5;cOOQO-E8u-E8uO! QQdO1G1oOFYQdO'#E}O! [Q`O7+%wOOQW7+%w7+%wO! dQ!bO1G/cOOQ[7+$|7+$|O! oQhO7+$|P! vQ`O'#EvOOQO,5;l,5;lOOQO-E9O-E9OOOQS1G1V1G1VOOQPG24YG24YO! {Q`OAN>ZO'yQdO1G0}O!!QQ`O7+'ZOOQO,5;i,5;iOOQO-E8{-E8{OOQW<<Ic<<IcOOQ[<<Hh<<HhPOQW,5;b,5;bOOQWG23uG23uO!!YQdO7+&i",
13
+ stateData: "!!m~O#}OS$OQQ~OW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yRO~OQkOW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yjO~O#w$_P~P!gO$OoO~O`YXcYXdYXmYXpYXsYX!aYX!oYX!rYX#xYX$U[X~OgYX~P$TO$UqO~O#yrO~O`tOcuOduOmvOpwO!oxO!rzO#xyO~Os}O!a{O~P%ZOf!TO#y!PO#z!QO~O#y!UO~O#y!WO~OW]O^]O`UOcWOdWOmXOpYO!oZO!r[O#yRO~OS!`Oc!aOd!aOh!]Os}O!Y!_O!]!dO#{![O~On!cO~P'WOQ!nOh!gOp!hOs!iOu!qOw!qO}!oO!d!pO#y!fO#z!lO$Y!jO~OS!`Oc!aOd!aOh!]O!Y!_O!]!dO#{![O~Os$bP~P(nOw!vO!d!pO#y!uO~Ow!xO#y!xO~Oh!{Os}O#`!}O~O#y#PO~Oc!uX~P$TOc#SO~On#TO#w$_Xr$_X~O#w$_Xr$_X~P!gO$P#WO$Q#WO$R#YO~O#y#ZO~Of#`O#y!PO#z!QO~Os}O!a{O~Or$_P~P!gOh#jO~Oh#kO~Oo#lO!l#mO~O`tOcuOduOmvOpwO~Os!na!a!na!o!na!r!na#x!nag!na~P,SOs!qa!a!qa!o!qa!r!qa#x!qag!qa~P,SOS!`Oc!aOd!aOh!]O!Y!_O!]!dO~OR#qOu#qOw#qO#{#nO$Y!jO~P-cOn#wO!U#tO!a#uO~P'WOh#yO~O#{#{O~Oh!{O~O`$OOc$OOg$ROl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo$TO~P'yO`$OOc$OOl$OOm$OOn$OOr$VO~P'yOP$WOSvXcvXdvXhvXnvXyvX!YvX!]vX!zvX!|vX#{vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#yvX#zvX$YvXovXrvX!avX#wvX$avX!mvX~Oy$XO!z$YO!|$ZOn$bP~P(nOh#kOS$WXc$WXd$WXn$WXy$WX!Y$WX!]$WX!z$WX!|$WX#{$WXQ$WX`$WXg$WXl$WXm$WXp$WXs$WXu$WXw$WX}$WX!d$WX#y$WX#z$WX$Y$WXo$WXr$WX!a$WX#w$WX$a$WX!m$WX~Oh$_O~Oh$aO~O!U#tO!a$bOs$bXn$bX~Os}O~On$eOy$XO~On$fO~Ow$gO!d!pO~Os$hO~Os}O!U#tO~Os}O#`$nO~O#y#POs#cX~O$a$rOn!ta#w!tar!ta~P'yOn#pX#w#pXr#pX~P!gOn#TO#w$_ar$_a~O$P#WO$Q#WO$R$yO~Oo${O!l$|O~Os!ni!a!ni!o!ni!r!ni#x!nig!ni~P,SOs!pi!a!pi!o!pi!r!pi#x!pig!pi~P,SOs!qi!a!qi!o!qi!r!qi#x!qig!qi~P,SOs#na!a#na~P%ZOr$}O~Og$^P~P&fOg$VP~P'yOc!SXg!QX!U!QX!W!SX~Oc%UO!W%VO~Og%WO!U#tO~O!U#tOS#vXc#vXd#vXh#vXn#vXs#vX!Y#vX!]#vX!a#vX#{#vX~On%[O!a#uO~P'WO!U#tOS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa#{!Xag!Xa~O#{%]Og$]P~P-cOy$XOQ$XX`$XXc$XXg$XXh$XXl$XXm$XXn$XXp$XXs$XXu$XXw$XX}$XX!d$XX#y$XX#z$XX$Y$XXo$XXr$XX~O`$OOc$OOg%bOl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo%cO~P'yO`$OOc$OOl$OOm$OOn$OOr%dO~P'yOh%fOS!yXc!yXd!yXn!yX!Y!yX!]!yX#{!yX~On%gO~Og%lOw%mO!e%mO~Os#rX!a#rXn#rX~P(nO!a$bOs$ban$ba~On%pO~Or%wO#y%rO$Y%qO~Og%xO~P%ZOy$XO!a%|O$a$rOn!ti#w!tir!ti~P'yO$`&PO~On#pa#w#par#pa~P!gOn#TO#w$_ir$_i~O!a&SOg$^X~P%ZOg&UO~Oy$XOQ#hXg#hXh#hXp#hXs#hXu#hXw#hX}#hX!a#hX!d#hX#y#hX#z#hX$Y#hX~O!a&WOg$VX~P'yOg&YO~Oo&ZOy$XO!m&[O~OR#qOu#qOw#qO#{&^O$Y!jO~O!U#tOS#vac#vad#vah#van#vas#va!Y#va!]#va!a#va#{#va~Oc!SXg!QX!U!QX!a!QX~O!U#tO!a&`Og$]X~Oc&bO~Og&cO~O#y&dO~On&fO~Oc&gO!U#tO~Og&iOn&hO~Og&lO~O!U#tOs#ra!a#ran#ra~OP$WOsvX!avXgvX~O$Y%qOs#YX!a#YX~Os}O!a&nO~Or&rO#y%rO$Y%qO~Oy$XOQ#oXh#oXn#oXp#oXs#oXu#oXw#oX}#oX!a#oX!d#oX#w#oX#y#oX#z#oX$Y#oX$a#oXr#oX~O!a%|O$a$rOn!tq#w!tqr!tq~P'yOo&wOy$XO!m&xO~Og#mX!a#mX~P&fO!a&SOg$^a~Og#lX!a#lX~P'yO!a&WOg$Va~Oo&wO~Og&}O~P'yOg'OO!W'PO~O#{%]Og#kX!a#kX~P-cO!a&`Og$]a~O`'UOg'WO~OS#jac#jad#jah#ja!Y#ja!]#ja#{#ja~Og'YO~PKuOg'YOn'ZO~Oy$XOQ#oah#oan#oap#oas#oau#oaw#oa}#oa!a#oa!d#oa#w#oa#y#oa#z#oa$Y#oa$a#oar#oa~Oo'`O~Og#ma!a#ma~P%ZOg#la!a#la~P'yOR#qOu#qOw#qO#{&^O$Y%qO~O!U#tOg#ka!a#ka~Oc'bO~O!a&`Og$]i~P'yO`'UOg'fO~Oy$XOg!Pin!Pi~Og'gO~PKuOn'hO~Og'iO~O!a&`Og$]q~Og#kq!a#kq~P'yO#}!e$O$Y`$Yy!r~",
14
+ goto: "4W$cPPPPP$dP$gP$p%S$p%f%xP$pP%{$pPP&RPPP&X&c&cPPPPP&cPP&cP'PP&cP&c'z&cP(h(k(q(q)T(qP(qP(qP(q(qP)d(q)pP(q)sPP*g*m$p*s$p*yPP$pP$p$pP+P+{,Y,a$gP,jP,mP$gP$gP$gP,s$gP,v,y,|-T$gP$gPP$gP-Y$gP-]-c-r.Y.h.n.x/O/U/[/b/l/r/x0O0U0[PPPPPPPPPPP0b0kP1a1d2fP2n3h3q3t3wPP3}RpQ__OPam}#T$uq]OPZ[amxyz{}!{#T#j$u&SqSOPZ[amxyz{}!{#T#j$u&SqTOPZ[amxyz{}!{#T#j$u&SR#[qQsUR#]tQ!RWR#^uQ#^!TS$^!m!nR$z#`!V!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'j!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jU#q!]%V'PU%t$h%v&nR&m%s!V!mbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jR$`!oQ%j$_R&j%kq!b^cg!]!^!_!k#t#u#v#y$]$_$b%k&`Q#o!]Q%_#yQ&_%VQ'R&`R'a'PQ#OhQ#|!dQ$l!}R%z$nR#z!`!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jQ!veR$g!wQ!SWR#_uQ#^!SR$z#_Q!VXR#avQ!XYR#bwQ!OVQ!c^Q!|hQ#h|Q#w!^Q$d!sQ$j!zQ$m#OQ$p#RQ%[#vQ%y$lQ&p%uQ&s%zR'_&oSlP}Q#VmQ$t#TR&Q$uZkPm}#T$uQ$s#SQ&O$qR&v%}R$]!kQ&e%fR'd'UR!weR!yfR$i!yS%u$h%vR']&nV%s$h%v&nR#RiQ#XoR$x#XQaOSmP}U!eam$uR$u#TQ%R#kY&V%R&]&{'T'jQ&]%UQ&{&WQ'T&bR'j'bQ$Q!gQ$S!hQ$U!iV%a$Q$S$UQ%k$_R&k%kQ&a%^S'S&a'cR'c'TQ&X%RR&|&XQ&T%OR&z&TQ|VR#g|Q%}$qR&u%}Q#UlS$v#U$wR$w#VQ'V&eR'e'VQ$c!rR%o$cQ%v$hR&q%vQ&o%uR'^&oQ#QiR$o#QQ#v!^R%Z#v_`OPam}#T$u^VOPam}#T$uQ!YZQ!Z[Q#cxQ#dyQ#ezQ#f{Q$k!{Q%O#jR&y&SR%S#kQ!kbQ!td[#}!g!h!i$Q$S$UQ$q#Sd%Q#k%R%U&W&]&b&{'T'b'jQ%T#mQ%e$XS%{$q%}Q&R$|Q&t%|R'X&g]$P!g!h!i$Q$S$UQ!^^U!rc!k$]Q!zgQ#p!]S#s!^#vQ#x!_Q%X#tQ%Y#uQ%^#yS%i$_%kQ%n$bR'Q&`Q#r!]Q&_%VR'a'PR%`#yR%P#jQnPR#i}Q!scQ$[!kR%h$]",
15
+ nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",
16
+ maxTerm: 156,
17
17
  nodeProps: [
18
- ["isolate", -2,5,36,""],
19
- ["openedBy", 20,"(",28,"[",31,"{"],
20
- ["closedBy", 21,")",29,"]",32,"}"]
18
+ ["isolate", -2,5,39,""],
19
+ ["openedBy", 23,"(",31,"[",34,"{"],
20
+ ["closedBy", 24,")",32,"]",35,"}"]
21
21
  ],
22
22
  propSources: [cssHighlighting],
23
- skippedNodes: [0,5,106],
24
- repeatNodeCount: 15,
25
- tokenData: "JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",
26
- tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new LocalTokenGroup("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~", 28, 129)],
27
- topRules: {"StyleSheet":[0,6],"Styles":[1,105]},
28
- specialized: [{term: 124, get: (value) => spec_callee[value] || -1},{term: 125, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 25, get: (value) => spec_AtKeyword[value] || -1},{term: 123, get: (value) => spec_identifier[value] || -1}],
29
- tokenPrec: 1963
23
+ skippedNodes: [0,5,114],
24
+ repeatNodeCount: 17,
25
+ tokenData: "K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh#}~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh#}~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$aYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!lS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!rQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$YYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$YYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$O~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!lSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!oQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!oQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!mWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!mWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$`Q!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$UQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!rQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",
26
+ tokenizers: [descendant, unitToken, identifiers, queryIdentifiers, 1, 2, 3, 4, new LocalTokenGroup("m~RRYZ[z{a~~g~aO$Q~~dP!P!Qg~lO$R~~", 28, 139)],
27
+ topRules: {"StyleSheet":[0,6],"Styles":[1,113]},
28
+ dynamicPrecedences: {"81":1},
29
+ specialized: [{term: 134, get: (value) => spec_callee[value] || -1},{term: 135, get: (value) => spec_queryIdentifier[value] || -1},{term: 4, get: (value) => spec_QueryCallee[value] || -1},{term: 28, get: (value) => spec_AtKeyword[value] || -1},{term: 133, get: (value) => spec_identifier[value] || -1}],
30
+ tokenPrec: 2182
30
31
  })
@@ -1,61 +1,63 @@
1
1
  // This file was generated by lezer-generator. You probably shouldn't edit it.
2
2
  export const
3
- descendantOp = 122,
3
+ descendantOp = 132,
4
4
  Unit = 1,
5
- identifier = 123,
6
- callee = 124,
5
+ identifier = 133,
6
+ callee = 134,
7
7
  VariableName = 2,
8
- queryIdentifier = 125,
8
+ queryIdentifier = 135,
9
9
  queryVariableName = 3,
10
10
  QueryCallee = 4,
11
11
  Comment = 5,
12
12
  StyleSheet = 6,
13
13
  RuleSet = 7,
14
14
  UniversalSelector = 8,
15
- NestingSelector = 11,
16
- PseudoClassName = 19,
17
- AtKeyword = 25,
18
- ColorLiteral = 34,
19
- NumberLiteral = 35,
20
- StringLiteral = 36,
21
- BinOp = 38,
22
- CallExpression = 39,
23
- IfExpression = 41,
24
- _if = 42,
25
- IfBranch = 44,
26
- FeatureName = 47,
27
- LogicOp = 49,
28
- CompareOp = 51,
29
- UnaryQueryOp = 53,
30
- selector = 56,
31
- ParenthesizedSelector = 57,
32
- CallLiteral = 61,
33
- CallTag = 62,
34
- ParenthesizedContent = 63,
35
- MatchOp = 70,
36
- ChildOp = 72,
37
- SiblingOp = 75,
38
- Block = 76,
39
- Declaration = 77,
40
- Important = 79,
41
- ImportStatement = 80,
42
- _import = 81,
43
- layer = 85,
44
- LayerName = 84,
45
- MediaStatement = 86,
46
- media = 87,
47
- CharsetStatement = 88,
48
- charset = 89,
49
- NamespaceStatement = 90,
50
- namespace = 91,
51
- KeyframesStatement = 93,
52
- keyframes = 94,
53
- KeyframeList = 96,
54
- KeyframeSelector = 97,
55
- SupportsStatement = 99,
56
- supports = 100,
57
- ScopeStatement = 101,
58
- scope = 102,
59
- to = 103,
60
- AtRule = 104,
61
- Styles = 105
15
+ NestingSelector = 14,
16
+ PseudoClassName = 22,
17
+ AtKeyword = 28,
18
+ ColorLiteral = 37,
19
+ NumberLiteral = 38,
20
+ StringLiteral = 39,
21
+ BinOp = 41,
22
+ CallExpression = 42,
23
+ IfExpression = 44,
24
+ _if = 45,
25
+ IfBranch = 47,
26
+ FeatureName = 50,
27
+ LogicOp = 52,
28
+ CompareOp = 54,
29
+ UnaryQueryOp = 56,
30
+ selector = 59,
31
+ ParenthesizedSelector = 60,
32
+ CallLiteral = 65,
33
+ CallTag = 66,
34
+ ParenthesizedContent = 67,
35
+ MatchOp = 74,
36
+ MatchFlag = 75,
37
+ ChildOp = 77,
38
+ SiblingOp = 80,
39
+ Block = 81,
40
+ Declaration = 82,
41
+ Important = 84,
42
+ ImportStatement = 85,
43
+ _import = 86,
44
+ layer = 90,
45
+ LayerName = 89,
46
+ MediaStatement = 91,
47
+ media = 92,
48
+ CharsetStatement = 93,
49
+ charset = 94,
50
+ NamespaceStatement = 95,
51
+ namespace = 96,
52
+ KeyframesStatement = 98,
53
+ keyframes = 99,
54
+ KeyframeList = 101,
55
+ KeyframeSelector = 102,
56
+ SupportsStatement = 104,
57
+ supports = 105,
58
+ ScopeStatement = 106,
59
+ scope = 107,
60
+ to = 108,
61
+ FontFeatureStatement = 109,
62
+ AtRule = 112,
63
+ Styles = 113
package/src/tokens.js CHANGED
@@ -45,10 +45,12 @@ const identifierTokens = (id, varName, callee) => (input, stack) => {
45
45
  }
46
46
 
47
47
  export const identifiers = new ExternalTokenizer(
48
- identifierTokens(identifier, VariableName, callee)
48
+ identifierTokens(identifier, VariableName, callee),
49
+ {contextual: true}
49
50
  )
50
51
  export const queryIdentifiers = new ExternalTokenizer(
51
- identifierTokens(queryIdentifier, queryVariableName, QueryCallee)
52
+ identifierTokens(queryIdentifier, queryVariableName, QueryCallee),
53
+ {contextual: true}
52
54
  )
53
55
 
54
56
  export const descendant = new ExternalTokenizer(input => {
@@ -106,11 +106,14 @@ StyleSheet(RuleSet(TagSelector(TagName),Block(
106
106
 
107
107
  a {
108
108
  b: c !important;
109
+ d: e ! /* foo */ important;
109
110
  }
110
111
 
111
112
  ==>
112
113
 
113
- StyleSheet(RuleSet(TagSelector(TagName),Block(Declaration(PropertyName,ValueName,Important))))
114
+ StyleSheet(RuleSet(TagSelector(TagName),Block(
115
+ Declaration(PropertyName,ValueName,Important)
116
+ Declaration(PropertyName,ValueName,Important(Comment)))))
114
117
 
115
118
  # Comments right after numbers
116
119
 
@@ -202,3 +205,37 @@ StyleSheet(RuleSet(TagSelector(TagName),Block(
202
205
 
203
206
  StyleSheet(RuleSet(ClassSelector(ClassName),Block(
204
207
  Declaration(PropertyName,CallExpression(VariableName,ArgList(ValueName))))))
208
+
209
+ # Pseudo Page Selector
210
+
211
+ @page :left {
212
+ margin: 2in 3in;
213
+ }
214
+
215
+ ==>
216
+
217
+ StyleSheet(AtRule(AtKeyword,PseudoQuery,Block(
218
+ Declaration(PropertyName,NumberLiteral(Unit),NumberLiteral(Unit)))))
219
+
220
+ # Font Feature Values
221
+
222
+ @font-feature-values Font Name {
223
+ font-display: swap;
224
+ @styleset {
225
+ nice-style: 12;
226
+ }
227
+ }
228
+
229
+ ==>
230
+
231
+ StyleSheet(FontFeatureStatement("font-feature-values",FontName,Block(
232
+ Declaration(PropertyName,ValueName),
233
+ AtRule(AtKeyword,Block(Declaration(PropertyName,NumberLiteral))))))
234
+
235
+ # Container with name
236
+
237
+ @container tall (height > 30rem) {}
238
+
239
+ ==>
240
+
241
+ StyleSheet(AtRule(AtKeyword,KeywordQuery,ComparisonQuery(FeatureName,CompareOp,NumberLiteral(Unit)),Block))
package/test/selector.txt CHANGED
@@ -45,6 +45,7 @@ StyleSheet(RuleSet(IdSelector(IdName),IdSelector(TagSelector(TagName),IdName),Bl
45
45
  [b=c] {}
46
46
  [d~=e] {}
47
47
  a[b] {}
48
+ a[href*="m" i] {}
48
49
 
49
50
  ==>
50
51
 
@@ -52,7 +53,8 @@ StyleSheet(
52
53
  RuleSet(AttributeSelector(AttributeName),Block),
53
54
  RuleSet(AttributeSelector(AttributeName,MatchOp,ValueName),Block),
54
55
  RuleSet(AttributeSelector(AttributeName,MatchOp,ValueName),Block),
55
- RuleSet(AttributeSelector(TagSelector(TagName),AttributeName),Block))
56
+ RuleSet(AttributeSelector(TagSelector(TagName),AttributeName),Block),
57
+ RuleSet(AttributeSelector(TagSelector(TagName),AttributeName,MatchOp,StringLiteral,MatchFlag),Block))
56
58
 
57
59
  # Pseudo-class selectors
58
60
 
@@ -148,3 +150,12 @@ a:not(:hover) {}
148
150
  StyleSheet(
149
151
  RuleSet(PseudoClassSelector(TagSelector(TagName),":",PseudoClassName,ArgList(PseudoClassSelector(":",PseudoClassName))),Block),
150
152
  RuleSet(PseudoClassSelector(ClassSelector(ClassName),":",PseudoClassName,ArgList(ChildSelector(TagSelector(TagName),ChildOp,ClassSelector(ClassName)))),Block))
153
+
154
+ # Namespaced Selector
155
+
156
+ svg|circle { file: red; }
157
+
158
+ ==>
159
+
160
+ StyleSheet(RuleSet(NamespacedTagSelector(NamespaceName,TagName),Block(
161
+ Declaration(PropertyName,ValueName))))
@@ -212,3 +212,16 @@ StyleSheet(RuleSet(TagSelector(TagName),Block(
212
212
  IfBranch(CallQuery(QueryCallee,ArgList(FeatureName,ValueName)),ValueName),
213
213
  IfBranch(CallQuery(QueryCallee,ArgList(FeatureName,ValueName)),ValueName),
214
214
  IfBranch(KeywordQuery,ValueName)))))))
215
+
216
+ # Nested Pseudo-Class
217
+
218
+ div {
219
+ dialog:hover {
220
+ color: red;
221
+ }
222
+ }
223
+
224
+ ==>
225
+
226
+ StyleSheet(RuleSet(TagSelector(TagName),Block(RuleSet(PseudoClassSelector(TagSelector(TagName),PseudoClassName),Block(
227
+ Declaration(PropertyName,ValueName))))))