jssm 5.141.6 → 5.141.9

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.
@@ -215,6 +215,7 @@ function arrow_right_kind(arrow) {
215
215
  }
216
216
  }
217
217
 
218
+ // @ts-nocheck
218
219
  /*
219
220
  * Generated by PEG.js 0.10.0.
220
221
  *
@@ -326,7 +327,7 @@ function peg$parse(input, options) {
326
327
  var peg$FAILED = {}, peg$startRuleFunctions = { Document: peg$parseDocument }, peg$startRuleFunction = peg$parseDocument, peg$c0 = function (e) { return e; }, peg$c1 = "default", peg$c2 = peg$literalExpectation("default", false), peg$c3 = "ocean", peg$c4 = peg$literalExpectation("ocean", false), peg$c5 = "modern", peg$c6 = peg$literalExpectation("modern", false), peg$c7 = "plain", peg$c8 = peg$literalExpectation("plain", false), peg$c9 = "bold", peg$c10 = peg$literalExpectation("bold", false), peg$c11 = "[", peg$c12 = peg$literalExpectation("[", false), peg$c13 = "]", peg$c14 = peg$literalExpectation("]", false), peg$c15 = function (ths, th) { const themes = ths.map(t => t[0]); if (th)
327
328
  themes.push(th); return themes; }, peg$c16 = function (th) { return [th]; }, peg$c17 = "box3d", peg$c18 = peg$literalExpectation("box3d", false), peg$c19 = "polygon", peg$c20 = peg$literalExpectation("polygon", false), peg$c21 = "ellipse", peg$c22 = peg$literalExpectation("ellipse", false), peg$c23 = "oval", peg$c24 = peg$literalExpectation("oval", false), peg$c25 = "circle", peg$c26 = peg$literalExpectation("circle", false), peg$c27 = "point", peg$c28 = peg$literalExpectation("point", false), peg$c29 = "egg", peg$c30 = peg$literalExpectation("egg", false), peg$c31 = "triangle", peg$c32 = peg$literalExpectation("triangle", false), peg$c33 = "plaintext", peg$c34 = peg$literalExpectation("plaintext", false), peg$c35 = "diamond", peg$c36 = peg$literalExpectation("diamond", false), peg$c37 = "trapezium", peg$c38 = peg$literalExpectation("trapezium", false), peg$c39 = "parallelogram", peg$c40 = peg$literalExpectation("parallelogram", false), peg$c41 = "house", peg$c42 = peg$literalExpectation("house", false), peg$c43 = "pentagon", peg$c44 = peg$literalExpectation("pentagon", false), peg$c45 = "hexagon", peg$c46 = peg$literalExpectation("hexagon", false), peg$c47 = "septagon", peg$c48 = peg$literalExpectation("septagon", false), peg$c49 = "octagon", peg$c50 = peg$literalExpectation("octagon", false), peg$c51 = "doublecircle", peg$c52 = peg$literalExpectation("doublecircle", false), peg$c53 = "doubleoctagon", peg$c54 = peg$literalExpectation("doubleoctagon", false), peg$c55 = "tripleoctagon", peg$c56 = peg$literalExpectation("tripleoctagon", false), peg$c57 = "invtriangle", peg$c58 = peg$literalExpectation("invtriangle", false), peg$c59 = "invtrapezium", peg$c60 = peg$literalExpectation("invtrapezium", false), peg$c61 = "invhouse", peg$c62 = peg$literalExpectation("invhouse", false), peg$c63 = "Mdiamond", peg$c64 = peg$literalExpectation("Mdiamond", false), peg$c65 = "Msquare", peg$c66 = peg$literalExpectation("Msquare", false), peg$c67 = "Mcircle", peg$c68 = peg$literalExpectation("Mcircle", false), peg$c69 = "rectangle", peg$c70 = peg$literalExpectation("rectangle", false), peg$c71 = "rect", peg$c72 = peg$literalExpectation("rect", false), peg$c73 = "square", peg$c74 = peg$literalExpectation("square", false), peg$c75 = "star", peg$c76 = peg$literalExpectation("star", false), peg$c77 = "none", peg$c78 = peg$literalExpectation("none", false), peg$c79 = "underline", peg$c80 = peg$literalExpectation("underline", false), peg$c81 = "cylinder", peg$c82 = peg$literalExpectation("cylinder", false), peg$c83 = "note", peg$c84 = peg$literalExpectation("note", false), peg$c85 = "tab", peg$c86 = peg$literalExpectation("tab", false), peg$c87 = "folder", peg$c88 = peg$literalExpectation("folder", false), peg$c89 = "box", peg$c90 = peg$literalExpectation("box", false), peg$c91 = "component", peg$c92 = peg$literalExpectation("component", false), peg$c93 = "promoter", peg$c94 = peg$literalExpectation("promoter", false), peg$c95 = "cds", peg$c96 = peg$literalExpectation("cds", false), peg$c97 = "terminator", peg$c98 = peg$literalExpectation("terminator", false), peg$c99 = "utr", peg$c100 = peg$literalExpectation("utr", false), peg$c101 = "primersite", peg$c102 = peg$literalExpectation("primersite", false), peg$c103 = "restrictionsite", peg$c104 = peg$literalExpectation("restrictionsite", false), peg$c105 = "fivepoverhang", peg$c106 = peg$literalExpectation("fivepoverhang", false), peg$c107 = "threepoverhang", peg$c108 = peg$literalExpectation("threepoverhang", false), peg$c109 = "noverhang", peg$c110 = peg$literalExpectation("noverhang", false), peg$c111 = "assembly", peg$c112 = peg$literalExpectation("assembly", false), peg$c113 = "signature", peg$c114 = peg$literalExpectation("signature", false), peg$c115 = "insulator", peg$c116 = peg$literalExpectation("insulator", false), peg$c117 = "ribosite", peg$c118 = peg$literalExpectation("ribosite", false), peg$c119 = "rnastab", peg$c120 = peg$literalExpectation("rnastab", false), peg$c121 = "proteasesite", peg$c122 = peg$literalExpectation("proteasesite", false), peg$c123 = "proteinstab", peg$c124 = peg$literalExpectation("proteinstab", false), peg$c125 = "rpromoter", peg$c126 = peg$literalExpectation("rpromoter", false), peg$c127 = "rarrow", peg$c128 = peg$literalExpectation("rarrow", false), peg$c129 = "larrow", peg$c130 = peg$literalExpectation("larrow", false), peg$c131 = "lpromoter", peg$c132 = peg$literalExpectation("lpromoter", false), peg$c133 = "record", peg$c134 = peg$literalExpectation("record", false), peg$c135 = peg$otherExpectation("forward light arrow ->"), peg$c136 = "->", peg$c137 = peg$literalExpectation("->", false), peg$c138 = "\u2192", peg$c139 = peg$literalExpectation("\u2192", false), peg$c140 = function () { return "->"; }, peg$c141 = peg$otherExpectation("two way light arrow <->"), peg$c142 = "<->", peg$c143 = peg$literalExpectation("<->", false), peg$c144 = "\u2194", peg$c145 = peg$literalExpectation("\u2194", false), peg$c146 = function () { return "<->"; }, peg$c147 = peg$otherExpectation("back light arrow <-"), peg$c148 = "<-", peg$c149 = peg$literalExpectation("<-", false), peg$c150 = "\u2190", peg$c151 = peg$literalExpectation("\u2190", false), peg$c152 = function () { return "<-"; }, peg$c153 = peg$otherExpectation("forward fat arrow =>"), peg$c154 = "=>", peg$c155 = peg$literalExpectation("=>", false), peg$c156 = "\u21D2", peg$c157 = peg$literalExpectation("\u21D2", false), peg$c158 = function () { return "=>"; }, peg$c159 = peg$otherExpectation("two way fat arrow <=>"), peg$c160 = "<=>", peg$c161 = peg$literalExpectation("<=>", false), peg$c162 = "\u21D4", peg$c163 = peg$literalExpectation("\u21D4", false), peg$c164 = function () { return "<=>"; }, peg$c165 = peg$otherExpectation("back fat arrow <="), peg$c166 = "<=", peg$c167 = peg$literalExpectation("<=", false), peg$c168 = "\u21D0", peg$c169 = peg$literalExpectation("\u21D0", false), peg$c170 = function () { return "<="; }, peg$c171 = peg$otherExpectation("forward tilde arrow ~>"), peg$c172 = "~>", peg$c173 = peg$literalExpectation("~>", false), peg$c174 = "\u219B", peg$c175 = peg$literalExpectation("\u219B", false), peg$c176 = function () { return "~>"; }, peg$c177 = peg$otherExpectation("two way tilde arrow <~>"), peg$c178 = "<~>", peg$c179 = peg$literalExpectation("<~>", false), peg$c180 = "\u21AE", peg$c181 = peg$literalExpectation("\u21AE", false), peg$c182 = function () { return "<~>"; }, peg$c183 = peg$otherExpectation("back tilde arrow <~"), peg$c184 = "<~", peg$c185 = peg$literalExpectation("<~", false), peg$c186 = "\u219A", peg$c187 = peg$literalExpectation("\u219A", false), peg$c188 = function () { return "<~"; }, peg$c189 = peg$otherExpectation("light fat arrow <-=>"), peg$c190 = "<-=>", peg$c191 = peg$literalExpectation("<-=>", false), peg$c192 = "\u2190\u21D2", peg$c193 = peg$literalExpectation("\u2190\u21D2", false), peg$c194 = function () { return "<-=>"; }, peg$c195 = peg$otherExpectation("light tilde arrow <-~>"), peg$c196 = "<-~>", peg$c197 = peg$literalExpectation("<-~>", false), peg$c198 = "\u2190\u219B", peg$c199 = peg$literalExpectation("\u2190\u219B", false), peg$c200 = function () { return "<-~>"; }, peg$c201 = peg$otherExpectation("fat light arrow <=->"), peg$c202 = "<=->", peg$c203 = peg$literalExpectation("<=->", false), peg$c204 = "\u21D0\u2192", peg$c205 = peg$literalExpectation("\u21D0\u2192", false), peg$c206 = function () { return "<=->"; }, peg$c207 = peg$otherExpectation("fat tilde arrow <=~>"), peg$c208 = "<=~>", peg$c209 = peg$literalExpectation("<=~>", false), peg$c210 = "\u21D0\u219B", peg$c211 = peg$literalExpectation("\u21D0\u219B", false), peg$c212 = function () { return "<=~>"; }, peg$c213 = peg$otherExpectation("tilde light arrow <~->"), peg$c214 = "<~->", peg$c215 = peg$literalExpectation("<~->", false), peg$c216 = "\u219A\u2192", peg$c217 = peg$literalExpectation("\u219A\u2192", false), peg$c218 = function () { return "<~->"; }, peg$c219 = peg$otherExpectation("tilde fat arrow <~=>"), peg$c220 = "<~=>", peg$c221 = peg$literalExpectation("<~=>", false), peg$c222 = "\u219A\u21D2", peg$c223 = peg$literalExpectation("\u219A\u21D2", false), peg$c224 = function () { return "<~=>"; }, peg$c225 = peg$otherExpectation("light arrow"), peg$c226 = peg$otherExpectation("fat arrow"), peg$c227 = peg$otherExpectation("tilde arrow"), peg$c228 = peg$otherExpectation("mixed arrow"), peg$c229 = peg$otherExpectation("arrow"), peg$c230 = "true", peg$c231 = peg$literalExpectation("true", false), peg$c232 = function () { return true; }, peg$c233 = "false", peg$c234 = peg$literalExpectation("false", false), peg$c235 = function () { return false; }, peg$c236 = "regular", peg$c237 = peg$literalExpectation("regular", false), peg$c238 = "rounded", peg$c239 = peg$literalExpectation("rounded", false), peg$c240 = "lined", peg$c241 = peg$literalExpectation("lined", false), peg$c242 = "solid", peg$c243 = peg$literalExpectation("solid", false), peg$c244 = "dotted", peg$c245 = peg$literalExpectation("dotted", false), peg$c246 = "dashed", peg$c247 = peg$literalExpectation("dashed", false), peg$c248 = "\"", peg$c249 = peg$literalExpectation("\"", false), peg$c250 = "\\", peg$c251 = peg$literalExpectation("\\", false), peg$c252 = "/", peg$c253 = peg$literalExpectation("/", false), peg$c254 = "b", peg$c255 = peg$literalExpectation("b", false), peg$c256 = function () { return "\b"; }, peg$c257 = "f", peg$c258 = peg$literalExpectation("f", false), peg$c259 = function () { return "\f"; }, peg$c260 = "n", peg$c261 = peg$literalExpectation("n", false), peg$c262 = function () { return "\n"; }, peg$c263 = "r", peg$c264 = peg$literalExpectation("r", false), peg$c265 = function () { return "\r"; }, peg$c266 = "t", peg$c267 = peg$literalExpectation("t", false), peg$c268 = function () { return "\t"; }, peg$c269 = "v", peg$c270 = peg$literalExpectation("v", false), peg$c271 = function () { return "\v"; }, peg$c272 = "u", peg$c273 = peg$literalExpectation("u", false), peg$c274 = function (digits) {
328
329
  return String.fromCharCode(parseInt(digits, 16));
329
- }, peg$c275 = function (Sequence) { return Sequence; }, peg$c276 = "null", peg$c277 = peg$literalExpectation("null", false), peg$c278 = function () { return null; }, peg$c279 = "undefined", peg$c280 = peg$literalExpectation("undefined", false), peg$c281 = function () { return undefined; }, peg$c282 = /^[\0-!#-[\]-\uFFFF]/, peg$c283 = peg$classExpectation([["\0", "!"], ["#", "["], ["]", "\uFFFF"]], false, false), peg$c284 = "'", peg$c285 = peg$literalExpectation("'", false), peg$c286 = /^[ -&(-[\]-\uFFFF]/, peg$c287 = peg$classExpectation([[" ", "&"], ["(", "["], ["]", "\uFFFF"]], false, false), peg$c288 = peg$otherExpectation("action label"), peg$c289 = function (chars) { return chars.join(""); }, peg$c290 = /^[\n\r\u2028\u2029]/, peg$c291 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false), peg$c292 = "*/", peg$c293 = peg$literalExpectation("*/", false), peg$c294 = peg$anyExpectation(), peg$c295 = peg$otherExpectation("block comment"), peg$c296 = "/*", peg$c297 = peg$literalExpectation("/*", false), peg$c298 = peg$otherExpectation("line comment"), peg$c299 = "//", peg$c300 = peg$literalExpectation("//", false), peg$c301 = peg$otherExpectation("whitespace"), peg$c302 = /^[ \t\r\n\x0B]/, peg$c303 = peg$classExpectation([" ", "\t", "\r", "\n", "\x0B"], false, false), peg$c304 = peg$otherExpectation("string"), peg$c305 = /^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/, peg$c306 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "_", "!", "$", "^", "*", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c307 = /^[0-9a-zA-Z.+_\^()*&$#@!?,\x80-\uFFFF]/, peg$c308 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "+", "_", "^", "(", ")", "*", "&", "$", "#", "@", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c309 = peg$otherExpectation("atom"), peg$c310 = function (firstletter, text) {
330
+ }, peg$c275 = function (Sequence) { return Sequence; }, peg$c276 = "null", peg$c277 = peg$literalExpectation("null", false), peg$c278 = function () { return null; }, peg$c279 = "undefined", peg$c280 = peg$literalExpectation("undefined", false), peg$c281 = function () { return undefined; }, peg$c282 = /^[\0-!#-[\]-\uFFFF]/, peg$c283 = peg$classExpectation([["\0", "!"], ["#", "["], ["]", "\uFFFF"]], false, false), peg$c284 = "'", peg$c285 = peg$literalExpectation("'", false), peg$c286 = /^[ -&(-[\]-\uFFFF]/, peg$c287 = peg$classExpectation([[" ", "&"], ["(", "["], ["]", "\uFFFF"]], false, false), peg$c288 = peg$otherExpectation("action label"), peg$c289 = function (chars) { return chars.join(""); }, peg$c290 = /^[\n\r\u2028\u2029]/, peg$c291 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false), peg$c292 = peg$otherExpectation("block comment"), peg$c293 = "/*", peg$c294 = peg$literalExpectation("/*", false), peg$c295 = "*/", peg$c296 = peg$literalExpectation("*/", false), peg$c297 = peg$anyExpectation(), peg$c298 = peg$otherExpectation("line comment"), peg$c299 = "//", peg$c300 = peg$literalExpectation("//", false), peg$c301 = peg$otherExpectation("whitespace"), peg$c302 = /^[ \t\r\n\x0B]/, peg$c303 = peg$classExpectation([" ", "\t", "\r", "\n", "\x0B"], false, false), peg$c304 = peg$otherExpectation("string"), peg$c305 = /^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/, peg$c306 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "_", "!", "$", "^", "*", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c307 = /^[0-9a-zA-Z.+_\^()*&$#@!?,\x80-\uFFFF]/, peg$c308 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "+", "_", "^", "(", ")", "*", "&", "$", "#", "@", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c309 = peg$otherExpectation("atom"), peg$c310 = function (firstletter, text) {
330
331
  return firstletter + ((text || []).join(''));
331
332
  }, peg$c311 = peg$otherExpectation("label"), peg$c312 = "0", peg$c313 = peg$literalExpectation("0", false), peg$c314 = /^[0-9]/, peg$c315 = peg$classExpectation([["0", "9"]], false, false), peg$c316 = /^[1-9]/, peg$c317 = peg$classExpectation([["1", "9"]], false, false), peg$c318 = /^[0-9a-f]/i, peg$c319 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true), peg$c320 = /^[0-1]/, peg$c321 = peg$classExpectation([["0", "1"]], false, false), peg$c322 = /^[0-7]/, peg$c323 = peg$classExpectation([["0", "7"]], false, false), peg$c324 = peg$otherExpectation("nonneg number"), peg$c325 = ".", peg$c326 = peg$literalExpectation(".", false), peg$c327 = function () { return parseFloat(text()); }, peg$c328 = peg$otherExpectation("number"), peg$c329 = function (literal) { return literal; }, peg$c330 = "NaN", peg$c331 = peg$literalExpectation("NaN", false), peg$c332 = function () { return NaN; }, peg$c333 = "NegativeInfinity", peg$c334 = peg$literalExpectation("NegativeInfinity", false), peg$c335 = function () { return Number.NEGATIVE_INFINITY; }, peg$c336 = "NegativeInf", peg$c337 = peg$literalExpectation("NegativeInf", false), peg$c338 = "NegInfinity", peg$c339 = peg$literalExpectation("NegInfinity", false), peg$c340 = "NegInf", peg$c341 = peg$literalExpectation("NegInf", false), peg$c342 = "NInfinity", peg$c343 = peg$literalExpectation("NInfinity", false), peg$c344 = "NInf", peg$c345 = peg$literalExpectation("NInf", false), peg$c346 = "-\u221E", peg$c347 = peg$literalExpectation("-\u221E", false), peg$c348 = "PInfinity", peg$c349 = peg$literalExpectation("PInfinity", false), peg$c350 = function () { return Number.POSITIVE_INFINITY; }, peg$c351 = "Infinity", peg$c352 = peg$literalExpectation("Infinity", false), peg$c353 = "PInf", peg$c354 = peg$literalExpectation("PInf", false), peg$c355 = "Inf", peg$c356 = peg$literalExpectation("Inf", false), peg$c357 = "\u221E", peg$c358 = peg$literalExpectation("\u221E", false), peg$c359 = "Epsilon", peg$c360 = peg$literalExpectation("Epsilon", false), peg$c361 = function () { return Number.EPSILON; }, peg$c362 = "\uD835\uDF00", peg$c363 = peg$literalExpectation("\uD835\uDF00", false), peg$c364 = "\u03B5", peg$c365 = peg$literalExpectation("\u03B5", false), peg$c366 = "Pi", peg$c367 = peg$literalExpectation("Pi", false), peg$c368 = function () { return Math.PI; }, peg$c369 = "\uD835\uDF0B", peg$c370 = peg$literalExpectation("\uD835\uDF0B", false), peg$c371 = "\u03C0", peg$c372 = peg$literalExpectation("\u03C0", false), peg$c373 = "EulerNumber", peg$c374 = peg$literalExpectation("EulerNumber", false), peg$c375 = function () { return Math.E; }, peg$c376 = "E", peg$c377 = peg$literalExpectation("E", false), peg$c378 = "e", peg$c379 = peg$literalExpectation("e", false), peg$c380 = "\u0190", peg$c381 = peg$literalExpectation("\u0190", false), peg$c382 = "\u2107", peg$c383 = peg$literalExpectation("\u2107", false), peg$c384 = "Root2", peg$c385 = peg$literalExpectation("Root2", false), peg$c386 = function () { return Math.SQRT2; }, peg$c387 = "RootHalf", peg$c388 = peg$literalExpectation("RootHalf", false), peg$c389 = function () { return Math.SQRT1_2; }, peg$c390 = "Ln2", peg$c391 = peg$literalExpectation("Ln2", false), peg$c392 = function () { return Math.LN2; }, peg$c393 = "NatLog2", peg$c394 = peg$literalExpectation("NatLog2", false), peg$c395 = "Ln10", peg$c396 = peg$literalExpectation("Ln10", false), peg$c397 = function () { return Math.LN10; }, peg$c398 = "NatLog10", peg$c399 = peg$literalExpectation("NatLog10", false), peg$c400 = "Log2E", peg$c401 = peg$literalExpectation("Log2E", false), peg$c402 = function () { return Math.LOG2E; }, peg$c403 = "Log10E", peg$c404 = peg$literalExpectation("Log10E", false), peg$c405 = function () { return Math.LOG10E; }, peg$c406 = "MaxSafeInt", peg$c407 = peg$literalExpectation("MaxSafeInt", false), peg$c408 = function () { return Number.MAX_SAFE_INTEGER; }, peg$c409 = "MinSafeInt", peg$c410 = peg$literalExpectation("MinSafeInt", false), peg$c411 = function () { return Number.MIN_SAFE_INTEGER; }, peg$c412 = "MaxPosNum", peg$c413 = peg$literalExpectation("MaxPosNum", false), peg$c414 = function () { return Number.MAX_VALUE; }, peg$c415 = "MinPosNum", peg$c416 = peg$literalExpectation("MinPosNum", false), peg$c417 = function () { return Number.MIN_VALUE; }, peg$c418 = "Phi", peg$c419 = peg$literalExpectation("Phi", false), peg$c420 = function () { return 1.61803398874989484820; }, peg$c421 = "\uD835\uDF11", peg$c422 = peg$literalExpectation("\uD835\uDF11", false), peg$c423 = "\uD835\uDF19", peg$c424 = peg$literalExpectation("\uD835\uDF19", false), peg$c425 = "\u03D5", peg$c426 = peg$literalExpectation("\u03D5", false), peg$c427 = "\u03C6", peg$c428 = peg$literalExpectation("\u03C6", false), peg$c429 = "EulerConstant", peg$c430 = peg$literalExpectation("EulerConstant", false), peg$c431 = function () { return 0.57721566490153286060; }, peg$c432 = "\u03B3", peg$c433 = peg$literalExpectation("\u03B3", false), peg$c434 = "\uD835\uDEFE", peg$c435 = peg$literalExpectation("\uD835\uDEFE", false), peg$c436 = peg$literalExpectation("e", true), peg$c437 = /^[+\-]/, peg$c438 = peg$classExpectation(["+", "-"], false, false), peg$c439 = "0x", peg$c440 = peg$literalExpectation("0x", true), peg$c441 = function (digits) {
332
333
  return parseInt(digits, 16);
@@ -432,7 +433,7 @@ function peg$parse(input, options) {
432
433
  return { key: 'state_property', name, value };
433
434
  }, peg$c1504 = "required", peg$c1505 = peg$literalExpectation("required", false), peg$c1506 = function (name, value) {
434
435
  return { key: 'state_property', name, value, required: true };
435
- }, peg$c1507 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1508 = "&", peg$c1509 = peg$literalExpectation("&", false), peg$c1510 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1511 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1512 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1513 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1514 = function (name) { return { key: 'property_definition', name }; }, peg$c1515 = "arrange", peg$c1516 = peg$literalExpectation("arrange", false), peg$c1517 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1518 = "arrange-start", peg$c1519 = peg$literalExpectation("arrange-start", false), peg$c1520 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1521 = "arrange-end", peg$c1522 = peg$literalExpectation("arrange-end", false), peg$c1523 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1524 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
436
+ }, peg$c1507 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1508 = "&", peg$c1509 = peg$literalExpectation("&", false), peg$c1510 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1511 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1512 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1513 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1514 = function (name) { return { key: 'property_definition', name }; }, peg$c1515 = "arrange", peg$c1516 = peg$literalExpectation("arrange", false), peg$c1517 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1518 = "arrange-start", peg$c1519 = peg$literalExpectation("arrange-start", false), peg$c1520 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1521 = "arrange-end", peg$c1522 = peg$literalExpectation("arrange-end", false), peg$c1523 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1524 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$resultsCache = {}, peg$result;
436
437
  if ("startRule" in options) {
437
438
  if (!(options.startRule in peg$startRuleFunctions)) {
438
439
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -526,6 +527,11 @@ function peg$parse(input, options) {
526
527
  }
527
528
  function peg$parseDocument() {
528
529
  var s0, s1, s2, s3;
530
+ var key = peg$currPos * 164 + 0, cached = peg$resultsCache[key];
531
+ if (cached) {
532
+ peg$currPos = cached.nextPos;
533
+ return cached.result;
534
+ }
529
535
  s0 = peg$currPos;
530
536
  s1 = peg$parseWS();
531
537
  if (s1 === peg$FAILED) {
@@ -557,10 +563,16 @@ function peg$parse(input, options) {
557
563
  peg$currPos = s0;
558
564
  s0 = peg$FAILED;
559
565
  }
566
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
560
567
  return s0;
561
568
  }
562
569
  function peg$parseTheme() {
563
570
  var s0;
571
+ var key = peg$currPos * 164 + 1, cached = peg$resultsCache[key];
572
+ if (cached) {
573
+ peg$currPos = cached.nextPos;
574
+ return cached.result;
575
+ }
564
576
  if (input.substr(peg$currPos, 7) === peg$c1) {
565
577
  s0 = peg$c1;
566
578
  peg$currPos += 7;
@@ -619,10 +631,16 @@ function peg$parse(input, options) {
619
631
  }
620
632
  }
621
633
  }
634
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
622
635
  return s0;
623
636
  }
624
637
  function peg$parseThemeOrThemeList() {
625
638
  var s0, s1, s2, s3, s4, s5, s6;
639
+ var key = peg$currPos * 164 + 2, cached = peg$resultsCache[key];
640
+ if (cached) {
641
+ peg$currPos = cached.nextPos;
642
+ return cached.result;
643
+ }
626
644
  s0 = peg$currPos;
627
645
  if (input.charCodeAt(peg$currPos) === 91) {
628
646
  s1 = peg$c11;
@@ -732,10 +750,16 @@ function peg$parse(input, options) {
732
750
  }
733
751
  s0 = s1;
734
752
  }
753
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
735
754
  return s0;
736
755
  }
737
756
  function peg$parseGvizShape() {
738
757
  var s0;
758
+ var key = peg$currPos * 164 + 3, cached = peg$resultsCache[key];
759
+ if (cached) {
760
+ peg$currPos = cached.nextPos;
761
+ return cached.result;
762
+ }
739
763
  if (input.substr(peg$currPos, 5) === peg$c17) {
740
764
  s0 = peg$c17;
741
765
  peg$currPos += 5;
@@ -1454,10 +1478,16 @@ function peg$parse(input, options) {
1454
1478
  }
1455
1479
  }
1456
1480
  }
1481
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1457
1482
  return s0;
1458
1483
  }
1459
1484
  function peg$parseForwardLightArrow() {
1460
1485
  var s0, s1;
1486
+ var key = peg$currPos * 164 + 4, cached = peg$resultsCache[key];
1487
+ if (cached) {
1488
+ peg$currPos = cached.nextPos;
1489
+ return cached.result;
1490
+ }
1461
1491
  peg$silentFails++;
1462
1492
  if (input.substr(peg$currPos, 2) === peg$c136) {
1463
1493
  s0 = peg$c136;
@@ -1494,10 +1524,16 @@ function peg$parse(input, options) {
1494
1524
  peg$fail(peg$c135);
1495
1525
  }
1496
1526
  }
1527
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1497
1528
  return s0;
1498
1529
  }
1499
1530
  function peg$parseTwoWayLightArrow() {
1500
1531
  var s0, s1;
1532
+ var key = peg$currPos * 164 + 5, cached = peg$resultsCache[key];
1533
+ if (cached) {
1534
+ peg$currPos = cached.nextPos;
1535
+ return cached.result;
1536
+ }
1501
1537
  peg$silentFails++;
1502
1538
  if (input.substr(peg$currPos, 3) === peg$c142) {
1503
1539
  s0 = peg$c142;
@@ -1534,10 +1570,16 @@ function peg$parse(input, options) {
1534
1570
  peg$fail(peg$c141);
1535
1571
  }
1536
1572
  }
1573
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1537
1574
  return s0;
1538
1575
  }
1539
1576
  function peg$parseBackLightArrow() {
1540
1577
  var s0, s1;
1578
+ var key = peg$currPos * 164 + 6, cached = peg$resultsCache[key];
1579
+ if (cached) {
1580
+ peg$currPos = cached.nextPos;
1581
+ return cached.result;
1582
+ }
1541
1583
  peg$silentFails++;
1542
1584
  if (input.substr(peg$currPos, 2) === peg$c148) {
1543
1585
  s0 = peg$c148;
@@ -1574,10 +1616,16 @@ function peg$parse(input, options) {
1574
1616
  peg$fail(peg$c147);
1575
1617
  }
1576
1618
  }
1619
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1577
1620
  return s0;
1578
1621
  }
1579
1622
  function peg$parseForwardFatArrow() {
1580
1623
  var s0, s1;
1624
+ var key = peg$currPos * 164 + 7, cached = peg$resultsCache[key];
1625
+ if (cached) {
1626
+ peg$currPos = cached.nextPos;
1627
+ return cached.result;
1628
+ }
1581
1629
  peg$silentFails++;
1582
1630
  if (input.substr(peg$currPos, 2) === peg$c154) {
1583
1631
  s0 = peg$c154;
@@ -1614,10 +1662,16 @@ function peg$parse(input, options) {
1614
1662
  peg$fail(peg$c153);
1615
1663
  }
1616
1664
  }
1665
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1617
1666
  return s0;
1618
1667
  }
1619
1668
  function peg$parseTwoWayFatArrow() {
1620
1669
  var s0, s1;
1670
+ var key = peg$currPos * 164 + 8, cached = peg$resultsCache[key];
1671
+ if (cached) {
1672
+ peg$currPos = cached.nextPos;
1673
+ return cached.result;
1674
+ }
1621
1675
  peg$silentFails++;
1622
1676
  if (input.substr(peg$currPos, 3) === peg$c160) {
1623
1677
  s0 = peg$c160;
@@ -1654,10 +1708,16 @@ function peg$parse(input, options) {
1654
1708
  peg$fail(peg$c159);
1655
1709
  }
1656
1710
  }
1711
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1657
1712
  return s0;
1658
1713
  }
1659
1714
  function peg$parseBackFatArrow() {
1660
1715
  var s0, s1;
1716
+ var key = peg$currPos * 164 + 9, cached = peg$resultsCache[key];
1717
+ if (cached) {
1718
+ peg$currPos = cached.nextPos;
1719
+ return cached.result;
1720
+ }
1661
1721
  peg$silentFails++;
1662
1722
  if (input.substr(peg$currPos, 2) === peg$c166) {
1663
1723
  s0 = peg$c166;
@@ -1694,10 +1754,16 @@ function peg$parse(input, options) {
1694
1754
  peg$fail(peg$c165);
1695
1755
  }
1696
1756
  }
1757
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1697
1758
  return s0;
1698
1759
  }
1699
1760
  function peg$parseForwardTildeArrow() {
1700
1761
  var s0, s1;
1762
+ var key = peg$currPos * 164 + 10, cached = peg$resultsCache[key];
1763
+ if (cached) {
1764
+ peg$currPos = cached.nextPos;
1765
+ return cached.result;
1766
+ }
1701
1767
  peg$silentFails++;
1702
1768
  if (input.substr(peg$currPos, 2) === peg$c172) {
1703
1769
  s0 = peg$c172;
@@ -1734,10 +1800,16 @@ function peg$parse(input, options) {
1734
1800
  peg$fail(peg$c171);
1735
1801
  }
1736
1802
  }
1803
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1737
1804
  return s0;
1738
1805
  }
1739
1806
  function peg$parseTwoWayTildeArrow() {
1740
1807
  var s0, s1;
1808
+ var key = peg$currPos * 164 + 11, cached = peg$resultsCache[key];
1809
+ if (cached) {
1810
+ peg$currPos = cached.nextPos;
1811
+ return cached.result;
1812
+ }
1741
1813
  peg$silentFails++;
1742
1814
  if (input.substr(peg$currPos, 3) === peg$c178) {
1743
1815
  s0 = peg$c178;
@@ -1774,10 +1846,16 @@ function peg$parse(input, options) {
1774
1846
  peg$fail(peg$c177);
1775
1847
  }
1776
1848
  }
1849
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1777
1850
  return s0;
1778
1851
  }
1779
1852
  function peg$parseBackTildeArrow() {
1780
1853
  var s0, s1;
1854
+ var key = peg$currPos * 164 + 12, cached = peg$resultsCache[key];
1855
+ if (cached) {
1856
+ peg$currPos = cached.nextPos;
1857
+ return cached.result;
1858
+ }
1781
1859
  peg$silentFails++;
1782
1860
  if (input.substr(peg$currPos, 2) === peg$c184) {
1783
1861
  s0 = peg$c184;
@@ -1814,10 +1892,16 @@ function peg$parse(input, options) {
1814
1892
  peg$fail(peg$c183);
1815
1893
  }
1816
1894
  }
1895
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1817
1896
  return s0;
1818
1897
  }
1819
1898
  function peg$parseLightFatArrow() {
1820
1899
  var s0, s1;
1900
+ var key = peg$currPos * 164 + 13, cached = peg$resultsCache[key];
1901
+ if (cached) {
1902
+ peg$currPos = cached.nextPos;
1903
+ return cached.result;
1904
+ }
1821
1905
  peg$silentFails++;
1822
1906
  if (input.substr(peg$currPos, 4) === peg$c190) {
1823
1907
  s0 = peg$c190;
@@ -1854,10 +1938,16 @@ function peg$parse(input, options) {
1854
1938
  peg$fail(peg$c189);
1855
1939
  }
1856
1940
  }
1941
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1857
1942
  return s0;
1858
1943
  }
1859
1944
  function peg$parseLightTildeArrow() {
1860
1945
  var s0, s1;
1946
+ var key = peg$currPos * 164 + 14, cached = peg$resultsCache[key];
1947
+ if (cached) {
1948
+ peg$currPos = cached.nextPos;
1949
+ return cached.result;
1950
+ }
1861
1951
  peg$silentFails++;
1862
1952
  if (input.substr(peg$currPos, 4) === peg$c196) {
1863
1953
  s0 = peg$c196;
@@ -1894,10 +1984,16 @@ function peg$parse(input, options) {
1894
1984
  peg$fail(peg$c195);
1895
1985
  }
1896
1986
  }
1987
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1897
1988
  return s0;
1898
1989
  }
1899
1990
  function peg$parseFatLightArrow() {
1900
1991
  var s0, s1;
1992
+ var key = peg$currPos * 164 + 15, cached = peg$resultsCache[key];
1993
+ if (cached) {
1994
+ peg$currPos = cached.nextPos;
1995
+ return cached.result;
1996
+ }
1901
1997
  peg$silentFails++;
1902
1998
  if (input.substr(peg$currPos, 4) === peg$c202) {
1903
1999
  s0 = peg$c202;
@@ -1934,10 +2030,16 @@ function peg$parse(input, options) {
1934
2030
  peg$fail(peg$c201);
1935
2031
  }
1936
2032
  }
2033
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1937
2034
  return s0;
1938
2035
  }
1939
2036
  function peg$parseFatTildeArrow() {
1940
2037
  var s0, s1;
2038
+ var key = peg$currPos * 164 + 16, cached = peg$resultsCache[key];
2039
+ if (cached) {
2040
+ peg$currPos = cached.nextPos;
2041
+ return cached.result;
2042
+ }
1941
2043
  peg$silentFails++;
1942
2044
  if (input.substr(peg$currPos, 4) === peg$c208) {
1943
2045
  s0 = peg$c208;
@@ -1974,10 +2076,16 @@ function peg$parse(input, options) {
1974
2076
  peg$fail(peg$c207);
1975
2077
  }
1976
2078
  }
2079
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1977
2080
  return s0;
1978
2081
  }
1979
2082
  function peg$parseTildeLightArrow() {
1980
2083
  var s0, s1;
2084
+ var key = peg$currPos * 164 + 17, cached = peg$resultsCache[key];
2085
+ if (cached) {
2086
+ peg$currPos = cached.nextPos;
2087
+ return cached.result;
2088
+ }
1981
2089
  peg$silentFails++;
1982
2090
  if (input.substr(peg$currPos, 4) === peg$c214) {
1983
2091
  s0 = peg$c214;
@@ -2014,10 +2122,16 @@ function peg$parse(input, options) {
2014
2122
  peg$fail(peg$c213);
2015
2123
  }
2016
2124
  }
2125
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2017
2126
  return s0;
2018
2127
  }
2019
2128
  function peg$parseTildeFatArrow() {
2020
2129
  var s0, s1;
2130
+ var key = peg$currPos * 164 + 18, cached = peg$resultsCache[key];
2131
+ if (cached) {
2132
+ peg$currPos = cached.nextPos;
2133
+ return cached.result;
2134
+ }
2021
2135
  peg$silentFails++;
2022
2136
  if (input.substr(peg$currPos, 4) === peg$c220) {
2023
2137
  s0 = peg$c220;
@@ -2054,10 +2168,16 @@ function peg$parse(input, options) {
2054
2168
  peg$fail(peg$c219);
2055
2169
  }
2056
2170
  }
2171
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2057
2172
  return s0;
2058
2173
  }
2059
2174
  function peg$parseLightArrow() {
2060
2175
  var s0;
2176
+ var key = peg$currPos * 164 + 19, cached = peg$resultsCache[key];
2177
+ if (cached) {
2178
+ peg$currPos = cached.nextPos;
2179
+ return cached.result;
2180
+ }
2061
2181
  peg$silentFails++;
2062
2182
  s0 = peg$parseForwardLightArrow();
2063
2183
  if (s0 === peg$FAILED) {
@@ -2072,10 +2192,16 @@ function peg$parse(input, options) {
2072
2192
  peg$fail(peg$c225);
2073
2193
  }
2074
2194
  }
2195
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2075
2196
  return s0;
2076
2197
  }
2077
2198
  function peg$parseFatArrow() {
2078
2199
  var s0;
2200
+ var key = peg$currPos * 164 + 20, cached = peg$resultsCache[key];
2201
+ if (cached) {
2202
+ peg$currPos = cached.nextPos;
2203
+ return cached.result;
2204
+ }
2079
2205
  peg$silentFails++;
2080
2206
  s0 = peg$parseForwardFatArrow();
2081
2207
  if (s0 === peg$FAILED) {
@@ -2090,10 +2216,16 @@ function peg$parse(input, options) {
2090
2216
  peg$fail(peg$c226);
2091
2217
  }
2092
2218
  }
2219
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2093
2220
  return s0;
2094
2221
  }
2095
2222
  function peg$parseTildeArrow() {
2096
2223
  var s0;
2224
+ var key = peg$currPos * 164 + 21, cached = peg$resultsCache[key];
2225
+ if (cached) {
2226
+ peg$currPos = cached.nextPos;
2227
+ return cached.result;
2228
+ }
2097
2229
  peg$silentFails++;
2098
2230
  s0 = peg$parseForwardTildeArrow();
2099
2231
  if (s0 === peg$FAILED) {
@@ -2108,10 +2240,16 @@ function peg$parse(input, options) {
2108
2240
  peg$fail(peg$c227);
2109
2241
  }
2110
2242
  }
2243
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2111
2244
  return s0;
2112
2245
  }
2113
2246
  function peg$parseMixedArrow() {
2114
2247
  var s0;
2248
+ var key = peg$currPos * 164 + 22, cached = peg$resultsCache[key];
2249
+ if (cached) {
2250
+ peg$currPos = cached.nextPos;
2251
+ return cached.result;
2252
+ }
2115
2253
  peg$silentFails++;
2116
2254
  s0 = peg$parseLightFatArrow();
2117
2255
  if (s0 === peg$FAILED) {
@@ -2135,10 +2273,16 @@ function peg$parse(input, options) {
2135
2273
  peg$fail(peg$c228);
2136
2274
  }
2137
2275
  }
2276
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2138
2277
  return s0;
2139
2278
  }
2140
2279
  function peg$parseArrow() {
2141
2280
  var s0;
2281
+ var key = peg$currPos * 164 + 23, cached = peg$resultsCache[key];
2282
+ if (cached) {
2283
+ peg$currPos = cached.nextPos;
2284
+ return cached.result;
2285
+ }
2142
2286
  peg$silentFails++;
2143
2287
  s0 = peg$parseMixedArrow();
2144
2288
  if (s0 === peg$FAILED) {
@@ -2156,10 +2300,16 @@ function peg$parse(input, options) {
2156
2300
  peg$fail(peg$c229);
2157
2301
  }
2158
2302
  }
2303
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2159
2304
  return s0;
2160
2305
  }
2161
2306
  function peg$parseBoolean() {
2162
2307
  var s0, s1;
2308
+ var key = peg$currPos * 164 + 24, cached = peg$resultsCache[key];
2309
+ if (cached) {
2310
+ peg$currPos = cached.nextPos;
2311
+ return cached.result;
2312
+ }
2163
2313
  s0 = peg$currPos;
2164
2314
  if (input.substr(peg$currPos, 4) === peg$c230) {
2165
2315
  s1 = peg$c230;
@@ -2194,10 +2344,16 @@ function peg$parse(input, options) {
2194
2344
  }
2195
2345
  s0 = s1;
2196
2346
  }
2347
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2197
2348
  return s0;
2198
2349
  }
2199
2350
  function peg$parseCorners() {
2200
2351
  var s0;
2352
+ var key = peg$currPos * 164 + 25, cached = peg$resultsCache[key];
2353
+ if (cached) {
2354
+ peg$currPos = cached.nextPos;
2355
+ return cached.result;
2356
+ }
2201
2357
  if (input.substr(peg$currPos, 7) === peg$c236) {
2202
2358
  s0 = peg$c236;
2203
2359
  peg$currPos += 7;
@@ -2232,10 +2388,16 @@ function peg$parse(input, options) {
2232
2388
  }
2233
2389
  }
2234
2390
  }
2391
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2235
2392
  return s0;
2236
2393
  }
2237
2394
  function peg$parseLineStyle() {
2238
2395
  var s0;
2396
+ var key = peg$currPos * 164 + 26, cached = peg$resultsCache[key];
2397
+ if (cached) {
2398
+ peg$currPos = cached.nextPos;
2399
+ return cached.result;
2400
+ }
2239
2401
  if (input.substr(peg$currPos, 5) === peg$c242) {
2240
2402
  s0 = peg$c242;
2241
2403
  peg$currPos += 5;
@@ -2270,10 +2432,16 @@ function peg$parse(input, options) {
2270
2432
  }
2271
2433
  }
2272
2434
  }
2435
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2273
2436
  return s0;
2274
2437
  }
2275
2438
  function peg$parseChar() {
2276
2439
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2440
+ var key = peg$currPos * 164 + 27, cached = peg$resultsCache[key];
2441
+ if (cached) {
2442
+ peg$currPos = cached.nextPos;
2443
+ return cached.result;
2444
+ }
2277
2445
  s0 = peg$parseUnescaped();
2278
2446
  if (s0 === peg$FAILED) {
2279
2447
  s0 = peg$currPos;
@@ -2502,10 +2670,16 @@ function peg$parse(input, options) {
2502
2670
  s0 = peg$FAILED;
2503
2671
  }
2504
2672
  }
2673
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2505
2674
  return s0;
2506
2675
  }
2507
2676
  function peg$parseNull() {
2508
2677
  var s0, s1;
2678
+ var key = peg$currPos * 164 + 28, cached = peg$resultsCache[key];
2679
+ if (cached) {
2680
+ peg$currPos = cached.nextPos;
2681
+ return cached.result;
2682
+ }
2509
2683
  s0 = peg$currPos;
2510
2684
  if (input.substr(peg$currPos, 4) === peg$c276) {
2511
2685
  s1 = peg$c276;
@@ -2522,10 +2696,16 @@ function peg$parse(input, options) {
2522
2696
  s1 = peg$c278();
2523
2697
  }
2524
2698
  s0 = s1;
2699
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2525
2700
  return s0;
2526
2701
  }
2527
2702
  function peg$parseUndefined() {
2528
2703
  var s0, s1;
2704
+ var key = peg$currPos * 164 + 29, cached = peg$resultsCache[key];
2705
+ if (cached) {
2706
+ peg$currPos = cached.nextPos;
2707
+ return cached.result;
2708
+ }
2529
2709
  s0 = peg$currPos;
2530
2710
  if (input.substr(peg$currPos, 9) === peg$c279) {
2531
2711
  s1 = peg$c279;
@@ -2542,10 +2722,16 @@ function peg$parse(input, options) {
2542
2722
  s1 = peg$c281();
2543
2723
  }
2544
2724
  s0 = s1;
2725
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2545
2726
  return s0;
2546
2727
  }
2547
2728
  function peg$parseEscape() {
2548
2729
  var s0;
2730
+ var key = peg$currPos * 164 + 30, cached = peg$resultsCache[key];
2731
+ if (cached) {
2732
+ peg$currPos = cached.nextPos;
2733
+ return cached.result;
2734
+ }
2549
2735
  if (input.charCodeAt(peg$currPos) === 92) {
2550
2736
  s0 = peg$c250;
2551
2737
  peg$currPos++;
@@ -2556,10 +2742,16 @@ function peg$parse(input, options) {
2556
2742
  peg$fail(peg$c251);
2557
2743
  }
2558
2744
  }
2745
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2559
2746
  return s0;
2560
2747
  }
2561
2748
  function peg$parseQuoteMark() {
2562
2749
  var s0;
2750
+ var key = peg$currPos * 164 + 31, cached = peg$resultsCache[key];
2751
+ if (cached) {
2752
+ peg$currPos = cached.nextPos;
2753
+ return cached.result;
2754
+ }
2563
2755
  if (input.charCodeAt(peg$currPos) === 34) {
2564
2756
  s0 = peg$c248;
2565
2757
  peg$currPos++;
@@ -2570,10 +2762,16 @@ function peg$parse(input, options) {
2570
2762
  peg$fail(peg$c249);
2571
2763
  }
2572
2764
  }
2765
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2573
2766
  return s0;
2574
2767
  }
2575
2768
  function peg$parseUnescaped() {
2576
2769
  var s0;
2770
+ var key = peg$currPos * 164 + 32, cached = peg$resultsCache[key];
2771
+ if (cached) {
2772
+ peg$currPos = cached.nextPos;
2773
+ return cached.result;
2774
+ }
2577
2775
  if (peg$c282.test(input.charAt(peg$currPos))) {
2578
2776
  s0 = input.charAt(peg$currPos);
2579
2777
  peg$currPos++;
@@ -2584,10 +2782,16 @@ function peg$parse(input, options) {
2584
2782
  peg$fail(peg$c283);
2585
2783
  }
2586
2784
  }
2785
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2587
2786
  return s0;
2588
2787
  }
2589
2788
  function peg$parseActionLabelChar() {
2590
2789
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2790
+ var key = peg$currPos * 164 + 33, cached = peg$resultsCache[key];
2791
+ if (cached) {
2792
+ peg$currPos = cached.nextPos;
2793
+ return cached.result;
2794
+ }
2591
2795
  s0 = peg$parseActionLabelUnescaped();
2592
2796
  if (s0 === peg$FAILED) {
2593
2797
  s0 = peg$currPos;
@@ -2816,10 +3020,16 @@ function peg$parse(input, options) {
2816
3020
  s0 = peg$FAILED;
2817
3021
  }
2818
3022
  }
3023
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2819
3024
  return s0;
2820
3025
  }
2821
3026
  function peg$parseActionLabelQuoteMark() {
2822
3027
  var s0;
3028
+ var key = peg$currPos * 164 + 34, cached = peg$resultsCache[key];
3029
+ if (cached) {
3030
+ peg$currPos = cached.nextPos;
3031
+ return cached.result;
3032
+ }
2823
3033
  if (input.charCodeAt(peg$currPos) === 39) {
2824
3034
  s0 = peg$c284;
2825
3035
  peg$currPos++;
@@ -2830,10 +3040,16 @@ function peg$parse(input, options) {
2830
3040
  peg$fail(peg$c285);
2831
3041
  }
2832
3042
  }
3043
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2833
3044
  return s0;
2834
3045
  }
2835
3046
  function peg$parseActionLabelUnescaped() {
2836
3047
  var s0;
3048
+ var key = peg$currPos * 164 + 35, cached = peg$resultsCache[key];
3049
+ if (cached) {
3050
+ peg$currPos = cached.nextPos;
3051
+ return cached.result;
3052
+ }
2837
3053
  if (peg$c286.test(input.charAt(peg$currPos))) {
2838
3054
  s0 = input.charAt(peg$currPos);
2839
3055
  peg$currPos++;
@@ -2844,10 +3060,16 @@ function peg$parse(input, options) {
2844
3060
  peg$fail(peg$c287);
2845
3061
  }
2846
3062
  }
3063
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2847
3064
  return s0;
2848
3065
  }
2849
3066
  function peg$parseActionLabel() {
2850
3067
  var s0, s1, s2, s3;
3068
+ var key = peg$currPos * 164 + 36, cached = peg$resultsCache[key];
3069
+ if (cached) {
3070
+ peg$currPos = cached.nextPos;
3071
+ return cached.result;
3072
+ }
2851
3073
  peg$silentFails++;
2852
3074
  s0 = peg$currPos;
2853
3075
  s1 = peg$parseActionLabelQuoteMark();
@@ -2886,10 +3108,16 @@ function peg$parse(input, options) {
2886
3108
  peg$fail(peg$c288);
2887
3109
  }
2888
3110
  }
3111
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2889
3112
  return s0;
2890
3113
  }
2891
3114
  function peg$parseLineTerminator() {
2892
3115
  var s0;
3116
+ var key = peg$currPos * 164 + 37, cached = peg$resultsCache[key];
3117
+ if (cached) {
3118
+ peg$currPos = cached.nextPos;
3119
+ return cached.result;
3120
+ }
2893
3121
  if (peg$c290.test(input.charAt(peg$currPos))) {
2894
3122
  s0 = input.charAt(peg$currPos);
2895
3123
  peg$currPos++;
@@ -2900,69 +3128,142 @@ function peg$parse(input, options) {
2900
3128
  peg$fail(peg$c291);
2901
3129
  }
2902
3130
  }
3131
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2903
3132
  return s0;
2904
3133
  }
2905
- function peg$parseBlockCommentTail() {
2906
- var s0, s1, s2;
2907
- if (input.substr(peg$currPos, 2) === peg$c292) {
2908
- s0 = peg$c292;
3134
+ function peg$parseBlockComment() {
3135
+ var s0, s1, s2, s3, s4, s5;
3136
+ var key = peg$currPos * 164 + 38, cached = peg$resultsCache[key];
3137
+ if (cached) {
3138
+ peg$currPos = cached.nextPos;
3139
+ return cached.result;
3140
+ }
3141
+ peg$silentFails++;
3142
+ s0 = peg$currPos;
3143
+ if (input.substr(peg$currPos, 2) === peg$c293) {
3144
+ s1 = peg$c293;
2909
3145
  peg$currPos += 2;
2910
3146
  }
2911
3147
  else {
2912
- s0 = peg$FAILED;
3148
+ s1 = peg$FAILED;
2913
3149
  if (peg$silentFails === 0) {
2914
- peg$fail(peg$c293);
3150
+ peg$fail(peg$c294);
2915
3151
  }
2916
3152
  }
2917
- if (s0 === peg$FAILED) {
2918
- s0 = peg$currPos;
2919
- if (input.length > peg$currPos) {
2920
- s1 = input.charAt(peg$currPos);
2921
- peg$currPos++;
3153
+ if (s1 !== peg$FAILED) {
3154
+ s2 = [];
3155
+ s3 = peg$currPos;
3156
+ s4 = peg$currPos;
3157
+ peg$silentFails++;
3158
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3159
+ s5 = peg$c295;
3160
+ peg$currPos += 2;
2922
3161
  }
2923
3162
  else {
2924
- s1 = peg$FAILED;
3163
+ s5 = peg$FAILED;
2925
3164
  if (peg$silentFails === 0) {
2926
- peg$fail(peg$c294);
3165
+ peg$fail(peg$c296);
2927
3166
  }
2928
3167
  }
2929
- if (s1 !== peg$FAILED) {
2930
- s2 = peg$parseBlockCommentTail();
2931
- if (s2 !== peg$FAILED) {
2932
- s1 = [s1, s2];
2933
- s0 = s1;
3168
+ peg$silentFails--;
3169
+ if (s5 === peg$FAILED) {
3170
+ s4 = void 0;
3171
+ }
3172
+ else {
3173
+ peg$currPos = s4;
3174
+ s4 = peg$FAILED;
3175
+ }
3176
+ if (s4 !== peg$FAILED) {
3177
+ if (input.length > peg$currPos) {
3178
+ s5 = input.charAt(peg$currPos);
3179
+ peg$currPos++;
2934
3180
  }
2935
3181
  else {
2936
- peg$currPos = s0;
2937
- s0 = peg$FAILED;
3182
+ s5 = peg$FAILED;
3183
+ if (peg$silentFails === 0) {
3184
+ peg$fail(peg$c297);
3185
+ }
3186
+ }
3187
+ if (s5 !== peg$FAILED) {
3188
+ s4 = [s4, s5];
3189
+ s3 = s4;
3190
+ }
3191
+ else {
3192
+ peg$currPos = s3;
3193
+ s3 = peg$FAILED;
2938
3194
  }
2939
3195
  }
2940
3196
  else {
2941
- peg$currPos = s0;
2942
- s0 = peg$FAILED;
3197
+ peg$currPos = s3;
3198
+ s3 = peg$FAILED;
2943
3199
  }
2944
- }
2945
- return s0;
2946
- }
2947
- function peg$parseBlockComment() {
2948
- var s0, s1, s2;
2949
- peg$silentFails++;
2950
- s0 = peg$currPos;
2951
- if (input.substr(peg$currPos, 2) === peg$c296) {
2952
- s1 = peg$c296;
2953
- peg$currPos += 2;
2954
- }
2955
- else {
2956
- s1 = peg$FAILED;
2957
- if (peg$silentFails === 0) {
2958
- peg$fail(peg$c297);
3200
+ while (s3 !== peg$FAILED) {
3201
+ s2.push(s3);
3202
+ s3 = peg$currPos;
3203
+ s4 = peg$currPos;
3204
+ peg$silentFails++;
3205
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3206
+ s5 = peg$c295;
3207
+ peg$currPos += 2;
3208
+ }
3209
+ else {
3210
+ s5 = peg$FAILED;
3211
+ if (peg$silentFails === 0) {
3212
+ peg$fail(peg$c296);
3213
+ }
3214
+ }
3215
+ peg$silentFails--;
3216
+ if (s5 === peg$FAILED) {
3217
+ s4 = void 0;
3218
+ }
3219
+ else {
3220
+ peg$currPos = s4;
3221
+ s4 = peg$FAILED;
3222
+ }
3223
+ if (s4 !== peg$FAILED) {
3224
+ if (input.length > peg$currPos) {
3225
+ s5 = input.charAt(peg$currPos);
3226
+ peg$currPos++;
3227
+ }
3228
+ else {
3229
+ s5 = peg$FAILED;
3230
+ if (peg$silentFails === 0) {
3231
+ peg$fail(peg$c297);
3232
+ }
3233
+ }
3234
+ if (s5 !== peg$FAILED) {
3235
+ s4 = [s4, s5];
3236
+ s3 = s4;
3237
+ }
3238
+ else {
3239
+ peg$currPos = s3;
3240
+ s3 = peg$FAILED;
3241
+ }
3242
+ }
3243
+ else {
3244
+ peg$currPos = s3;
3245
+ s3 = peg$FAILED;
3246
+ }
2959
3247
  }
2960
- }
2961
- if (s1 !== peg$FAILED) {
2962
- s2 = peg$parseBlockCommentTail();
2963
3248
  if (s2 !== peg$FAILED) {
2964
- s1 = [s1, s2];
2965
- s0 = s1;
3249
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3250
+ s3 = peg$c295;
3251
+ peg$currPos += 2;
3252
+ }
3253
+ else {
3254
+ s3 = peg$FAILED;
3255
+ if (peg$silentFails === 0) {
3256
+ peg$fail(peg$c296);
3257
+ }
3258
+ }
3259
+ if (s3 !== peg$FAILED) {
3260
+ s1 = [s1, s2, s3];
3261
+ s0 = s1;
3262
+ }
3263
+ else {
3264
+ peg$currPos = s0;
3265
+ s0 = peg$FAILED;
3266
+ }
2966
3267
  }
2967
3268
  else {
2968
3269
  peg$currPos = s0;
@@ -2977,13 +3278,19 @@ function peg$parse(input, options) {
2977
3278
  if (s0 === peg$FAILED) {
2978
3279
  s1 = peg$FAILED;
2979
3280
  if (peg$silentFails === 0) {
2980
- peg$fail(peg$c295);
3281
+ peg$fail(peg$c292);
2981
3282
  }
2982
3283
  }
3284
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2983
3285
  return s0;
2984
3286
  }
2985
3287
  function peg$parseEOF() {
2986
3288
  var s0, s1;
3289
+ var key = peg$currPos * 164 + 39, cached = peg$resultsCache[key];
3290
+ if (cached) {
3291
+ peg$currPos = cached.nextPos;
3292
+ return cached.result;
3293
+ }
2987
3294
  s0 = peg$currPos;
2988
3295
  peg$silentFails++;
2989
3296
  if (input.length > peg$currPos) {
@@ -2993,7 +3300,7 @@ function peg$parse(input, options) {
2993
3300
  else {
2994
3301
  s1 = peg$FAILED;
2995
3302
  if (peg$silentFails === 0) {
2996
- peg$fail(peg$c294);
3303
+ peg$fail(peg$c297);
2997
3304
  }
2998
3305
  }
2999
3306
  peg$silentFails--;
@@ -3004,46 +3311,16 @@ function peg$parse(input, options) {
3004
3311
  peg$currPos = s0;
3005
3312
  s0 = peg$FAILED;
3006
3313
  }
3007
- return s0;
3008
- }
3009
- function peg$parseLineCommentTail() {
3010
- var s0, s1, s2;
3011
- s0 = peg$parseLineTerminator();
3012
- if (s0 === peg$FAILED) {
3013
- s0 = peg$parseEOF();
3014
- if (s0 === peg$FAILED) {
3015
- s0 = peg$currPos;
3016
- if (input.length > peg$currPos) {
3017
- s1 = input.charAt(peg$currPos);
3018
- peg$currPos++;
3019
- }
3020
- else {
3021
- s1 = peg$FAILED;
3022
- if (peg$silentFails === 0) {
3023
- peg$fail(peg$c294);
3024
- }
3025
- }
3026
- if (s1 !== peg$FAILED) {
3027
- s2 = peg$parseLineCommentTail();
3028
- if (s2 !== peg$FAILED) {
3029
- s1 = [s1, s2];
3030
- s0 = s1;
3031
- }
3032
- else {
3033
- peg$currPos = s0;
3034
- s0 = peg$FAILED;
3035
- }
3036
- }
3037
- else {
3038
- peg$currPos = s0;
3039
- s0 = peg$FAILED;
3040
- }
3041
- }
3042
- }
3314
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3043
3315
  return s0;
3044
3316
  }
3045
3317
  function peg$parseLineComment() {
3046
- var s0, s1, s2;
3318
+ var s0, s1, s2, s3, s4, s5;
3319
+ var key = peg$currPos * 164 + 40, cached = peg$resultsCache[key];
3320
+ if (cached) {
3321
+ peg$currPos = cached.nextPos;
3322
+ return cached.result;
3323
+ }
3047
3324
  peg$silentFails++;
3048
3325
  s0 = peg$currPos;
3049
3326
  if (input.substr(peg$currPos, 2) === peg$c299) {
@@ -3057,10 +3334,95 @@ function peg$parse(input, options) {
3057
3334
  }
3058
3335
  }
3059
3336
  if (s1 !== peg$FAILED) {
3060
- s2 = peg$parseLineCommentTail();
3337
+ s2 = [];
3338
+ s3 = peg$currPos;
3339
+ s4 = peg$currPos;
3340
+ peg$silentFails++;
3341
+ s5 = peg$parseLineTerminator();
3342
+ peg$silentFails--;
3343
+ if (s5 === peg$FAILED) {
3344
+ s4 = void 0;
3345
+ }
3346
+ else {
3347
+ peg$currPos = s4;
3348
+ s4 = peg$FAILED;
3349
+ }
3350
+ if (s4 !== peg$FAILED) {
3351
+ if (input.length > peg$currPos) {
3352
+ s5 = input.charAt(peg$currPos);
3353
+ peg$currPos++;
3354
+ }
3355
+ else {
3356
+ s5 = peg$FAILED;
3357
+ if (peg$silentFails === 0) {
3358
+ peg$fail(peg$c297);
3359
+ }
3360
+ }
3361
+ if (s5 !== peg$FAILED) {
3362
+ s4 = [s4, s5];
3363
+ s3 = s4;
3364
+ }
3365
+ else {
3366
+ peg$currPos = s3;
3367
+ s3 = peg$FAILED;
3368
+ }
3369
+ }
3370
+ else {
3371
+ peg$currPos = s3;
3372
+ s3 = peg$FAILED;
3373
+ }
3374
+ while (s3 !== peg$FAILED) {
3375
+ s2.push(s3);
3376
+ s3 = peg$currPos;
3377
+ s4 = peg$currPos;
3378
+ peg$silentFails++;
3379
+ s5 = peg$parseLineTerminator();
3380
+ peg$silentFails--;
3381
+ if (s5 === peg$FAILED) {
3382
+ s4 = void 0;
3383
+ }
3384
+ else {
3385
+ peg$currPos = s4;
3386
+ s4 = peg$FAILED;
3387
+ }
3388
+ if (s4 !== peg$FAILED) {
3389
+ if (input.length > peg$currPos) {
3390
+ s5 = input.charAt(peg$currPos);
3391
+ peg$currPos++;
3392
+ }
3393
+ else {
3394
+ s5 = peg$FAILED;
3395
+ if (peg$silentFails === 0) {
3396
+ peg$fail(peg$c297);
3397
+ }
3398
+ }
3399
+ if (s5 !== peg$FAILED) {
3400
+ s4 = [s4, s5];
3401
+ s3 = s4;
3402
+ }
3403
+ else {
3404
+ peg$currPos = s3;
3405
+ s3 = peg$FAILED;
3406
+ }
3407
+ }
3408
+ else {
3409
+ peg$currPos = s3;
3410
+ s3 = peg$FAILED;
3411
+ }
3412
+ }
3061
3413
  if (s2 !== peg$FAILED) {
3062
- s1 = [s1, s2];
3063
- s0 = s1;
3414
+ s3 = peg$parseLineTerminator();
3415
+ if (s3 === peg$FAILED) {
3416
+ s3 = peg$parseEOF();
3417
+ }
3418
+ if (s3 !== peg$FAILED) {
3419
+ s1 = [s1, s2, s3];
3420
+ s0 = s1;
3421
+ }
3422
+ else {
3423
+ peg$currPos = s0;
3424
+ s0 = peg$FAILED;
3425
+ }
3064
3426
  }
3065
3427
  else {
3066
3428
  peg$currPos = s0;
@@ -3078,54 +3440,56 @@ function peg$parse(input, options) {
3078
3440
  peg$fail(peg$c298);
3079
3441
  }
3080
3442
  }
3443
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3081
3444
  return s0;
3082
3445
  }
3083
3446
  function peg$parseWS() {
3084
3447
  var s0, s1, s2;
3448
+ var key = peg$currPos * 164 + 41, cached = peg$resultsCache[key];
3449
+ if (cached) {
3450
+ peg$currPos = cached.nextPos;
3451
+ return cached.result;
3452
+ }
3085
3453
  peg$silentFails++;
3086
- s0 = peg$currPos;
3087
- s1 = peg$parseBlockComment();
3088
- if (s1 !== peg$FAILED) {
3089
- s2 = peg$parseWS();
3090
- if (s2 === peg$FAILED) {
3091
- s2 = null;
3092
- }
3093
- if (s2 !== peg$FAILED) {
3094
- s1 = [s1, s2];
3095
- s0 = s1;
3096
- }
3097
- else {
3098
- peg$currPos = s0;
3099
- s0 = peg$FAILED;
3100
- }
3454
+ s0 = [];
3455
+ s1 = [];
3456
+ if (peg$c302.test(input.charAt(peg$currPos))) {
3457
+ s2 = input.charAt(peg$currPos);
3458
+ peg$currPos++;
3101
3459
  }
3102
3460
  else {
3103
- peg$currPos = s0;
3104
- s0 = peg$FAILED;
3461
+ s2 = peg$FAILED;
3462
+ if (peg$silentFails === 0) {
3463
+ peg$fail(peg$c303);
3464
+ }
3105
3465
  }
3106
- if (s0 === peg$FAILED) {
3107
- s0 = peg$currPos;
3108
- s1 = peg$parseLineComment();
3109
- if (s1 !== peg$FAILED) {
3110
- s2 = peg$parseWS();
3111
- if (s2 === peg$FAILED) {
3112
- s2 = null;
3113
- }
3114
- if (s2 !== peg$FAILED) {
3115
- s1 = [s1, s2];
3116
- s0 = s1;
3466
+ if (s2 !== peg$FAILED) {
3467
+ while (s2 !== peg$FAILED) {
3468
+ s1.push(s2);
3469
+ if (peg$c302.test(input.charAt(peg$currPos))) {
3470
+ s2 = input.charAt(peg$currPos);
3471
+ peg$currPos++;
3117
3472
  }
3118
3473
  else {
3119
- peg$currPos = s0;
3120
- s0 = peg$FAILED;
3474
+ s2 = peg$FAILED;
3475
+ if (peg$silentFails === 0) {
3476
+ peg$fail(peg$c303);
3477
+ }
3121
3478
  }
3122
3479
  }
3123
- else {
3124
- peg$currPos = s0;
3125
- s0 = peg$FAILED;
3480
+ }
3481
+ else {
3482
+ s1 = peg$FAILED;
3483
+ }
3484
+ if (s1 === peg$FAILED) {
3485
+ s1 = peg$parseBlockComment();
3486
+ if (s1 === peg$FAILED) {
3487
+ s1 = peg$parseLineComment();
3126
3488
  }
3127
- if (s0 === peg$FAILED) {
3128
- s0 = peg$currPos;
3489
+ }
3490
+ if (s1 !== peg$FAILED) {
3491
+ while (s1 !== peg$FAILED) {
3492
+ s0.push(s1);
3129
3493
  s1 = [];
3130
3494
  if (peg$c302.test(input.charAt(peg$currPos))) {
3131
3495
  s2 = input.charAt(peg$currPos);
@@ -3155,26 +3519,17 @@ function peg$parse(input, options) {
3155
3519
  else {
3156
3520
  s1 = peg$FAILED;
3157
3521
  }
3158
- if (s1 !== peg$FAILED) {
3159
- s2 = peg$parseWS();
3160
- if (s2 === peg$FAILED) {
3161
- s2 = null;
3162
- }
3163
- if (s2 !== peg$FAILED) {
3164
- s1 = [s1, s2];
3165
- s0 = s1;
3166
- }
3167
- else {
3168
- peg$currPos = s0;
3169
- s0 = peg$FAILED;
3522
+ if (s1 === peg$FAILED) {
3523
+ s1 = peg$parseBlockComment();
3524
+ if (s1 === peg$FAILED) {
3525
+ s1 = peg$parseLineComment();
3170
3526
  }
3171
3527
  }
3172
- else {
3173
- peg$currPos = s0;
3174
- s0 = peg$FAILED;
3175
- }
3176
3528
  }
3177
3529
  }
3530
+ else {
3531
+ s0 = peg$FAILED;
3532
+ }
3178
3533
  peg$silentFails--;
3179
3534
  if (s0 === peg$FAILED) {
3180
3535
  s1 = peg$FAILED;
@@ -3182,10 +3537,16 @@ function peg$parse(input, options) {
3182
3537
  peg$fail(peg$c301);
3183
3538
  }
3184
3539
  }
3540
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3185
3541
  return s0;
3186
3542
  }
3187
3543
  function peg$parseString() {
3188
3544
  var s0, s1, s2, s3;
3545
+ var key = peg$currPos * 164 + 42, cached = peg$resultsCache[key];
3546
+ if (cached) {
3547
+ peg$currPos = cached.nextPos;
3548
+ return cached.result;
3549
+ }
3189
3550
  peg$silentFails++;
3190
3551
  s0 = peg$currPos;
3191
3552
  s1 = peg$parseQuoteMark();
@@ -3224,10 +3585,16 @@ function peg$parse(input, options) {
3224
3585
  peg$fail(peg$c304);
3225
3586
  }
3226
3587
  }
3588
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3227
3589
  return s0;
3228
3590
  }
3229
3591
  function peg$parseAtomFirstLetter() {
3230
3592
  var s0;
3593
+ var key = peg$currPos * 164 + 43, cached = peg$resultsCache[key];
3594
+ if (cached) {
3595
+ peg$currPos = cached.nextPos;
3596
+ return cached.result;
3597
+ }
3231
3598
  if (peg$c305.test(input.charAt(peg$currPos))) {
3232
3599
  s0 = input.charAt(peg$currPos);
3233
3600
  peg$currPos++;
@@ -3238,10 +3605,16 @@ function peg$parse(input, options) {
3238
3605
  peg$fail(peg$c306);
3239
3606
  }
3240
3607
  }
3608
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3241
3609
  return s0;
3242
3610
  }
3243
3611
  function peg$parseAtomLetter() {
3244
3612
  var s0;
3613
+ var key = peg$currPos * 164 + 44, cached = peg$resultsCache[key];
3614
+ if (cached) {
3615
+ peg$currPos = cached.nextPos;
3616
+ return cached.result;
3617
+ }
3245
3618
  if (peg$c307.test(input.charAt(peg$currPos))) {
3246
3619
  s0 = input.charAt(peg$currPos);
3247
3620
  peg$currPos++;
@@ -3252,10 +3625,16 @@ function peg$parse(input, options) {
3252
3625
  peg$fail(peg$c308);
3253
3626
  }
3254
3627
  }
3628
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3255
3629
  return s0;
3256
3630
  }
3257
3631
  function peg$parseAtom() {
3258
3632
  var s0, s1, s2, s3;
3633
+ var key = peg$currPos * 164 + 45, cached = peg$resultsCache[key];
3634
+ if (cached) {
3635
+ peg$currPos = cached.nextPos;
3636
+ return cached.result;
3637
+ }
3259
3638
  peg$silentFails++;
3260
3639
  s0 = peg$currPos;
3261
3640
  s1 = peg$parseAtomFirstLetter();
@@ -3287,10 +3666,16 @@ function peg$parse(input, options) {
3287
3666
  peg$fail(peg$c309);
3288
3667
  }
3289
3668
  }
3669
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3290
3670
  return s0;
3291
3671
  }
3292
3672
  function peg$parseLabel() {
3293
3673
  var s0;
3674
+ var key = peg$currPos * 164 + 46, cached = peg$resultsCache[key];
3675
+ if (cached) {
3676
+ peg$currPos = cached.nextPos;
3677
+ return cached.result;
3678
+ }
3294
3679
  peg$silentFails++;
3295
3680
  s0 = peg$parseAtom();
3296
3681
  if (s0 === peg$FAILED) {
@@ -3302,10 +3687,16 @@ function peg$parse(input, options) {
3302
3687
  peg$fail(peg$c311);
3303
3688
  }
3304
3689
  }
3690
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3305
3691
  return s0;
3306
3692
  }
3307
3693
  function peg$parseIntegerLiteral() {
3308
3694
  var s0, s1, s2, s3, s4;
3695
+ var key = peg$currPos * 164 + 47, cached = peg$resultsCache[key];
3696
+ if (cached) {
3697
+ peg$currPos = cached.nextPos;
3698
+ return cached.result;
3699
+ }
3309
3700
  s0 = peg$currPos;
3310
3701
  if (input.charCodeAt(peg$currPos) === 48) {
3311
3702
  s1 = peg$c312;
@@ -3347,10 +3738,16 @@ function peg$parse(input, options) {
3347
3738
  else {
3348
3739
  s0 = s1;
3349
3740
  }
3741
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3350
3742
  return s0;
3351
3743
  }
3352
3744
  function peg$parseDecimalDigit() {
3353
3745
  var s0;
3746
+ var key = peg$currPos * 164 + 48, cached = peg$resultsCache[key];
3747
+ if (cached) {
3748
+ peg$currPos = cached.nextPos;
3749
+ return cached.result;
3750
+ }
3354
3751
  if (peg$c314.test(input.charAt(peg$currPos))) {
3355
3752
  s0 = input.charAt(peg$currPos);
3356
3753
  peg$currPos++;
@@ -3361,10 +3758,16 @@ function peg$parse(input, options) {
3361
3758
  peg$fail(peg$c315);
3362
3759
  }
3363
3760
  }
3761
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3364
3762
  return s0;
3365
3763
  }
3366
3764
  function peg$parseNonZeroDigit() {
3367
3765
  var s0;
3766
+ var key = peg$currPos * 164 + 49, cached = peg$resultsCache[key];
3767
+ if (cached) {
3768
+ peg$currPos = cached.nextPos;
3769
+ return cached.result;
3770
+ }
3368
3771
  if (peg$c316.test(input.charAt(peg$currPos))) {
3369
3772
  s0 = input.charAt(peg$currPos);
3370
3773
  peg$currPos++;
@@ -3375,10 +3778,16 @@ function peg$parse(input, options) {
3375
3778
  peg$fail(peg$c317);
3376
3779
  }
3377
3780
  }
3781
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3378
3782
  return s0;
3379
3783
  }
3380
3784
  function peg$parseHexDigit() {
3381
3785
  var s0;
3786
+ var key = peg$currPos * 164 + 50, cached = peg$resultsCache[key];
3787
+ if (cached) {
3788
+ peg$currPos = cached.nextPos;
3789
+ return cached.result;
3790
+ }
3382
3791
  if (peg$c318.test(input.charAt(peg$currPos))) {
3383
3792
  s0 = input.charAt(peg$currPos);
3384
3793
  peg$currPos++;
@@ -3389,10 +3798,16 @@ function peg$parse(input, options) {
3389
3798
  peg$fail(peg$c319);
3390
3799
  }
3391
3800
  }
3801
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3392
3802
  return s0;
3393
3803
  }
3394
3804
  function peg$parseBinaryDigit() {
3395
3805
  var s0;
3806
+ var key = peg$currPos * 164 + 51, cached = peg$resultsCache[key];
3807
+ if (cached) {
3808
+ peg$currPos = cached.nextPos;
3809
+ return cached.result;
3810
+ }
3396
3811
  if (peg$c320.test(input.charAt(peg$currPos))) {
3397
3812
  s0 = input.charAt(peg$currPos);
3398
3813
  peg$currPos++;
@@ -3403,10 +3818,16 @@ function peg$parse(input, options) {
3403
3818
  peg$fail(peg$c321);
3404
3819
  }
3405
3820
  }
3821
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3406
3822
  return s0;
3407
3823
  }
3408
3824
  function peg$parseOctalDigit() {
3409
3825
  var s0;
3826
+ var key = peg$currPos * 164 + 52, cached = peg$resultsCache[key];
3827
+ if (cached) {
3828
+ peg$currPos = cached.nextPos;
3829
+ return cached.result;
3830
+ }
3410
3831
  if (peg$c322.test(input.charAt(peg$currPos))) {
3411
3832
  s0 = input.charAt(peg$currPos);
3412
3833
  peg$currPos++;
@@ -3417,10 +3838,16 @@ function peg$parse(input, options) {
3417
3838
  peg$fail(peg$c323);
3418
3839
  }
3419
3840
  }
3841
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3420
3842
  return s0;
3421
3843
  }
3422
3844
  function peg$parseNonNegNumber() {
3423
3845
  var s0, s1, s2, s3, s4;
3846
+ var key = peg$currPos * 164 + 53, cached = peg$resultsCache[key];
3847
+ if (cached) {
3848
+ peg$currPos = cached.nextPos;
3849
+ return cached.result;
3850
+ }
3424
3851
  peg$silentFails++;
3425
3852
  s0 = peg$currPos;
3426
3853
  s1 = peg$parseIntegerLiteral();
@@ -3501,10 +3928,16 @@ function peg$parse(input, options) {
3501
3928
  peg$fail(peg$c324);
3502
3929
  }
3503
3930
  }
3931
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3504
3932
  return s0;
3505
3933
  }
3506
3934
  function peg$parseJsNumericLiteral() {
3507
3935
  var s0, s1;
3936
+ var key = peg$currPos * 164 + 54, cached = peg$resultsCache[key];
3937
+ if (cached) {
3938
+ peg$currPos = cached.nextPos;
3939
+ return cached.result;
3940
+ }
3508
3941
  peg$silentFails++;
3509
3942
  s0 = peg$currPos;
3510
3943
  s1 = peg$parseJsHexIntegerLiteral();
@@ -4339,10 +4772,16 @@ function peg$parse(input, options) {
4339
4772
  peg$fail(peg$c328);
4340
4773
  }
4341
4774
  }
4775
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4342
4776
  return s0;
4343
4777
  }
4344
4778
  function peg$parseJsDecimalLiteral() {
4345
4779
  var s0, s1, s2, s3, s4;
4780
+ var key = peg$currPos * 164 + 55, cached = peg$resultsCache[key];
4781
+ if (cached) {
4782
+ peg$currPos = cached.nextPos;
4783
+ return cached.result;
4784
+ }
4346
4785
  s0 = peg$currPos;
4347
4786
  s1 = peg$parseJsDecimalIntegerLiteral();
4348
4787
  if (s1 !== peg$FAILED) {
@@ -4464,10 +4903,16 @@ function peg$parse(input, options) {
4464
4903
  }
4465
4904
  }
4466
4905
  }
4906
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4467
4907
  return s0;
4468
4908
  }
4469
4909
  function peg$parseJsDecimalIntegerLiteral() {
4470
4910
  var s0, s1, s2, s3;
4911
+ var key = peg$currPos * 164 + 56, cached = peg$resultsCache[key];
4912
+ if (cached) {
4913
+ peg$currPos = cached.nextPos;
4914
+ return cached.result;
4915
+ }
4471
4916
  if (input.charCodeAt(peg$currPos) === 48) {
4472
4917
  s0 = peg$c312;
4473
4918
  peg$currPos++;
@@ -4502,10 +4947,16 @@ function peg$parse(input, options) {
4502
4947
  s0 = peg$FAILED;
4503
4948
  }
4504
4949
  }
4950
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4505
4951
  return s0;
4506
4952
  }
4507
4953
  function peg$parseJsNExponentPart() {
4508
4954
  var s0, s1, s2;
4955
+ var key = peg$currPos * 164 + 57, cached = peg$resultsCache[key];
4956
+ if (cached) {
4957
+ peg$currPos = cached.nextPos;
4958
+ return cached.result;
4959
+ }
4509
4960
  s0 = peg$currPos;
4510
4961
  s1 = peg$parseJsNExponentIndicator();
4511
4962
  if (s1 !== peg$FAILED) {
@@ -4523,10 +4974,16 @@ function peg$parse(input, options) {
4523
4974
  peg$currPos = s0;
4524
4975
  s0 = peg$FAILED;
4525
4976
  }
4977
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4526
4978
  return s0;
4527
4979
  }
4528
4980
  function peg$parseJsNExponentIndicator() {
4529
4981
  var s0;
4982
+ var key = peg$currPos * 164 + 58, cached = peg$resultsCache[key];
4983
+ if (cached) {
4984
+ peg$currPos = cached.nextPos;
4985
+ return cached.result;
4986
+ }
4530
4987
  if (input.substr(peg$currPos, 1).toLowerCase() === peg$c378) {
4531
4988
  s0 = input.charAt(peg$currPos);
4532
4989
  peg$currPos++;
@@ -4537,10 +4994,16 @@ function peg$parse(input, options) {
4537
4994
  peg$fail(peg$c436);
4538
4995
  }
4539
4996
  }
4997
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4540
4998
  return s0;
4541
4999
  }
4542
5000
  function peg$parseJsNSignedInteger() {
4543
5001
  var s0, s1, s2, s3;
5002
+ var key = peg$currPos * 164 + 59, cached = peg$resultsCache[key];
5003
+ if (cached) {
5004
+ peg$currPos = cached.nextPos;
5005
+ return cached.result;
5006
+ }
4544
5007
  s0 = peg$currPos;
4545
5008
  if (peg$c437.test(input.charAt(peg$currPos))) {
4546
5009
  s1 = input.charAt(peg$currPos);
@@ -4580,10 +5043,16 @@ function peg$parse(input, options) {
4580
5043
  peg$currPos = s0;
4581
5044
  s0 = peg$FAILED;
4582
5045
  }
5046
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4583
5047
  return s0;
4584
5048
  }
4585
5049
  function peg$parseJsHexIntegerLiteral() {
4586
5050
  var s0, s1, s2, s3, s4;
5051
+ var key = peg$currPos * 164 + 60, cached = peg$resultsCache[key];
5052
+ if (cached) {
5053
+ peg$currPos = cached.nextPos;
5054
+ return cached.result;
5055
+ }
4587
5056
  s0 = peg$currPos;
4588
5057
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c439) {
4589
5058
  s1 = input.substr(peg$currPos, 2);
@@ -4628,10 +5097,16 @@ function peg$parse(input, options) {
4628
5097
  peg$currPos = s0;
4629
5098
  s0 = peg$FAILED;
4630
5099
  }
5100
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4631
5101
  return s0;
4632
5102
  }
4633
5103
  function peg$parseJsBinaryIntegerLiteral() {
4634
5104
  var s0, s1, s2, s3, s4;
5105
+ var key = peg$currPos * 164 + 61, cached = peg$resultsCache[key];
5106
+ if (cached) {
5107
+ peg$currPos = cached.nextPos;
5108
+ return cached.result;
5109
+ }
4635
5110
  s0 = peg$currPos;
4636
5111
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c442) {
4637
5112
  s1 = input.substr(peg$currPos, 2);
@@ -4676,10 +5151,16 @@ function peg$parse(input, options) {
4676
5151
  peg$currPos = s0;
4677
5152
  s0 = peg$FAILED;
4678
5153
  }
5154
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4679
5155
  return s0;
4680
5156
  }
4681
5157
  function peg$parseNonJsOctalIntegerLiteral() {
4682
5158
  var s0, s1, s2, s3, s4;
5159
+ var key = peg$currPos * 164 + 62, cached = peg$resultsCache[key];
5160
+ if (cached) {
5161
+ peg$currPos = cached.nextPos;
5162
+ return cached.result;
5163
+ }
4683
5164
  s0 = peg$currPos;
4684
5165
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c445) {
4685
5166
  s1 = input.substr(peg$currPos, 2);
@@ -4724,10 +5205,16 @@ function peg$parse(input, options) {
4724
5205
  peg$currPos = s0;
4725
5206
  s0 = peg$FAILED;
4726
5207
  }
5208
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4727
5209
  return s0;
4728
5210
  }
4729
5211
  function peg$parseSemVer() {
4730
5212
  var s0, s1, s2, s3, s4, s5;
5213
+ var key = peg$currPos * 164 + 63, cached = peg$resultsCache[key];
5214
+ if (cached) {
5215
+ peg$currPos = cached.nextPos;
5216
+ return cached.result;
5217
+ }
4731
5218
  s0 = peg$currPos;
4732
5219
  s1 = peg$parseIntegerLiteral();
4733
5220
  if (s1 !== peg$FAILED) {
@@ -4785,10 +5272,16 @@ function peg$parse(input, options) {
4785
5272
  peg$currPos = s0;
4786
5273
  s0 = peg$FAILED;
4787
5274
  }
5275
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4788
5276
  return s0;
4789
5277
  }
4790
5278
  function peg$parseUrlProtocol() {
4791
5279
  var s0;
5280
+ var key = peg$currPos * 164 + 67, cached = peg$resultsCache[key];
5281
+ if (cached) {
5282
+ peg$currPos = cached.nextPos;
5283
+ return cached.result;
5284
+ }
4792
5285
  if (input.substr(peg$currPos, 7) === peg$c459) {
4793
5286
  s0 = peg$c459;
4794
5287
  peg$currPos += 7;
@@ -4811,10 +5304,16 @@ function peg$parse(input, options) {
4811
5304
  }
4812
5305
  }
4813
5306
  }
5307
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4814
5308
  return s0;
4815
5309
  }
4816
5310
  function peg$parseURL() {
4817
5311
  var s0, s1, s2, s3;
5312
+ var key = peg$currPos * 164 + 68, cached = peg$resultsCache[key];
5313
+ if (cached) {
5314
+ peg$currPos = cached.nextPos;
5315
+ return cached.result;
5316
+ }
4818
5317
  s0 = peg$currPos;
4819
5318
  s1 = peg$parseUrlProtocol();
4820
5319
  if (s1 !== peg$FAILED) {
@@ -4861,10 +5360,16 @@ function peg$parse(input, options) {
4861
5360
  peg$currPos = s0;
4862
5361
  s0 = peg$FAILED;
4863
5362
  }
5363
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4864
5364
  return s0;
4865
5365
  }
4866
5366
  function peg$parseSvgColorLabel() {
4867
5367
  var s0, s1;
5368
+ var key = peg$currPos * 164 + 69, cached = peg$resultsCache[key];
5369
+ if (cached) {
5370
+ peg$currPos = cached.nextPos;
5371
+ return cached.result;
5372
+ }
4868
5373
  s0 = peg$currPos;
4869
5374
  if (input.substr(peg$currPos, 9) === peg$c466) {
4870
5375
  s1 = peg$c466;
@@ -10155,10 +10660,16 @@ function peg$parse(input, options) {
10155
10660
  }
10156
10661
  }
10157
10662
  }
10663
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10158
10664
  return s0;
10159
10665
  }
10160
10666
  function peg$parseSvgColor() {
10161
10667
  var s0, s1, s2;
10668
+ var key = peg$currPos * 164 + 70, cached = peg$resultsCache[key];
10669
+ if (cached) {
10670
+ peg$currPos = cached.nextPos;
10671
+ return cached.result;
10672
+ }
10162
10673
  s0 = peg$currPos;
10163
10674
  s1 = peg$parseSvgColorLabel();
10164
10675
  if (s1 !== peg$FAILED) {
@@ -10180,10 +10691,16 @@ function peg$parse(input, options) {
10180
10691
  peg$currPos = s0;
10181
10692
  s0 = peg$FAILED;
10182
10693
  }
10694
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10183
10695
  return s0;
10184
10696
  }
10185
10697
  function peg$parseRgb3() {
10186
10698
  var s0, s1, s2, s3, s4, s5;
10699
+ var key = peg$currPos * 164 + 71, cached = peg$resultsCache[key];
10700
+ if (cached) {
10701
+ peg$currPos = cached.nextPos;
10702
+ return cached.result;
10703
+ }
10187
10704
  s0 = peg$currPos;
10188
10705
  if (input.charCodeAt(peg$currPos) === 35) {
10189
10706
  s1 = peg$c1193;
@@ -10235,10 +10752,16 @@ function peg$parse(input, options) {
10235
10752
  peg$currPos = s0;
10236
10753
  s0 = peg$FAILED;
10237
10754
  }
10755
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10238
10756
  return s0;
10239
10757
  }
10240
10758
  function peg$parseRgb6() {
10241
10759
  var s0, s1, s2, s3, s4, s5, s6, s7, s8;
10760
+ var key = peg$currPos * 164 + 72, cached = peg$resultsCache[key];
10761
+ if (cached) {
10762
+ peg$currPos = cached.nextPos;
10763
+ return cached.result;
10764
+ }
10242
10765
  s0 = peg$currPos;
10243
10766
  if (input.charCodeAt(peg$currPos) === 35) {
10244
10767
  s1 = peg$c1193;
@@ -10311,10 +10834,16 @@ function peg$parse(input, options) {
10311
10834
  peg$currPos = s0;
10312
10835
  s0 = peg$FAILED;
10313
10836
  }
10837
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10314
10838
  return s0;
10315
10839
  }
10316
10840
  function peg$parseRgba4() {
10317
10841
  var s0, s1, s2, s3, s4, s5, s6;
10842
+ var key = peg$currPos * 164 + 73, cached = peg$resultsCache[key];
10843
+ if (cached) {
10844
+ peg$currPos = cached.nextPos;
10845
+ return cached.result;
10846
+ }
10318
10847
  s0 = peg$currPos;
10319
10848
  if (input.charCodeAt(peg$currPos) === 35) {
10320
10849
  s1 = peg$c1193;
@@ -10373,10 +10902,16 @@ function peg$parse(input, options) {
10373
10902
  peg$currPos = s0;
10374
10903
  s0 = peg$FAILED;
10375
10904
  }
10905
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10376
10906
  return s0;
10377
10907
  }
10378
10908
  function peg$parseRgba8() {
10379
10909
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
10910
+ var key = peg$currPos * 164 + 74, cached = peg$resultsCache[key];
10911
+ if (cached) {
10912
+ peg$currPos = cached.nextPos;
10913
+ return cached.result;
10914
+ }
10380
10915
  s0 = peg$currPos;
10381
10916
  if (input.charCodeAt(peg$currPos) === 35) {
10382
10917
  s1 = peg$c1193;
@@ -10463,10 +10998,16 @@ function peg$parse(input, options) {
10463
10998
  peg$currPos = s0;
10464
10999
  s0 = peg$FAILED;
10465
11000
  }
11001
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10466
11002
  return s0;
10467
11003
  }
10468
11004
  function peg$parseColor() {
10469
11005
  var s0;
11006
+ var key = peg$currPos * 164 + 75, cached = peg$resultsCache[key];
11007
+ if (cached) {
11008
+ peg$currPos = cached.nextPos;
11009
+ return cached.result;
11010
+ }
10470
11011
  peg$silentFails++;
10471
11012
  s0 = peg$parseSvgColor();
10472
11013
  if (s0 === peg$FAILED) {
@@ -10487,10 +11028,16 @@ function peg$parse(input, options) {
10487
11028
  peg$fail(peg$c1199);
10488
11029
  }
10489
11030
  }
11031
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10490
11032
  return s0;
10491
11033
  }
10492
11034
  function peg$parseArrowItemKey() {
10493
11035
  var s0;
11036
+ var key = peg$currPos * 164 + 76, cached = peg$resultsCache[key];
11037
+ if (cached) {
11038
+ peg$currPos = cached.nextPos;
11039
+ return cached.result;
11040
+ }
10494
11041
  if (input.substr(peg$currPos, 9) === peg$c1200) {
10495
11042
  s0 = peg$c1200;
10496
11043
  peg$currPos += 9;
@@ -10525,10 +11072,16 @@ function peg$parse(input, options) {
10525
11072
  }
10526
11073
  }
10527
11074
  }
11075
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10528
11076
  return s0;
10529
11077
  }
10530
11078
  function peg$parseArrowItem() {
10531
11079
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11080
+ var key = peg$currPos * 164 + 77, cached = peg$resultsCache[key];
11081
+ if (cached) {
11082
+ peg$currPos = cached.nextPos;
11083
+ return cached.result;
11084
+ }
10532
11085
  s0 = peg$currPos;
10533
11086
  s1 = peg$parseWS();
10534
11087
  if (s1 === peg$FAILED) {
@@ -10629,10 +11182,16 @@ function peg$parse(input, options) {
10629
11182
  peg$currPos = s0;
10630
11183
  s0 = peg$FAILED;
10631
11184
  }
11185
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10632
11186
  return s0;
10633
11187
  }
10634
11188
  function peg$parseSingleEdgeColor() {
10635
11189
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11190
+ var key = peg$currPos * 164 + 78, cached = peg$resultsCache[key];
11191
+ if (cached) {
11192
+ peg$currPos = cached.nextPos;
11193
+ return cached.result;
11194
+ }
10636
11195
  peg$silentFails++;
10637
11196
  s0 = peg$currPos;
10638
11197
  s1 = peg$parseWS();
@@ -10861,10 +11420,16 @@ function peg$parse(input, options) {
10861
11420
  peg$fail(peg$c1211);
10862
11421
  }
10863
11422
  }
11423
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10864
11424
  return s0;
10865
11425
  }
10866
11426
  function peg$parseTransitionLineStyle() {
10867
11427
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11428
+ var key = peg$currPos * 164 + 79, cached = peg$resultsCache[key];
11429
+ if (cached) {
11430
+ peg$currPos = cached.nextPos;
11431
+ return cached.result;
11432
+ }
10868
11433
  peg$silentFails++;
10869
11434
  s0 = peg$currPos;
10870
11435
  s1 = peg$parseWS();
@@ -10982,10 +11547,16 @@ function peg$parse(input, options) {
10982
11547
  peg$fail(peg$c1217);
10983
11548
  }
10984
11549
  }
11550
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10985
11551
  return s0;
10986
11552
  }
10987
11553
  function peg$parseArrowItems() {
10988
11554
  var s0, s1;
11555
+ var key = peg$currPos * 164 + 80, cached = peg$resultsCache[key];
11556
+ if (cached) {
11557
+ peg$currPos = cached.nextPos;
11558
+ return cached.result;
11559
+ }
10989
11560
  s0 = peg$parseSingleEdgeColor();
10990
11561
  if (s0 === peg$FAILED) {
10991
11562
  s0 = peg$parseTransitionLineStyle();
@@ -11003,10 +11574,16 @@ function peg$parse(input, options) {
11003
11574
  }
11004
11575
  }
11005
11576
  }
11577
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11006
11578
  return s0;
11007
11579
  }
11008
11580
  function peg$parseArrowDesc() {
11009
11581
  var s0, s1, s2, s3, s4, s5;
11582
+ var key = peg$currPos * 164 + 81, cached = peg$resultsCache[key];
11583
+ if (cached) {
11584
+ peg$currPos = cached.nextPos;
11585
+ return cached.result;
11586
+ }
11010
11587
  s0 = peg$currPos;
11011
11588
  if (input.charCodeAt(peg$currPos) === 123) {
11012
11589
  s1 = peg$c1221;
@@ -11073,10 +11650,16 @@ function peg$parse(input, options) {
11073
11650
  peg$currPos = s0;
11074
11651
  s0 = peg$FAILED;
11075
11652
  }
11653
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11076
11654
  return s0;
11077
11655
  }
11078
11656
  function peg$parseArrowProbability() {
11079
11657
  var s0, s1, s2;
11658
+ var key = peg$currPos * 164 + 82, cached = peg$resultsCache[key];
11659
+ if (cached) {
11660
+ peg$currPos = cached.nextPos;
11661
+ return cached.result;
11662
+ }
11080
11663
  s0 = peg$currPos;
11081
11664
  s1 = peg$parseNonNegNumber();
11082
11665
  if (s1 !== peg$FAILED) {
@@ -11104,10 +11687,16 @@ function peg$parse(input, options) {
11104
11687
  peg$currPos = s0;
11105
11688
  s0 = peg$FAILED;
11106
11689
  }
11690
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11107
11691
  return s0;
11108
11692
  }
11109
11693
  function peg$parseTimeType() {
11110
11694
  var s0, s1;
11695
+ var key = peg$currPos * 164 + 83, cached = peg$resultsCache[key];
11696
+ if (cached) {
11697
+ peg$currPos = cached.nextPos;
11698
+ return cached.result;
11699
+ }
11111
11700
  s0 = peg$currPos;
11112
11701
  if (input.substr(peg$currPos, 12) === peg$c1229) {
11113
11702
  s1 = peg$c1229;
@@ -11610,10 +12199,16 @@ function peg$parse(input, options) {
11610
12199
  }
11611
12200
  }
11612
12201
  }
12202
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11613
12203
  return s0;
11614
12204
  }
11615
12205
  function peg$parseArrowAfter() {
11616
12206
  var s0, s1, s2, s3, s4, s5;
12207
+ var key = peg$currPos * 164 + 84, cached = peg$resultsCache[key];
12208
+ if (cached) {
12209
+ peg$currPos = cached.nextPos;
12210
+ return cached.result;
12211
+ }
11617
12212
  s0 = peg$currPos;
11618
12213
  if (input.substr(peg$currPos, 5) === peg$c1291) {
11619
12214
  s1 = peg$c1291;
@@ -11668,10 +12263,16 @@ function peg$parse(input, options) {
11668
12263
  peg$currPos = s0;
11669
12264
  s0 = peg$FAILED;
11670
12265
  }
12266
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11671
12267
  return s0;
11672
12268
  }
11673
12269
  function peg$parseLabelList() {
11674
12270
  var s0, s1, s2, s3, s4, s5, s6;
12271
+ var key = peg$currPos * 164 + 85, cached = peg$resultsCache[key];
12272
+ if (cached) {
12273
+ peg$currPos = cached.nextPos;
12274
+ return cached.result;
12275
+ }
11675
12276
  s0 = peg$currPos;
11676
12277
  if (input.charCodeAt(peg$currPos) === 91) {
11677
12278
  s1 = peg$c11;
@@ -11768,18 +12369,30 @@ function peg$parse(input, options) {
11768
12369
  peg$currPos = s0;
11769
12370
  s0 = peg$FAILED;
11770
12371
  }
12372
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11771
12373
  return s0;
11772
12374
  }
11773
12375
  function peg$parseLabelOrLabelList() {
11774
12376
  var s0;
12377
+ var key = peg$currPos * 164 + 86, cached = peg$resultsCache[key];
12378
+ if (cached) {
12379
+ peg$currPos = cached.nextPos;
12380
+ return cached.result;
12381
+ }
11775
12382
  s0 = peg$parseLabelList();
11776
12383
  if (s0 === peg$FAILED) {
11777
12384
  s0 = peg$parseLabel();
11778
12385
  }
12386
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11779
12387
  return s0;
11780
12388
  }
11781
12389
  function peg$parseStripe() {
11782
12390
  var s0, s1, s2, s3, s4, s5, s6;
12391
+ var key = peg$currPos * 164 + 87, cached = peg$resultsCache[key];
12392
+ if (cached) {
12393
+ peg$currPos = cached.nextPos;
12394
+ return cached.result;
12395
+ }
11783
12396
  s0 = peg$currPos;
11784
12397
  if (input.substr(peg$currPos, 2) === peg$c1295) {
11785
12398
  s1 = peg$c1295;
@@ -11892,10 +12505,16 @@ function peg$parse(input, options) {
11892
12505
  s0 = peg$FAILED;
11893
12506
  }
11894
12507
  }
12508
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11895
12509
  return s0;
11896
12510
  }
11897
12511
  function peg$parseCycle() {
11898
12512
  var s0, s1, s2, s3, s4, s5, s6;
12513
+ var key = peg$currPos * 164 + 88, cached = peg$resultsCache[key];
12514
+ if (cached) {
12515
+ peg$currPos = cached.nextPos;
12516
+ return cached.result;
12517
+ }
11899
12518
  s0 = peg$currPos;
11900
12519
  if (input.charCodeAt(peg$currPos) === 43) {
11901
12520
  s1 = peg$c1301;
@@ -12026,10 +12645,16 @@ function peg$parse(input, options) {
12026
12645
  s0 = s1;
12027
12646
  }
12028
12647
  }
12648
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12029
12649
  return s0;
12030
12650
  }
12031
12651
  function peg$parseArrowTarget() {
12032
12652
  var s0;
12653
+ var key = peg$currPos * 164 + 89, cached = peg$resultsCache[key];
12654
+ if (cached) {
12655
+ peg$currPos = cached.nextPos;
12656
+ return cached.result;
12657
+ }
12033
12658
  s0 = peg$parseStripe();
12034
12659
  if (s0 === peg$FAILED) {
12035
12660
  s0 = peg$parseCycle();
@@ -12040,10 +12665,16 @@ function peg$parse(input, options) {
12040
12665
  }
12041
12666
  }
12042
12667
  }
12668
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12043
12669
  return s0;
12044
12670
  }
12045
12671
  function peg$parseArrowDecoration() {
12046
12672
  var s0, s1;
12673
+ var key = peg$currPos * 164 + 90, cached = peg$resultsCache[key];
12674
+ if (cached) {
12675
+ peg$currPos = cached.nextPos;
12676
+ return cached.result;
12677
+ }
12047
12678
  s0 = peg$currPos;
12048
12679
  s1 = peg$parseArrowAfter();
12049
12680
  if (s1 !== peg$FAILED) {
@@ -12078,10 +12709,16 @@ function peg$parse(input, options) {
12078
12709
  }
12079
12710
  }
12080
12711
  }
12712
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12081
12713
  return s0;
12082
12714
  }
12083
12715
  function peg$parseArrowDecorations() {
12084
12716
  var s0, s1, s2, s3;
12717
+ var key = peg$currPos * 164 + 91, cached = peg$resultsCache[key];
12718
+ if (cached) {
12719
+ peg$currPos = cached.nextPos;
12720
+ return cached.result;
12721
+ }
12085
12722
  s0 = [];
12086
12723
  s1 = peg$currPos;
12087
12724
  s2 = peg$parseArrowDecoration();
@@ -12128,10 +12765,16 @@ function peg$parse(input, options) {
12128
12765
  s1 = peg$FAILED;
12129
12766
  }
12130
12767
  }
12768
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12131
12769
  return s0;
12132
12770
  }
12133
12771
  function peg$parseSubexp() {
12134
12772
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
12773
+ var key = peg$currPos * 164 + 92, cached = peg$resultsCache[key];
12774
+ if (cached) {
12775
+ peg$currPos = cached.nextPos;
12776
+ return cached.result;
12777
+ }
12135
12778
  s0 = peg$currPos;
12136
12779
  s1 = peg$parseWS();
12137
12780
  if (s1 === peg$FAILED) {
@@ -12224,10 +12867,16 @@ function peg$parse(input, options) {
12224
12867
  peg$currPos = s0;
12225
12868
  s0 = peg$FAILED;
12226
12869
  }
12870
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12227
12871
  return s0;
12228
12872
  }
12229
12873
  function peg$parseExp() {
12230
12874
  var s0, s1, s2, s3, s4, s5;
12875
+ var key = peg$currPos * 164 + 93, cached = peg$resultsCache[key];
12876
+ if (cached) {
12877
+ peg$currPos = cached.nextPos;
12878
+ return cached.result;
12879
+ }
12231
12880
  s0 = peg$currPos;
12232
12881
  s1 = peg$parseArrowTarget();
12233
12882
  if (s1 !== peg$FAILED) {
@@ -12282,10 +12931,16 @@ function peg$parse(input, options) {
12282
12931
  peg$currPos = s0;
12283
12932
  s0 = peg$FAILED;
12284
12933
  }
12934
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12285
12935
  return s0;
12286
12936
  }
12287
12937
  function peg$parseValidationKey() {
12288
12938
  var s0;
12939
+ var key = peg$currPos * 164 + 94, cached = peg$resultsCache[key];
12940
+ if (cached) {
12941
+ peg$currPos = cached.nextPos;
12942
+ return cached.result;
12943
+ }
12289
12944
  if (input.substr(peg$currPos, 9) === peg$c1317) {
12290
12945
  s0 = peg$c1317;
12291
12946
  peg$currPos += 9;
@@ -12308,10 +12963,16 @@ function peg$parse(input, options) {
12308
12963
  }
12309
12964
  }
12310
12965
  }
12966
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12311
12967
  return s0;
12312
12968
  }
12313
12969
  function peg$parseValidationItem() {
12314
12970
  var s0, s1, s2, s3, s4;
12971
+ var key = peg$currPos * 164 + 95, cached = peg$resultsCache[key];
12972
+ if (cached) {
12973
+ peg$currPos = cached.nextPos;
12974
+ return cached.result;
12975
+ }
12315
12976
  s0 = peg$currPos;
12316
12977
  s1 = peg$parseValidationKey();
12317
12978
  if (s1 !== peg$FAILED) {
@@ -12362,10 +13023,16 @@ function peg$parse(input, options) {
12362
13023
  peg$currPos = s0;
12363
13024
  s0 = peg$FAILED;
12364
13025
  }
13026
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12365
13027
  return s0;
12366
13028
  }
12367
13029
  function peg$parseValidationItems() {
12368
13030
  var s0, s1;
13031
+ var key = peg$currPos * 164 + 96, cached = peg$resultsCache[key];
13032
+ if (cached) {
13033
+ peg$currPos = cached.nextPos;
13034
+ return cached.result;
13035
+ }
12369
13036
  s0 = [];
12370
13037
  s1 = peg$parseValidationItem();
12371
13038
  if (s1 !== peg$FAILED) {
@@ -12377,10 +13044,16 @@ function peg$parse(input, options) {
12377
13044
  else {
12378
13045
  s0 = peg$FAILED;
12379
13046
  }
13047
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12380
13048
  return s0;
12381
13049
  }
12382
13050
  function peg$parseConfigValidation() {
12383
13051
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13052
+ var key = peg$currPos * 164 + 97, cached = peg$resultsCache[key];
13053
+ if (cached) {
13054
+ peg$currPos = cached.nextPos;
13055
+ return cached.result;
13056
+ }
12384
13057
  s0 = peg$currPos;
12385
13058
  s1 = peg$parseWS();
12386
13059
  if (s1 === peg$FAILED) {
@@ -12519,10 +13192,16 @@ function peg$parse(input, options) {
12519
13192
  peg$currPos = s0;
12520
13193
  s0 = peg$FAILED;
12521
13194
  }
13195
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12522
13196
  return s0;
12523
13197
  }
12524
13198
  function peg$parseGvizLayout() {
12525
13199
  var s0;
13200
+ var key = peg$currPos * 164 + 98, cached = peg$resultsCache[key];
13201
+ if (cached) {
13202
+ peg$currPos = cached.nextPos;
13203
+ return cached.result;
13204
+ }
12526
13205
  if (input.substr(peg$currPos, 3) === peg$c1327) {
12527
13206
  s0 = peg$c1327;
12528
13207
  peg$currPos += 3;
@@ -12581,10 +13260,16 @@ function peg$parse(input, options) {
12581
13260
  }
12582
13261
  }
12583
13262
  }
13263
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12584
13264
  return s0;
12585
13265
  }
12586
13266
  function peg$parseStateItems() {
12587
13267
  var s0, s1;
13268
+ var key = peg$currPos * 164 + 99, cached = peg$resultsCache[key];
13269
+ if (cached) {
13270
+ peg$currPos = cached.nextPos;
13271
+ return cached.result;
13272
+ }
12588
13273
  s0 = [];
12589
13274
  s1 = peg$parseStateDeclarationItem();
12590
13275
  if (s1 !== peg$FAILED) {
@@ -12596,10 +13281,16 @@ function peg$parse(input, options) {
12596
13281
  else {
12597
13282
  s0 = peg$FAILED;
12598
13283
  }
13284
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12599
13285
  return s0;
12600
13286
  }
12601
13287
  function peg$parseConfigState() {
12602
13288
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13289
+ var key = peg$currPos * 164 + 100, cached = peg$resultsCache[key];
13290
+ if (cached) {
13291
+ peg$currPos = cached.nextPos;
13292
+ return cached.result;
13293
+ }
12603
13294
  s0 = peg$currPos;
12604
13295
  s1 = peg$parseWS();
12605
13296
  if (s1 === peg$FAILED) {
@@ -12738,10 +13429,16 @@ function peg$parse(input, options) {
12738
13429
  peg$currPos = s0;
12739
13430
  s0 = peg$FAILED;
12740
13431
  }
13432
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12741
13433
  return s0;
12742
13434
  }
12743
13435
  function peg$parseConfigStartState() {
12744
13436
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13437
+ var key = peg$currPos * 164 + 101, cached = peg$resultsCache[key];
13438
+ if (cached) {
13439
+ peg$currPos = cached.nextPos;
13440
+ return cached.result;
13441
+ }
12745
13442
  s0 = peg$currPos;
12746
13443
  s1 = peg$parseWS();
12747
13444
  if (s1 === peg$FAILED) {
@@ -12880,10 +13577,16 @@ function peg$parse(input, options) {
12880
13577
  peg$currPos = s0;
12881
13578
  s0 = peg$FAILED;
12882
13579
  }
13580
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12883
13581
  return s0;
12884
13582
  }
12885
13583
  function peg$parseConfigEndState() {
12886
13584
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13585
+ var key = peg$currPos * 164 + 102, cached = peg$resultsCache[key];
13586
+ if (cached) {
13587
+ peg$currPos = cached.nextPos;
13588
+ return cached.result;
13589
+ }
12887
13590
  s0 = peg$currPos;
12888
13591
  s1 = peg$parseWS();
12889
13592
  if (s1 === peg$FAILED) {
@@ -13022,10 +13725,16 @@ function peg$parse(input, options) {
13022
13725
  peg$currPos = s0;
13023
13726
  s0 = peg$FAILED;
13024
13727
  }
13728
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13025
13729
  return s0;
13026
13730
  }
13027
13731
  function peg$parseConfigActiveState() {
13028
13732
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13733
+ var key = peg$currPos * 164 + 103, cached = peg$resultsCache[key];
13734
+ if (cached) {
13735
+ peg$currPos = cached.nextPos;
13736
+ return cached.result;
13737
+ }
13029
13738
  s0 = peg$currPos;
13030
13739
  s1 = peg$parseWS();
13031
13740
  if (s1 === peg$FAILED) {
@@ -13164,10 +13873,16 @@ function peg$parse(input, options) {
13164
13873
  peg$currPos = s0;
13165
13874
  s0 = peg$FAILED;
13166
13875
  }
13876
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13167
13877
  return s0;
13168
13878
  }
13169
13879
  function peg$parseConfigTerminalState() {
13170
13880
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13881
+ var key = peg$currPos * 164 + 104, cached = peg$resultsCache[key];
13882
+ if (cached) {
13883
+ peg$currPos = cached.nextPos;
13884
+ return cached.result;
13885
+ }
13171
13886
  s0 = peg$currPos;
13172
13887
  s1 = peg$parseWS();
13173
13888
  if (s1 === peg$FAILED) {
@@ -13306,10 +14021,16 @@ function peg$parse(input, options) {
13306
14021
  peg$currPos = s0;
13307
14022
  s0 = peg$FAILED;
13308
14023
  }
14024
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13309
14025
  return s0;
13310
14026
  }
13311
14027
  function peg$parseConfigHookedState() {
13312
14028
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14029
+ var key = peg$currPos * 164 + 105, cached = peg$resultsCache[key];
14030
+ if (cached) {
14031
+ peg$currPos = cached.nextPos;
14032
+ return cached.result;
14033
+ }
13313
14034
  s0 = peg$currPos;
13314
14035
  s1 = peg$parseWS();
13315
14036
  if (s1 === peg$FAILED) {
@@ -13448,10 +14169,16 @@ function peg$parse(input, options) {
13448
14169
  peg$currPos = s0;
13449
14170
  s0 = peg$FAILED;
13450
14171
  }
14172
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13451
14173
  return s0;
13452
14174
  }
13453
14175
  function peg$parseConfigAnyState() {
13454
14176
  var s0;
14177
+ var key = peg$currPos * 164 + 106, cached = peg$resultsCache[key];
14178
+ if (cached) {
14179
+ peg$currPos = cached.nextPos;
14180
+ return cached.result;
14181
+ }
13455
14182
  s0 = peg$parseConfigState();
13456
14183
  if (s0 === peg$FAILED) {
13457
14184
  s0 = peg$parseConfigStartState();
@@ -13468,10 +14195,16 @@ function peg$parse(input, options) {
13468
14195
  }
13469
14196
  }
13470
14197
  }
14198
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13471
14199
  return s0;
13472
14200
  }
13473
14201
  function peg$parseActionKey() {
13474
14202
  var s0;
14203
+ var key = peg$currPos * 164 + 107, cached = peg$resultsCache[key];
14204
+ if (cached) {
14205
+ peg$currPos = cached.nextPos;
14206
+ return cached.result;
14207
+ }
13475
14208
  if (input.substr(peg$currPos, 9) === peg$c1317) {
13476
14209
  s0 = peg$c1317;
13477
14210
  peg$currPos += 9;
@@ -13494,10 +14227,16 @@ function peg$parse(input, options) {
13494
14227
  }
13495
14228
  }
13496
14229
  }
14230
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13497
14231
  return s0;
13498
14232
  }
13499
14233
  function peg$parseActionItem() {
13500
14234
  var s0, s1, s2, s3, s4;
14235
+ var key = peg$currPos * 164 + 108, cached = peg$resultsCache[key];
14236
+ if (cached) {
14237
+ peg$currPos = cached.nextPos;
14238
+ return cached.result;
14239
+ }
13501
14240
  s0 = peg$currPos;
13502
14241
  s1 = peg$parseActionKey();
13503
14242
  if (s1 !== peg$FAILED) {
@@ -13548,10 +14287,16 @@ function peg$parse(input, options) {
13548
14287
  peg$currPos = s0;
13549
14288
  s0 = peg$FAILED;
13550
14289
  }
14290
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13551
14291
  return s0;
13552
14292
  }
13553
14293
  function peg$parseActionItems() {
13554
14294
  var s0, s1;
14295
+ var key = peg$currPos * 164 + 109, cached = peg$resultsCache[key];
14296
+ if (cached) {
14297
+ peg$currPos = cached.nextPos;
14298
+ return cached.result;
14299
+ }
13555
14300
  s0 = [];
13556
14301
  s1 = peg$parseActionItem();
13557
14302
  if (s1 !== peg$FAILED) {
@@ -13563,10 +14308,16 @@ function peg$parse(input, options) {
13563
14308
  else {
13564
14309
  s0 = peg$FAILED;
13565
14310
  }
14311
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13566
14312
  return s0;
13567
14313
  }
13568
14314
  function peg$parseConfigAction() {
13569
14315
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14316
+ var key = peg$currPos * 164 + 110, cached = peg$resultsCache[key];
14317
+ if (cached) {
14318
+ peg$currPos = cached.nextPos;
14319
+ return cached.result;
14320
+ }
13570
14321
  s0 = peg$currPos;
13571
14322
  s1 = peg$parseWS();
13572
14323
  if (s1 === peg$FAILED) {
@@ -13705,10 +14456,16 @@ function peg$parse(input, options) {
13705
14456
  peg$currPos = s0;
13706
14457
  s0 = peg$FAILED;
13707
14458
  }
14459
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13708
14460
  return s0;
13709
14461
  }
13710
14462
  function peg$parseTransitionKey() {
13711
14463
  var s0;
14464
+ var key = peg$currPos * 164 + 111, cached = peg$resultsCache[key];
14465
+ if (cached) {
14466
+ peg$currPos = cached.nextPos;
14467
+ return cached.result;
14468
+ }
13712
14469
  if (input.substr(peg$currPos, 9) === peg$c1317) {
13713
14470
  s0 = peg$c1317;
13714
14471
  peg$currPos += 9;
@@ -13731,10 +14488,16 @@ function peg$parse(input, options) {
13731
14488
  }
13732
14489
  }
13733
14490
  }
14491
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13734
14492
  return s0;
13735
14493
  }
13736
14494
  function peg$parseTransitionItem() {
13737
14495
  var s0, s1, s2, s3, s4;
14496
+ var key = peg$currPos * 164 + 112, cached = peg$resultsCache[key];
14497
+ if (cached) {
14498
+ peg$currPos = cached.nextPos;
14499
+ return cached.result;
14500
+ }
13738
14501
  s0 = peg$currPos;
13739
14502
  s1 = peg$parseTransitionKey();
13740
14503
  if (s1 !== peg$FAILED) {
@@ -13785,10 +14548,16 @@ function peg$parse(input, options) {
13785
14548
  peg$currPos = s0;
13786
14549
  s0 = peg$FAILED;
13787
14550
  }
14551
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13788
14552
  return s0;
13789
14553
  }
13790
14554
  function peg$parseTransitionItems() {
13791
14555
  var s0, s1;
14556
+ var key = peg$currPos * 164 + 113, cached = peg$resultsCache[key];
14557
+ if (cached) {
14558
+ peg$currPos = cached.nextPos;
14559
+ return cached.result;
14560
+ }
13792
14561
  s0 = peg$parseGraphDefaultEdgeColor();
13793
14562
  if (s0 === peg$FAILED) {
13794
14563
  s0 = [];
@@ -13803,10 +14572,16 @@ function peg$parse(input, options) {
13803
14572
  s0 = peg$FAILED;
13804
14573
  }
13805
14574
  }
14575
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13806
14576
  return s0;
13807
14577
  }
13808
14578
  function peg$parseGraphDefaultEdgeColor() {
13809
14579
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14580
+ var key = peg$currPos * 164 + 114, cached = peg$resultsCache[key];
14581
+ if (cached) {
14582
+ peg$currPos = cached.nextPos;
14583
+ return cached.result;
14584
+ }
13810
14585
  peg$silentFails++;
13811
14586
  s0 = peg$currPos;
13812
14587
  s1 = peg$parseWS();
@@ -14035,10 +14810,16 @@ function peg$parse(input, options) {
14035
14810
  peg$fail(peg$c1360);
14036
14811
  }
14037
14812
  }
14813
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14038
14814
  return s0;
14039
14815
  }
14040
14816
  function peg$parseConfigTransition() {
14041
14817
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14818
+ var key = peg$currPos * 164 + 115, cached = peg$resultsCache[key];
14819
+ if (cached) {
14820
+ peg$currPos = cached.nextPos;
14821
+ return cached.result;
14822
+ }
14042
14823
  s0 = peg$currPos;
14043
14824
  s1 = peg$parseWS();
14044
14825
  if (s1 === peg$FAILED) {
@@ -14177,10 +14958,16 @@ function peg$parse(input, options) {
14177
14958
  peg$currPos = s0;
14178
14959
  s0 = peg$FAILED;
14179
14960
  }
14961
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14180
14962
  return s0;
14181
14963
  }
14182
14964
  function peg$parseConfigGraphLayout() {
14183
14965
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14966
+ var key = peg$currPos * 164 + 116, cached = peg$resultsCache[key];
14967
+ if (cached) {
14968
+ peg$currPos = cached.nextPos;
14969
+ return cached.result;
14970
+ }
14184
14971
  s0 = peg$currPos;
14185
14972
  s1 = peg$parseWS();
14186
14973
  if (s1 === peg$FAILED) {
@@ -14290,10 +15077,16 @@ function peg$parse(input, options) {
14290
15077
  peg$currPos = s0;
14291
15078
  s0 = peg$FAILED;
14292
15079
  }
15080
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14293
15081
  return s0;
14294
15082
  }
14295
15083
  function peg$parseConfigStartNodes() {
14296
15084
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15085
+ var key = peg$currPos * 164 + 117, cached = peg$resultsCache[key];
15086
+ if (cached) {
15087
+ peg$currPos = cached.nextPos;
15088
+ return cached.result;
15089
+ }
14297
15090
  s0 = peg$currPos;
14298
15091
  s1 = peg$parseWS();
14299
15092
  if (s1 === peg$FAILED) {
@@ -14403,10 +15196,16 @@ function peg$parse(input, options) {
14403
15196
  peg$currPos = s0;
14404
15197
  s0 = peg$FAILED;
14405
15198
  }
15199
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14406
15200
  return s0;
14407
15201
  }
14408
15202
  function peg$parseConfigEndNodes() {
14409
15203
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15204
+ var key = peg$currPos * 164 + 118, cached = peg$resultsCache[key];
15205
+ if (cached) {
15206
+ peg$currPos = cached.nextPos;
15207
+ return cached.result;
15208
+ }
14410
15209
  s0 = peg$currPos;
14411
15210
  s1 = peg$parseWS();
14412
15211
  if (s1 === peg$FAILED) {
@@ -14516,10 +15315,16 @@ function peg$parse(input, options) {
14516
15315
  peg$currPos = s0;
14517
15316
  s0 = peg$FAILED;
14518
15317
  }
15318
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14519
15319
  return s0;
14520
15320
  }
14521
15321
  function peg$parseConfigGraphBgColor() {
14522
15322
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15323
+ var key = peg$currPos * 164 + 119, cached = peg$resultsCache[key];
15324
+ if (cached) {
15325
+ peg$currPos = cached.nextPos;
15326
+ return cached.result;
15327
+ }
14523
15328
  s0 = peg$currPos;
14524
15329
  s1 = peg$parseWS();
14525
15330
  if (s1 === peg$FAILED) {
@@ -14629,10 +15434,16 @@ function peg$parse(input, options) {
14629
15434
  peg$currPos = s0;
14630
15435
  s0 = peg$FAILED;
14631
15436
  }
15437
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14632
15438
  return s0;
14633
15439
  }
14634
15440
  function peg$parseConfigAllowsOverride() {
14635
15441
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15442
+ var key = peg$currPos * 164 + 120, cached = peg$resultsCache[key];
15443
+ if (cached) {
15444
+ peg$currPos = cached.nextPos;
15445
+ return cached.result;
15446
+ }
14636
15447
  s0 = peg$currPos;
14637
15448
  s1 = peg$parseWS();
14638
15449
  if (s1 === peg$FAILED) {
@@ -14742,10 +15553,16 @@ function peg$parse(input, options) {
14742
15553
  peg$currPos = s0;
14743
15554
  s0 = peg$FAILED;
14744
15555
  }
15556
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14745
15557
  return s0;
14746
15558
  }
14747
15559
  function peg$parseOverrideT() {
14748
15560
  var s0, s1;
15561
+ var key = peg$currPos * 164 + 121, cached = peg$resultsCache[key];
15562
+ if (cached) {
15563
+ peg$currPos = cached.nextPos;
15564
+ return cached.result;
15565
+ }
14749
15566
  s0 = peg$currPos;
14750
15567
  if (input.substr(peg$currPos, 4) === peg$c230) {
14751
15568
  s1 = peg$c230;
@@ -14798,10 +15615,16 @@ function peg$parse(input, options) {
14798
15615
  s0 = s1;
14799
15616
  }
14800
15617
  }
15618
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14801
15619
  return s0;
14802
15620
  }
14803
15621
  function peg$parseConfig() {
14804
15622
  var s0;
15623
+ var key = peg$currPos * 164 + 122, cached = peg$resultsCache[key];
15624
+ if (cached) {
15625
+ peg$currPos = cached.nextPos;
15626
+ return cached.result;
15627
+ }
14805
15628
  peg$silentFails++;
14806
15629
  s0 = peg$parseConfigGraphLayout();
14807
15630
  if (s0 === peg$FAILED) {
@@ -14834,10 +15657,16 @@ function peg$parse(input, options) {
14834
15657
  peg$fail(peg$c1382);
14835
15658
  }
14836
15659
  }
15660
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14837
15661
  return s0;
14838
15662
  }
14839
15663
  function peg$parseLicenseOrLabelOrList() {
14840
15664
  var s0;
15665
+ var key = peg$currPos * 164 + 123, cached = peg$resultsCache[key];
15666
+ if (cached) {
15667
+ peg$currPos = cached.nextPos;
15668
+ return cached.result;
15669
+ }
14841
15670
  if (input.substr(peg$currPos, 3) === peg$c1383) {
14842
15671
  s0 = peg$c1383;
14843
15672
  peg$currPos += 3;
@@ -14974,10 +15803,16 @@ function peg$parse(input, options) {
14974
15803
  }
14975
15804
  }
14976
15805
  }
15806
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14977
15807
  return s0;
14978
15808
  }
14979
15809
  function peg$parseDirection() {
14980
15810
  var s0;
15811
+ var key = peg$currPos * 164 + 124, cached = peg$resultsCache[key];
15812
+ if (cached) {
15813
+ peg$currPos = cached.nextPos;
15814
+ return cached.result;
15815
+ }
14981
15816
  peg$silentFails++;
14982
15817
  if (input.substr(peg$currPos, 2) === peg$c1406) {
14983
15818
  s0 = peg$c1406;
@@ -15031,10 +15866,16 @@ function peg$parse(input, options) {
15031
15866
  peg$fail(peg$c1405);
15032
15867
  }
15033
15868
  }
15869
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15034
15870
  return s0;
15035
15871
  }
15036
15872
  function peg$parseHookDefinition() {
15037
15873
  var s0;
15874
+ var key = peg$currPos * 164 + 125, cached = peg$resultsCache[key];
15875
+ if (cached) {
15876
+ peg$currPos = cached.nextPos;
15877
+ return cached.result;
15878
+ }
15038
15879
  peg$silentFails++;
15039
15880
  if (input.substr(peg$currPos, 4) === peg$c1415) {
15040
15881
  s0 = peg$c1415;
@@ -15064,10 +15905,16 @@ function peg$parse(input, options) {
15064
15905
  peg$fail(peg$c1414);
15065
15906
  }
15066
15907
  }
15908
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15067
15909
  return s0;
15068
15910
  }
15069
15911
  function peg$parseMachineAuthor() {
15070
15912
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15913
+ var key = peg$currPos * 164 + 126, cached = peg$resultsCache[key];
15914
+ if (cached) {
15915
+ peg$currPos = cached.nextPos;
15916
+ return cached.result;
15917
+ }
15071
15918
  s0 = peg$currPos;
15072
15919
  s1 = peg$parseWS();
15073
15920
  if (s1 === peg$FAILED) {
@@ -15177,10 +16024,16 @@ function peg$parse(input, options) {
15177
16024
  peg$currPos = s0;
15178
16025
  s0 = peg$FAILED;
15179
16026
  }
16027
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15180
16028
  return s0;
15181
16029
  }
15182
16030
  function peg$parseMachineContributor() {
15183
16031
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16032
+ var key = peg$currPos * 164 + 127, cached = peg$resultsCache[key];
16033
+ if (cached) {
16034
+ peg$currPos = cached.nextPos;
16035
+ return cached.result;
16036
+ }
15184
16037
  s0 = peg$currPos;
15185
16038
  s1 = peg$parseWS();
15186
16039
  if (s1 === peg$FAILED) {
@@ -15290,10 +16143,16 @@ function peg$parse(input, options) {
15290
16143
  peg$currPos = s0;
15291
16144
  s0 = peg$FAILED;
15292
16145
  }
16146
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15293
16147
  return s0;
15294
16148
  }
15295
16149
  function peg$parseMachineComment() {
15296
16150
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16151
+ var key = peg$currPos * 164 + 128, cached = peg$resultsCache[key];
16152
+ if (cached) {
16153
+ peg$currPos = cached.nextPos;
16154
+ return cached.result;
16155
+ }
15297
16156
  s0 = peg$currPos;
15298
16157
  s1 = peg$parseWS();
15299
16158
  if (s1 === peg$FAILED) {
@@ -15403,10 +16262,16 @@ function peg$parse(input, options) {
15403
16262
  peg$currPos = s0;
15404
16263
  s0 = peg$FAILED;
15405
16264
  }
16265
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15406
16266
  return s0;
15407
16267
  }
15408
16268
  function peg$parseMachineDefinition() {
15409
16269
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16270
+ var key = peg$currPos * 164 + 129, cached = peg$resultsCache[key];
16271
+ if (cached) {
16272
+ peg$currPos = cached.nextPos;
16273
+ return cached.result;
16274
+ }
15410
16275
  s0 = peg$currPos;
15411
16276
  s1 = peg$parseWS();
15412
16277
  if (s1 === peg$FAILED) {
@@ -15516,10 +16381,16 @@ function peg$parse(input, options) {
15516
16381
  peg$currPos = s0;
15517
16382
  s0 = peg$FAILED;
15518
16383
  }
16384
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15519
16385
  return s0;
15520
16386
  }
15521
16387
  function peg$parseMachineName() {
15522
16388
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16389
+ var key = peg$currPos * 164 + 130, cached = peg$resultsCache[key];
16390
+ if (cached) {
16391
+ peg$currPos = cached.nextPos;
16392
+ return cached.result;
16393
+ }
15523
16394
  s0 = peg$currPos;
15524
16395
  s1 = peg$parseWS();
15525
16396
  if (s1 === peg$FAILED) {
@@ -15629,10 +16500,16 @@ function peg$parse(input, options) {
15629
16500
  peg$currPos = s0;
15630
16501
  s0 = peg$FAILED;
15631
16502
  }
16503
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15632
16504
  return s0;
15633
16505
  }
15634
16506
  function peg$parseMachineReference() {
15635
16507
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16508
+ var key = peg$currPos * 164 + 131, cached = peg$resultsCache[key];
16509
+ if (cached) {
16510
+ peg$currPos = cached.nextPos;
16511
+ return cached.result;
16512
+ }
15636
16513
  s0 = peg$currPos;
15637
16514
  s1 = peg$parseWS();
15638
16515
  if (s1 === peg$FAILED) {
@@ -15742,10 +16619,16 @@ function peg$parse(input, options) {
15742
16619
  peg$currPos = s0;
15743
16620
  s0 = peg$FAILED;
15744
16621
  }
16622
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15745
16623
  return s0;
15746
16624
  }
15747
16625
  function peg$parseMachineVersion() {
15748
16626
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16627
+ var key = peg$currPos * 164 + 132, cached = peg$resultsCache[key];
16628
+ if (cached) {
16629
+ peg$currPos = cached.nextPos;
16630
+ return cached.result;
16631
+ }
15749
16632
  s0 = peg$currPos;
15750
16633
  s1 = peg$parseWS();
15751
16634
  if (s1 === peg$FAILED) {
@@ -15855,10 +16738,16 @@ function peg$parse(input, options) {
15855
16738
  peg$currPos = s0;
15856
16739
  s0 = peg$FAILED;
15857
16740
  }
16741
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15858
16742
  return s0;
15859
16743
  }
15860
16744
  function peg$parseMachineLicense() {
15861
16745
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16746
+ var key = peg$currPos * 164 + 133, cached = peg$resultsCache[key];
16747
+ if (cached) {
16748
+ peg$currPos = cached.nextPos;
16749
+ return cached.result;
16750
+ }
15862
16751
  s0 = peg$currPos;
15863
16752
  s1 = peg$parseWS();
15864
16753
  if (s1 === peg$FAILED) {
@@ -15968,10 +16857,16 @@ function peg$parse(input, options) {
15968
16857
  peg$currPos = s0;
15969
16858
  s0 = peg$FAILED;
15970
16859
  }
16860
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15971
16861
  return s0;
15972
16862
  }
15973
16863
  function peg$parseMachineLanguage() {
15974
16864
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16865
+ var key = peg$currPos * 164 + 134, cached = peg$resultsCache[key];
16866
+ if (cached) {
16867
+ peg$currPos = cached.nextPos;
16868
+ return cached.result;
16869
+ }
15975
16870
  s0 = peg$currPos;
15976
16871
  s1 = peg$parseWS();
15977
16872
  if (s1 === peg$FAILED) {
@@ -16081,10 +16976,16 @@ function peg$parse(input, options) {
16081
16976
  peg$currPos = s0;
16082
16977
  s0 = peg$FAILED;
16083
16978
  }
16979
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16084
16980
  return s0;
16085
16981
  }
16086
16982
  function peg$parseFslVersion() {
16087
16983
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16984
+ var key = peg$currPos * 164 + 135, cached = peg$resultsCache[key];
16985
+ if (cached) {
16986
+ peg$currPos = cached.nextPos;
16987
+ return cached.result;
16988
+ }
16088
16989
  s0 = peg$currPos;
16089
16990
  s1 = peg$parseWS();
16090
16991
  if (s1 === peg$FAILED) {
@@ -16194,10 +17095,16 @@ function peg$parse(input, options) {
16194
17095
  peg$currPos = s0;
16195
17096
  s0 = peg$FAILED;
16196
17097
  }
17098
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16197
17099
  return s0;
16198
17100
  }
16199
17101
  function peg$parseMachineTheme() {
16200
17102
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17103
+ var key = peg$currPos * 164 + 136, cached = peg$resultsCache[key];
17104
+ if (cached) {
17105
+ peg$currPos = cached.nextPos;
17106
+ return cached.result;
17107
+ }
16201
17108
  s0 = peg$currPos;
16202
17109
  s1 = peg$parseWS();
16203
17110
  if (s1 === peg$FAILED) {
@@ -16307,10 +17214,16 @@ function peg$parse(input, options) {
16307
17214
  peg$currPos = s0;
16308
17215
  s0 = peg$FAILED;
16309
17216
  }
17217
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16310
17218
  return s0;
16311
17219
  }
16312
17220
  function peg$parseMachineFlow() {
16313
17221
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17222
+ var key = peg$currPos * 164 + 137, cached = peg$resultsCache[key];
17223
+ if (cached) {
17224
+ peg$currPos = cached.nextPos;
17225
+ return cached.result;
17226
+ }
16314
17227
  s0 = peg$currPos;
16315
17228
  s1 = peg$parseWS();
16316
17229
  if (s1 === peg$FAILED) {
@@ -16420,10 +17333,16 @@ function peg$parse(input, options) {
16420
17333
  peg$currPos = s0;
16421
17334
  s0 = peg$FAILED;
16422
17335
  }
17336
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16423
17337
  return s0;
16424
17338
  }
16425
17339
  function peg$parseMachineHookDefinition() {
16426
17340
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17341
+ var key = peg$currPos * 164 + 138, cached = peg$resultsCache[key];
17342
+ if (cached) {
17343
+ peg$currPos = cached.nextPos;
17344
+ return cached.result;
17345
+ }
16427
17346
  s0 = peg$currPos;
16428
17347
  s1 = peg$parseWS();
16429
17348
  if (s1 === peg$FAILED) {
@@ -16533,10 +17452,16 @@ function peg$parse(input, options) {
16533
17452
  peg$currPos = s0;
16534
17453
  s0 = peg$FAILED;
16535
17454
  }
17455
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16536
17456
  return s0;
16537
17457
  }
16538
17458
  function peg$parseDotPreamble() {
16539
17459
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17460
+ var key = peg$currPos * 164 + 139, cached = peg$resultsCache[key];
17461
+ if (cached) {
17462
+ peg$currPos = cached.nextPos;
17463
+ return cached.result;
17464
+ }
16540
17465
  s0 = peg$currPos;
16541
17466
  s1 = peg$parseWS();
16542
17467
  if (s1 === peg$FAILED) {
@@ -16646,10 +17571,16 @@ function peg$parse(input, options) {
16646
17571
  peg$currPos = s0;
16647
17572
  s0 = peg$FAILED;
16648
17573
  }
17574
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16649
17575
  return s0;
16650
17576
  }
16651
17577
  function peg$parseMachineAttribute() {
16652
17578
  var s0;
17579
+ var key = peg$currPos * 164 + 140, cached = peg$resultsCache[key];
17580
+ if (cached) {
17581
+ peg$currPos = cached.nextPos;
17582
+ return cached.result;
17583
+ }
16653
17584
  peg$silentFails++;
16654
17585
  s0 = peg$parseFslVersion();
16655
17586
  if (s0 === peg$FAILED) {
@@ -16697,10 +17628,16 @@ function peg$parse(input, options) {
16697
17628
  peg$fail(peg$c1461);
16698
17629
  }
16699
17630
  }
17631
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16700
17632
  return s0;
16701
17633
  }
16702
17634
  function peg$parsePropertyVal() {
16703
17635
  var s0;
17636
+ var key = peg$currPos * 164 + 141, cached = peg$resultsCache[key];
17637
+ if (cached) {
17638
+ peg$currPos = cached.nextPos;
17639
+ return cached.result;
17640
+ }
16704
17641
  s0 = peg$parseString();
16705
17642
  if (s0 === peg$FAILED) {
16706
17643
  s0 = peg$parseBoolean();
@@ -16714,10 +17651,16 @@ function peg$parse(input, options) {
16714
17651
  }
16715
17652
  }
16716
17653
  }
17654
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16717
17655
  return s0;
16718
17656
  }
16719
17657
  function peg$parseSdStateLabel() {
16720
17658
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17659
+ var key = peg$currPos * 164 + 142, cached = peg$resultsCache[key];
17660
+ if (cached) {
17661
+ peg$currPos = cached.nextPos;
17662
+ return cached.result;
17663
+ }
16721
17664
  peg$silentFails++;
16722
17665
  s0 = peg$currPos;
16723
17666
  s1 = peg$parseWS();
@@ -16835,10 +17778,16 @@ function peg$parse(input, options) {
16835
17778
  peg$fail(peg$c311);
16836
17779
  }
16837
17780
  }
17781
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16838
17782
  return s0;
16839
17783
  }
16840
17784
  function peg$parseSdStateColor() {
16841
17785
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17786
+ var key = peg$currPos * 164 + 143, cached = peg$resultsCache[key];
17787
+ if (cached) {
17788
+ peg$currPos = cached.nextPos;
17789
+ return cached.result;
17790
+ }
16842
17791
  peg$silentFails++;
16843
17792
  s0 = peg$currPos;
16844
17793
  s1 = peg$parseWS();
@@ -16956,10 +17905,16 @@ function peg$parse(input, options) {
16956
17905
  peg$fail(peg$c1199);
16957
17906
  }
16958
17907
  }
17908
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16959
17909
  return s0;
16960
17910
  }
16961
17911
  function peg$parseSdStateTextColor() {
16962
17912
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17913
+ var key = peg$currPos * 164 + 144, cached = peg$resultsCache[key];
17914
+ if (cached) {
17915
+ peg$currPos = cached.nextPos;
17916
+ return cached.result;
17917
+ }
16963
17918
  peg$silentFails++;
16964
17919
  s0 = peg$currPos;
16965
17920
  s1 = peg$parseWS();
@@ -17077,10 +18032,16 @@ function peg$parse(input, options) {
17077
18032
  peg$fail(peg$c1468);
17078
18033
  }
17079
18034
  }
18035
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17080
18036
  return s0;
17081
18037
  }
17082
18038
  function peg$parseSdStateBackgroundColor() {
17083
18039
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18040
+ var key = peg$currPos * 164 + 145, cached = peg$resultsCache[key];
18041
+ if (cached) {
18042
+ peg$currPos = cached.nextPos;
18043
+ return cached.result;
18044
+ }
17084
18045
  peg$silentFails++;
17085
18046
  s0 = peg$currPos;
17086
18047
  s1 = peg$parseWS();
@@ -17198,10 +18159,16 @@ function peg$parse(input, options) {
17198
18159
  peg$fail(peg$c1472);
17199
18160
  }
17200
18161
  }
18162
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17201
18163
  return s0;
17202
18164
  }
17203
18165
  function peg$parseSdStateBorderColor() {
17204
18166
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18167
+ var key = peg$currPos * 164 + 146, cached = peg$resultsCache[key];
18168
+ if (cached) {
18169
+ peg$currPos = cached.nextPos;
18170
+ return cached.result;
18171
+ }
17205
18172
  peg$silentFails++;
17206
18173
  s0 = peg$currPos;
17207
18174
  s1 = peg$parseWS();
@@ -17319,10 +18286,16 @@ function peg$parse(input, options) {
17319
18286
  peg$fail(peg$c1476);
17320
18287
  }
17321
18288
  }
18289
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17322
18290
  return s0;
17323
18291
  }
17324
18292
  function peg$parseSdStateShape() {
17325
18293
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18294
+ var key = peg$currPos * 164 + 147, cached = peg$resultsCache[key];
18295
+ if (cached) {
18296
+ peg$currPos = cached.nextPos;
18297
+ return cached.result;
18298
+ }
17326
18299
  peg$silentFails++;
17327
18300
  s0 = peg$currPos;
17328
18301
  s1 = peg$parseWS();
@@ -17440,10 +18413,16 @@ function peg$parse(input, options) {
17440
18413
  peg$fail(peg$c1480);
17441
18414
  }
17442
18415
  }
18416
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17443
18417
  return s0;
17444
18418
  }
17445
18419
  function peg$parseSdStateCorners() {
17446
18420
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18421
+ var key = peg$currPos * 164 + 148, cached = peg$resultsCache[key];
18422
+ if (cached) {
18423
+ peg$currPos = cached.nextPos;
18424
+ return cached.result;
18425
+ }
17447
18426
  peg$silentFails++;
17448
18427
  s0 = peg$currPos;
17449
18428
  s1 = peg$parseWS();
@@ -17561,10 +18540,16 @@ function peg$parse(input, options) {
17561
18540
  peg$fail(peg$c1484);
17562
18541
  }
17563
18542
  }
18543
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17564
18544
  return s0;
17565
18545
  }
17566
18546
  function peg$parseSdStateLineStyle() {
17567
18547
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18548
+ var key = peg$currPos * 164 + 149, cached = peg$resultsCache[key];
18549
+ if (cached) {
18550
+ peg$currPos = cached.nextPos;
18551
+ return cached.result;
18552
+ }
17568
18553
  peg$silentFails++;
17569
18554
  s0 = peg$currPos;
17570
18555
  s1 = peg$parseWS();
@@ -17793,10 +18778,16 @@ function peg$parse(input, options) {
17793
18778
  peg$fail(peg$c1488);
17794
18779
  }
17795
18780
  }
18781
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17796
18782
  return s0;
17797
18783
  }
17798
18784
  function peg$parseSdStateImage() {
17799
18785
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18786
+ var key = peg$currPos * 164 + 150, cached = peg$resultsCache[key];
18787
+ if (cached) {
18788
+ peg$currPos = cached.nextPos;
18789
+ return cached.result;
18790
+ }
17800
18791
  peg$silentFails++;
17801
18792
  s0 = peg$currPos;
17802
18793
  s1 = peg$parseWS();
@@ -17914,10 +18905,16 @@ function peg$parse(input, options) {
17914
18905
  peg$fail(peg$c1492);
17915
18906
  }
17916
18907
  }
18908
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17917
18909
  return s0;
17918
18910
  }
17919
18911
  function peg$parseSdStateUrl() {
17920
18912
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18913
+ var key = peg$currPos * 164 + 151, cached = peg$resultsCache[key];
18914
+ if (cached) {
18915
+ peg$currPos = cached.nextPos;
18916
+ return cached.result;
18917
+ }
17921
18918
  peg$silentFails++;
17922
18919
  s0 = peg$currPos;
17923
18920
  s1 = peg$parseWS();
@@ -18035,10 +19032,16 @@ function peg$parse(input, options) {
18035
19032
  peg$fail(peg$c1496);
18036
19033
  }
18037
19034
  }
19035
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18038
19036
  return s0;
18039
19037
  }
18040
19038
  function peg$parseSdStateProperty() {
18041
19039
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
19040
+ var key = peg$currPos * 164 + 152, cached = peg$resultsCache[key];
19041
+ if (cached) {
19042
+ peg$currPos = cached.nextPos;
19043
+ return cached.result;
19044
+ }
18042
19045
  peg$silentFails++;
18043
19046
  s0 = peg$currPos;
18044
19047
  s1 = peg$parseWS();
@@ -18318,10 +19321,16 @@ function peg$parse(input, options) {
18318
19321
  peg$fail(peg$c1500);
18319
19322
  }
18320
19323
  }
19324
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18321
19325
  return s0;
18322
19326
  }
18323
19327
  function peg$parseStateDeclarationItem() {
18324
19328
  var s0;
19329
+ var key = peg$currPos * 164 + 153, cached = peg$resultsCache[key];
19330
+ if (cached) {
19331
+ peg$currPos = cached.nextPos;
19332
+ return cached.result;
19333
+ }
18325
19334
  s0 = peg$parseSdStateLabel();
18326
19335
  if (s0 === peg$FAILED) {
18327
19336
  s0 = peg$parseSdStateColor();
@@ -18353,10 +19362,16 @@ function peg$parse(input, options) {
18353
19362
  }
18354
19363
  }
18355
19364
  }
19365
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18356
19366
  return s0;
18357
19367
  }
18358
19368
  function peg$parseStateDeclarationDesc() {
18359
19369
  var s0, s1, s2, s3, s4, s5;
19370
+ var key = peg$currPos * 164 + 154, cached = peg$resultsCache[key];
19371
+ if (cached) {
19372
+ peg$currPos = cached.nextPos;
19373
+ return cached.result;
19374
+ }
18360
19375
  s0 = peg$currPos;
18361
19376
  if (input.charCodeAt(peg$currPos) === 123) {
18362
19377
  s1 = peg$c1221;
@@ -18425,10 +19440,16 @@ function peg$parse(input, options) {
18425
19440
  peg$currPos = s0;
18426
19441
  s0 = peg$FAILED;
18427
19442
  }
19443
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18428
19444
  return s0;
18429
19445
  }
18430
19446
  function peg$parseStateDeclaration() {
18431
19447
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
19448
+ var key = peg$currPos * 164 + 155, cached = peg$resultsCache[key];
19449
+ if (cached) {
19450
+ peg$currPos = cached.nextPos;
19451
+ return cached.result;
19452
+ }
18432
19453
  s0 = peg$currPos;
18433
19454
  s1 = peg$parseWS();
18434
19455
  if (s1 === peg$FAILED) {
@@ -18552,10 +19573,16 @@ function peg$parse(input, options) {
18552
19573
  peg$currPos = s0;
18553
19574
  s0 = peg$FAILED;
18554
19575
  }
19576
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18555
19577
  return s0;
18556
19578
  }
18557
19579
  function peg$parseNamedList() {
18558
19580
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
19581
+ var key = peg$currPos * 164 + 156, cached = peg$resultsCache[key];
19582
+ if (cached) {
19583
+ peg$currPos = cached.nextPos;
19584
+ return cached.result;
19585
+ }
18559
19586
  s0 = peg$currPos;
18560
19587
  s1 = peg$parseWS();
18561
19588
  if (s1 === peg$FAILED) {
@@ -18682,10 +19709,16 @@ function peg$parse(input, options) {
18682
19709
  peg$currPos = s0;
18683
19710
  s0 = peg$FAILED;
18684
19711
  }
19712
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18685
19713
  return s0;
18686
19714
  }
18687
19715
  function peg$parseMachineProperty() {
18688
19716
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
19717
+ var key = peg$currPos * 164 + 157, cached = peg$resultsCache[key];
19718
+ if (cached) {
19719
+ peg$currPos = cached.nextPos;
19720
+ return cached.result;
19721
+ }
18689
19722
  s0 = peg$currPos;
18690
19723
  s1 = peg$parseWS();
18691
19724
  if (s1 === peg$FAILED) {
@@ -19132,10 +20165,16 @@ function peg$parse(input, options) {
19132
20165
  }
19133
20166
  }
19134
20167
  }
20168
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19135
20169
  return s0;
19136
20170
  }
19137
20171
  function peg$parseRegularArrangeDeclaration() {
19138
20172
  var s0, s1, s2, s3, s4, s5, s6;
20173
+ var key = peg$currPos * 164 + 158, cached = peg$resultsCache[key];
20174
+ if (cached) {
20175
+ peg$currPos = cached.nextPos;
20176
+ return cached.result;
20177
+ }
19139
20178
  s0 = peg$currPos;
19140
20179
  if (input.substr(peg$currPos, 7) === peg$c1515) {
19141
20180
  s1 = peg$c1515;
@@ -19209,10 +20248,16 @@ function peg$parse(input, options) {
19209
20248
  peg$currPos = s0;
19210
20249
  s0 = peg$FAILED;
19211
20250
  }
20251
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19212
20252
  return s0;
19213
20253
  }
19214
20254
  function peg$parseArrangeStartDeclaration() {
19215
20255
  var s0, s1, s2, s3, s4, s5, s6;
20256
+ var key = peg$currPos * 164 + 159, cached = peg$resultsCache[key];
20257
+ if (cached) {
20258
+ peg$currPos = cached.nextPos;
20259
+ return cached.result;
20260
+ }
19216
20261
  s0 = peg$currPos;
19217
20262
  if (input.substr(peg$currPos, 13) === peg$c1518) {
19218
20263
  s1 = peg$c1518;
@@ -19286,10 +20331,16 @@ function peg$parse(input, options) {
19286
20331
  peg$currPos = s0;
19287
20332
  s0 = peg$FAILED;
19288
20333
  }
20334
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19289
20335
  return s0;
19290
20336
  }
19291
20337
  function peg$parseArrangeEndDeclaration() {
19292
20338
  var s0, s1, s2, s3, s4, s5, s6;
20339
+ var key = peg$currPos * 164 + 160, cached = peg$resultsCache[key];
20340
+ if (cached) {
20341
+ peg$currPos = cached.nextPos;
20342
+ return cached.result;
20343
+ }
19293
20344
  s0 = peg$currPos;
19294
20345
  if (input.substr(peg$currPos, 11) === peg$c1521) {
19295
20346
  s1 = peg$c1521;
@@ -19363,10 +20414,16 @@ function peg$parse(input, options) {
19363
20414
  peg$currPos = s0;
19364
20415
  s0 = peg$FAILED;
19365
20416
  }
20417
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19366
20418
  return s0;
19367
20419
  }
19368
20420
  function peg$parseArrangeDeclaration() {
19369
20421
  var s0;
20422
+ var key = peg$currPos * 164 + 161, cached = peg$resultsCache[key];
20423
+ if (cached) {
20424
+ peg$currPos = cached.nextPos;
20425
+ return cached.result;
20426
+ }
19370
20427
  peg$silentFails++;
19371
20428
  s0 = peg$parseArrangeStartDeclaration();
19372
20429
  if (s0 === peg$FAILED) {
@@ -19381,10 +20438,16 @@ function peg$parse(input, options) {
19381
20438
  peg$fail(peg$c1524);
19382
20439
  }
19383
20440
  }
20441
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19384
20442
  return s0;
19385
20443
  }
19386
20444
  function peg$parseTerm() {
19387
20445
  var s0;
20446
+ var key = peg$currPos * 164 + 162, cached = peg$resultsCache[key];
20447
+ if (cached) {
20448
+ peg$currPos = cached.nextPos;
20449
+ return cached.result;
20450
+ }
19388
20451
  s0 = peg$parseExp();
19389
20452
  if (s0 === peg$FAILED) {
19390
20453
  s0 = peg$parseStateDeclaration();
@@ -19404,16 +20467,23 @@ function peg$parse(input, options) {
19404
20467
  }
19405
20468
  }
19406
20469
  }
20470
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19407
20471
  return s0;
19408
20472
  }
19409
20473
  function peg$parseTermList() {
19410
20474
  var s0, s1;
20475
+ var key = peg$currPos * 164 + 163, cached = peg$resultsCache[key];
20476
+ if (cached) {
20477
+ peg$currPos = cached.nextPos;
20478
+ return cached.result;
20479
+ }
19411
20480
  s0 = [];
19412
20481
  s1 = peg$parseTerm();
19413
20482
  while (s1 !== peg$FAILED) {
19414
20483
  s0.push(s1);
19415
20484
  s1 = peg$parseTerm();
19416
20485
  }
20486
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19417
20487
  return s0;
19418
20488
  }
19419
20489
  peg$result = peg$startRuleFunction();
@@ -21246,7 +22316,7 @@ theme_mapping.set('bold', bold_theme);
21246
22316
  * import { state_name_chars } from 'jssm';
21247
22317
  * state_name_chars.some(r => 'A' >= r.from && 'A' <= r.to); // => true
21248
22318
  */
21249
- // keep in sync with src/ts/fsl_parser.peg:278
22319
+ // keep in sync with src/ts/fsl_parser.peg:267
21250
22320
  const state_name_chars$1 = Object.freeze([
21251
22321
  { from: '0', to: '9' },
21252
22322
  { from: 'a', to: 'z' },
@@ -21279,7 +22349,7 @@ const state_name_chars$1 = Object.freeze([
21279
22349
  * import { state_name_first_chars } from 'jssm';
21280
22350
  * state_name_first_chars.some(r => '+' >= r.from && '+' <= r.to); // => false
21281
22351
  */
21282
- // keep in sync with src/ts/fsl_parser.peg:275
22352
+ // keep in sync with src/ts/fsl_parser.peg:264
21283
22353
  const state_name_first_chars$1 = Object.freeze([
21284
22354
  { from: '0', to: '9' },
21285
22355
  { from: 'a', to: 'z' },
@@ -21327,7 +22397,7 @@ var constants = /*#__PURE__*/Object.freeze({
21327
22397
  * Useful for runtime diagnostics and for embedding in serialized machine
21328
22398
  * snapshots so that deserializers can detect version-skew.
21329
22399
  */
21330
- const version = "5.141.6";
22400
+ const version = "5.141.9";
21331
22401
 
21332
22402
  // whargarbl lots of these return arrays could/should be sets
21333
22403
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -23977,14 +25047,19 @@ class Machine {
23977
25047
  const hook_args = hook_args_obj;
23978
25048
  // 'action' event fires when an action is attempted, regardless of whether
23979
25049
  // it ultimately succeeds — matches the issue spec for observation events.
25050
+ // Gated on live listener count so we skip the detail-object allocation
25051
+ // when nothing is subscribed. Gate is read at fire time, so a listener
25052
+ // registered inside a pre-hook still receives the event. #671
23980
25053
  if (wasAction) {
23981
- this._fire('action', {
23982
- action: newStateOrAction,
23983
- from: this._state,
23984
- to: newState,
23985
- data: this._data,
23986
- next_data: newData
23987
- });
25054
+ if (this._event_listener_count !== 0) {
25055
+ this._fire('action', {
25056
+ action: newStateOrAction,
25057
+ from: this._state,
25058
+ to: newState,
25059
+ data: this._data,
25060
+ next_data: newData
25061
+ });
25062
+ }
23988
25063
  }
23989
25064
  // Captured pre-transition source state so 'data-change' detail and similar
23990
25065
  // events can name where we came from.
@@ -24176,15 +25251,20 @@ class Machine {
24176
25251
  // not valid
24177
25252
  }
24178
25253
  else {
24179
- this._fire('rejection', {
24180
- from: fromState,
24181
- to: newStateOrAction,
24182
- action: fromAction,
24183
- data: oldData,
24184
- next_data: newData,
24185
- reason: 'invalid',
24186
- forced: wasForced
24187
- });
25254
+ // Gated on live listener count so we skip the detail-object allocation
25255
+ // when nothing is subscribed. A listener still receives the event
25256
+ // because the gate is read at fire time. #671
25257
+ if (this._event_listener_count !== 0) {
25258
+ this._fire('rejection', {
25259
+ from: fromState,
25260
+ to: newStateOrAction,
25261
+ action: fromAction,
25262
+ data: oldData,
25263
+ next_data: newData,
25264
+ reason: 'invalid',
25265
+ forced: wasForced
25266
+ });
25267
+ }
24188
25268
  return false;
24189
25269
  }
24190
25270
  // posthooks begin here