@danielx/civet 0.6.61 → 0.6.62

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.
Files changed (4) hide show
  1. package/dist/browser.js +1095 -684
  2. package/dist/main.js +1095 -684
  3. package/dist/main.mjs +1095 -684
  4. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -487,6 +487,7 @@ ${input.slice(result.pos)}
487
487
  var require_lib = __commonJS({
488
488
  "source/lib.civet"(exports, module2) {
489
489
  "use strict";
490
+ var xor = (a, b) => a ? !b && a : b;
490
491
  function addParentPointers(node, parent) {
491
492
  if (node == null)
492
493
  return;
@@ -894,6 +895,31 @@ var require_lib = __commonJS({
894
895
  children
895
896
  };
896
897
  }
898
+ function expressionizeTypeIf([ws, ifOp, condition, t, e]) {
899
+ const children = [
900
+ ws,
901
+ "(",
902
+ insertTrimmingSpace(condition, ""),
903
+ "?"
904
+ ];
905
+ if (!xor(ifOp.negated, condition.negated)) {
906
+ children.push(t);
907
+ if (e) {
908
+ children.push(e[0], ":", ...e.slice(2));
909
+ } else {
910
+ children.push(":never");
911
+ }
912
+ } else {
913
+ if (e) {
914
+ children.push(...e.slice(2), e[0], ":");
915
+ } else {
916
+ children.push("never:");
917
+ }
918
+ children.push(t);
919
+ }
920
+ children.push(")");
921
+ return children;
922
+ }
897
923
  function expressionizeIteration(exp) {
898
924
  const { async, subtype, block, children, statement } = exp;
899
925
  const i = children.indexOf(statement);
@@ -966,10 +992,13 @@ var require_lib = __commonJS({
966
992
  if (op.reversed) {
967
993
  if (end !== i + 2)
968
994
  b = makeLeftHandSideExpression(b);
995
+ b = dotNumericLiteral(b);
969
996
  children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
970
997
  } else {
971
- if (start !== i - 2)
998
+ if (start !== i - 2 || a.type === "NumericLiteral") {
972
999
  a = makeLeftHandSideExpression(a);
1000
+ }
1001
+ a = dotNumericLiteral(a);
973
1002
  children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
974
1003
  }
975
1004
  } else if (op.token) {
@@ -1408,18 +1437,18 @@ var require_lib = __commonJS({
1408
1437
  }
1409
1438
  function findChildIndex(parent, child) {
1410
1439
  const children = Array.isArray(parent) ? parent : parent.children;
1411
- const len = children.length;
1412
- for (let i = 0; i < len; i++) {
1413
- const c = children[i];
1440
+ for (let i4 = 0, len4 = children.length; i4 < len4; i4++) {
1441
+ const i = i4;
1442
+ const c = children[i4];
1414
1443
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1415
1444
  return i;
1416
1445
  }
1417
1446
  }
1418
1447
  function arrayRecurse(array) {
1419
- const len2 = array.length;
1420
1448
  const results2 = [];
1421
- for (let i = 0; i < len2; i++) {
1422
- const c = array[i];
1449
+ for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
1450
+ const i = i5;
1451
+ const c = array[i5];
1423
1452
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1424
1453
  return true;
1425
1454
  } else {
@@ -1431,6 +1460,32 @@ var require_lib = __commonJS({
1431
1460
  }
1432
1461
  return -1;
1433
1462
  }
1463
+ function replaceNode(node, newNode) {
1464
+ if (!(node.parent != null)) {
1465
+ throw new Error("replaceNode failed: node has no parent");
1466
+ }
1467
+ function recurse(children) {
1468
+ for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1469
+ const i = i6;
1470
+ const child = children[i6];
1471
+ if (child === node) {
1472
+ children[i] = newNode;
1473
+ return true;
1474
+ } else if (Array.isArray(child)) {
1475
+ if (recurse(child)) {
1476
+ return true;
1477
+ }
1478
+ }
1479
+ }
1480
+ return false;
1481
+ }
1482
+ if (!recurse(node.parent.children)) {
1483
+ throw new Error("replaceNode failed: didn't find child node in parent");
1484
+ }
1485
+ if (typeof newNode === "object" && !Array.isArray(newNode)) {
1486
+ newNode.parent = node.parent;
1487
+ }
1488
+ }
1434
1489
  function findAncestor(node, predicate, stopPredicate) {
1435
1490
  let { parent } = node;
1436
1491
  while (parent && !stopPredicate?.(parent, node)) {
@@ -2009,6 +2064,13 @@ var require_lib = __commonJS({
2009
2064
  insertRestSplices(statements, splices, thisAssignments);
2010
2065
  return [splices, thisAssignments];
2011
2066
  }
2067
+ function dotNumericLiteral(literal) {
2068
+ if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
2069
+ literal.children.push(".");
2070
+ literal.raw += ".";
2071
+ }
2072
+ return literal;
2073
+ }
2012
2074
  function literalValue(literal) {
2013
2075
  let { raw } = literal;
2014
2076
  switch (raw) {
@@ -2117,6 +2179,20 @@ var require_lib = __commonJS({
2117
2179
  return expression;
2118
2180
  }
2119
2181
  }
2182
+ var typeNeedsNoParens = /* @__PURE__ */ new Set([
2183
+ "IdentifierType",
2184
+ "ImportType",
2185
+ "LiteralType",
2186
+ "TupleType",
2187
+ "ParenthesizedType",
2188
+ "UnaryType"
2189
+ ]);
2190
+ function parenthesizeType(type) {
2191
+ if (typeNeedsNoParens.has(type.type)) {
2192
+ return type;
2193
+ }
2194
+ return ["(", type, ")"];
2195
+ }
2120
2196
  function modifyString(str) {
2121
2197
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
2122
2198
  }
@@ -2168,6 +2244,25 @@ var require_lib = __commonJS({
2168
2244
  block
2169
2245
  };
2170
2246
  }
2247
+ function convertOptionalType(suffix) {
2248
+ if (suffix.t.type === "AssertsType") {
2249
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = {
2250
+ type: "Error",
2251
+ message: "Can't use optional ?: syntax with asserts type"
2252
+ });
2253
+ return;
2254
+ }
2255
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = void 0);
2256
+ const wrap = suffix.type === "ReturnTypeAnnotation";
2257
+ spliceChild(suffix, suffix.t, 1, suffix.t = [
2258
+ getTrimmingSpace(suffix.t),
2259
+ wrap && "(",
2260
+ // TODO: avoid parens if unnecessary
2261
+ "undefined | ",
2262
+ parenthesizeType(insertTrimmingSpace(suffix.t, "")),
2263
+ wrap && ")"
2264
+ ]);
2265
+ }
2171
2266
  function convertObjectToJSXAttributes(obj) {
2172
2267
  const { properties } = obj;
2173
2268
  const parts = [];
@@ -2453,18 +2548,23 @@ var require_lib = __commonJS({
2453
2548
  return n.type === "Declaration";
2454
2549
  }).forEach(({ bindings }) => {
2455
2550
  return bindings?.forEach((binding) => {
2456
- const { initializer } = binding;
2457
- if (!initializer) {
2458
- return;
2551
+ const suffix = binding.suffix;
2552
+ if (suffix && suffix.optional && suffix.t) {
2553
+ convertOptionalType(suffix);
2459
2554
  }
2460
- const exp = initializer[2];
2461
- if (exp?.type === "PipelineExpression") {
2462
- if (exp.children.at(-2) === ",") {
2463
- const { parent } = exp;
2464
- const parenthesizedExpression = makeLeftHandSideExpression(exp);
2465
- parenthesizedExpression.parent = parent;
2466
- exp.parent = parenthesizedExpression;
2467
- return initializer[2] = parenthesizedExpression;
2555
+ const { initializer } = binding;
2556
+ if (initializer) {
2557
+ const exp = initializer[2];
2558
+ if (exp?.type === "PipelineExpression") {
2559
+ if (exp.children.at(-2) === ",") {
2560
+ const { parent } = exp;
2561
+ const parenthesizedExpression = makeLeftHandSideExpression(exp);
2562
+ parenthesizedExpression.parent = parent;
2563
+ exp.parent = parenthesizedExpression;
2564
+ return initializer[2] = parenthesizedExpression;
2565
+ }
2566
+ ;
2567
+ return;
2468
2568
  }
2469
2569
  ;
2470
2570
  return;
@@ -2494,13 +2594,17 @@ var require_lib = __commonJS({
2494
2594
  }
2495
2595
  }
2496
2596
  function processReturn(f, implicitReturns) {
2597
+ let { returnType } = f.signature;
2598
+ if (returnType && returnType.optional) {
2599
+ convertOptionalType(returnType);
2600
+ }
2497
2601
  if (!processReturnValue(f) && implicitReturns) {
2498
2602
  const { signature, block } = f;
2499
- const { modifier, name, returnType } = signature;
2603
+ const { modifier, name, returnType: returnType2 } = signature;
2500
2604
  const { async, generator, set } = modifier;
2501
2605
  const isMethod = f.type === "MethodDefinition";
2502
2606
  const isConstructor = isMethod && name === "constructor";
2503
- const isVoid = isVoidType(returnType?.t) || async && isPromiseVoidType(returnType?.t) || !async && generator && isGeneratorVoidType(returnType?.t);
2607
+ const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2504
2608
  const isBlock = block?.type === "BlockStatement";
2505
2609
  if (!isVoid && !set && !isConstructor && isBlock) {
2506
2610
  insertReturn(block);
@@ -2576,12 +2680,10 @@ var require_lib = __commonJS({
2576
2680
  gatherRecursiveAll(statements, (n) => n.type === "AssignmentExpression" && n.names === null).forEach((exp) => {
2577
2681
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
2578
2682
  if ($1.some((left) => left[left.length - 1].special)) {
2579
- if ($1.length !== 1) {
2683
+ if ($1.length !== 1)
2580
2684
  throw new Error("Only one assignment with id= is allowed");
2581
- }
2582
2685
  const [, lhs, , op] = $1[0];
2583
- const { call } = op;
2584
- op[op.length - 1] = "=";
2686
+ const { call, omitLhs } = op;
2585
2687
  const index2 = exp.children.indexOf($2);
2586
2688
  if (index2 < 0)
2587
2689
  throw new Error("Assertion error: exp not in AssignmentExpression");
@@ -2590,6 +2692,9 @@ var require_lib = __commonJS({
2590
2692
  1,
2591
2693
  exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
2592
2694
  );
2695
+ if (omitLhs) {
2696
+ replaceNode(exp, $2);
2697
+ }
2593
2698
  }
2594
2699
  let wrapped = false;
2595
2700
  while (i < len) {
@@ -2656,9 +2761,9 @@ var require_lib = __commonJS({
2656
2761
  }
2657
2762
  function insertSemicolon(statements) {
2658
2763
  const l = statements.length;
2659
- for (let i4 = 0, len4 = statements.length; i4 < len4; i4++) {
2660
- const i = i4;
2661
- const s = statements[i4];
2764
+ for (let i7 = 0, len7 = statements.length; i7 < len7; i7++) {
2765
+ const i = i7;
2766
+ const s = statements[i7];
2662
2767
  if (i < l - 1) {
2663
2768
  if (needsPrecedingSemicolon(statements[i + 1])) {
2664
2769
  const delim = s[2];
@@ -3206,6 +3311,40 @@ var require_lib = __commonJS({
3206
3311
  return addParentPointers(s, s.parent);
3207
3312
  });
3208
3313
  }
3314
+ function processTypes(node) {
3315
+ return gatherRecursiveAll(node, (n) => n.type === "UnaryType").forEach((unary) => {
3316
+ let last;
3317
+ let count = 0;
3318
+ while (unary.suffix.length && unary.suffix.at(-1)?.token === "?") {
3319
+ last = unary.suffix.pop();
3320
+ count++;
3321
+ }
3322
+ if (!count) {
3323
+ return;
3324
+ }
3325
+ if (unary.parent?.type === "TypeTuple") {
3326
+ if (count === 1) {
3327
+ unary.suffix.push(last);
3328
+ return;
3329
+ }
3330
+ replaceNode(unary, [
3331
+ getTrimmingSpace(unary),
3332
+ "(",
3333
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3334
+ " | null)",
3335
+ last
3336
+ ]);
3337
+ } else {
3338
+ replaceNode(unary, [
3339
+ getTrimmingSpace(unary),
3340
+ "(",
3341
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3342
+ count === 1 ? " | undefined" : " | undefined | null",
3343
+ ")"
3344
+ ]);
3345
+ }
3346
+ });
3347
+ }
3209
3348
  function processProgram(root, config, m, ReservedWord) {
3210
3349
  assert.equal(m.forbidBracedApplication.length, 1, "forbidBracedApplication");
3211
3350
  assert.equal(m.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
@@ -3215,6 +3354,7 @@ var require_lib = __commonJS({
3215
3354
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
3216
3355
  addParentPointers(root);
3217
3356
  const { expressions: statements } = root;
3357
+ processTypes(statements);
3218
3358
  processDeclarationConditions(statements);
3219
3359
  processPipelineExpressions(statements);
3220
3360
  processDeclarations(statements);
@@ -3613,9 +3753,9 @@ var require_lib = __commonJS({
3613
3753
  return root;
3614
3754
  }
3615
3755
  }
3616
- for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
3617
- const i = i5;
3618
- const node = array[i5];
3756
+ for (let i8 = 0, len8 = array.length; i8 < len8; i8++) {
3757
+ const i = i8;
3758
+ const node = array[i8];
3619
3759
  if (!(node != null)) {
3620
3760
  return;
3621
3761
  }
@@ -3627,6 +3767,17 @@ var require_lib = __commonJS({
3627
3767
  }
3628
3768
  return root;
3629
3769
  }
3770
+ function spliceChild(node, child, del, ...replacements) {
3771
+ const children = node?.children ?? node;
3772
+ if (!Array.isArray(children)) {
3773
+ throw new Error("spliceChild: non-array node has no children field");
3774
+ }
3775
+ const index = children.indexOf(child);
3776
+ if (index < 0) {
3777
+ throw new Error("spliceChild: child not found");
3778
+ }
3779
+ return children.splice(index, del, ...replacements);
3780
+ }
3630
3781
  function skipIfOnlyWS(target) {
3631
3782
  if (!target)
3632
3783
  return target;
@@ -3772,6 +3923,7 @@ var require_lib = __commonJS({
3772
3923
  dedentBlockSubstitutions,
3773
3924
  deepCopy,
3774
3925
  expressionizeIfClause,
3926
+ expressionizeTypeIf,
3775
3927
  findAncestor,
3776
3928
  forRange,
3777
3929
  gatherBindingCode,
@@ -3899,6 +4051,7 @@ var require_parser = __commonJS({
3899
4051
  UnaryBody,
3900
4052
  UnaryWithoutParenthesizedAssignmentBody,
3901
4053
  UnaryPostfix,
4054
+ TypePostfix,
3902
4055
  UpdateExpression,
3903
4056
  UpdateExpressionSymbol,
3904
4057
  AssignmentExpression,
@@ -3928,6 +4081,8 @@ var require_parser = __commonJS({
3928
4081
  ExtendsClause,
3929
4082
  ExtendsToken,
3930
4083
  ExtendsShorthand,
4084
+ NotExtendsToken,
4085
+ OmittedNegation,
3931
4086
  ExtendsTarget,
3932
4087
  ImplementsClause,
3933
4088
  ImplementsToken,
@@ -4326,6 +4481,7 @@ var require_parser = __commonJS({
4326
4481
  Each,
4327
4482
  Else,
4328
4483
  Equals,
4484
+ ExclamationPoint,
4329
4485
  Export,
4330
4486
  Extends,
4331
4487
  Finally,
@@ -4468,6 +4624,7 @@ var require_parser = __commonJS({
4468
4624
  TypeIndexSignature,
4469
4625
  TypeIndex,
4470
4626
  TypeSuffix,
4627
+ MaybeIndentedType,
4471
4628
  ReturnTypeSuffix,
4472
4629
  ReturnType,
4473
4630
  TypePredicate,
@@ -4486,6 +4643,10 @@ var require_parser = __commonJS({
4486
4643
  NestedTypeList,
4487
4644
  NestedType,
4488
4645
  TypeConditional,
4646
+ TypeCondition,
4647
+ TypeIfThenElse,
4648
+ TypeElse,
4649
+ TypeBlock,
4489
4650
  TypeTemplateSubstitution,
4490
4651
  TypeTemplateLiteral,
4491
4652
  CoffeeStringTypeSubstitution,
@@ -4573,296 +4734,299 @@ var require_parser = __commonJS({
4573
4734
  var $L7 = $L(".");
4574
4735
  var $L8 = $L("++");
4575
4736
  var $L9 = $L("--");
4576
- var $L10 = $L("=>");
4577
- var $L11 = $L("\u21D2");
4578
- var $L12 = $L(":");
4579
- var $L13 = $L(" ");
4580
- var $L14 = $L("<");
4581
- var $L15 = $L("implements");
4582
- var $L16 = $L("<:");
4583
- var $L17 = $L("import");
4584
- var $L18 = $L("!");
4585
- var $L19 = $L("^");
4586
- var $L20 = $L("-");
4587
- var $L21 = $L("import.meta");
4588
- var $L22 = $L("return.value");
4589
- var $L23 = $L(",");
4590
- var $L24 = $L("(&)");
4591
- var $L25 = $L("->");
4592
- var $L26 = $L("\u2192");
4593
- var $L27 = $L("}");
4594
- var $L28 = $L("null");
4595
- var $L29 = $L("true");
4596
- var $L30 = $L("false");
4597
- var $L31 = $L("yes");
4598
- var $L32 = $L("on");
4599
- var $L33 = $L("no");
4600
- var $L34 = $L("off");
4601
- var $L35 = $L(">");
4602
- var $L36 = $L("]");
4603
- var $L37 = $L("**=");
4604
- var $L38 = $L("*=");
4605
- var $L39 = $L("/=");
4606
- var $L40 = $L("%=");
4607
- var $L41 = $L("+=");
4608
- var $L42 = $L("-=");
4609
- var $L43 = $L("<<=");
4610
- var $L44 = $L(">>>=");
4611
- var $L45 = $L(">>=");
4612
- var $L46 = $L("&&=");
4613
- var $L47 = $L("&=");
4614
- var $L48 = $L("^=");
4615
- var $L49 = $L("||=");
4616
- var $L50 = $L("|=");
4617
- var $L51 = $L("??=");
4618
- var $L52 = $L("?=");
4619
- var $L53 = $L("and=");
4620
- var $L54 = $L("or=");
4621
- var $L55 = $L("**");
4622
- var $L56 = $L("*");
4623
- var $L57 = $L("/");
4624
- var $L58 = $L("%%");
4625
- var $L59 = $L("%");
4626
- var $L60 = $L("+");
4627
- var $L61 = $L("<=");
4628
- var $L62 = $L("\u2264");
4629
- var $L63 = $L(">=");
4630
- var $L64 = $L("\u2265");
4631
- var $L65 = $L("<?");
4632
- var $L66 = $L("!<?");
4633
- var $L67 = $L("<<");
4634
- var $L68 = $L("\xAB");
4635
- var $L69 = $L(">>>");
4636
- var $L70 = $L("\u22D9");
4637
- var $L71 = $L(">>");
4638
- var $L72 = $L("\xBB");
4639
- var $L73 = $L("!==");
4640
- var $L74 = $L("\u2262");
4641
- var $L75 = $L("!=");
4642
- var $L76 = $L("\u2260");
4643
- var $L77 = $L("isnt");
4644
- var $L78 = $L("===");
4645
- var $L79 = $L("\u2263");
4646
- var $L80 = $L("\u2A76");
4647
- var $L81 = $L("==");
4648
- var $L82 = $L("\u2261");
4649
- var $L83 = $L("\u2A75");
4650
- var $L84 = $L("and");
4651
- var $L85 = $L("&&");
4652
- var $L86 = $L("or");
4653
- var $L87 = $L("||");
4654
- var $L88 = $L("\u2016");
4655
- var $L89 = $L("^^");
4656
- var $L90 = $L("xor");
4657
- var $L91 = $L("xnor");
4658
- var $L92 = $L("??");
4659
- var $L93 = $L("\u2047");
4660
- var $L94 = $L("instanceof");
4661
- var $L95 = $L("\u2208");
4662
- var $L96 = $L("\u220B");
4663
- var $L97 = $L("\u220C");
4664
- var $L98 = $L("\u2209");
4665
- var $L99 = $L("&");
4666
- var $L100 = $L("|");
4667
- var $L101 = $L(";");
4668
- var $L102 = $L("$:");
4669
- var $L103 = $L("break");
4670
- var $L104 = $L("continue");
4671
- var $L105 = $L("debugger");
4672
- var $L106 = $L("with");
4673
- var $L107 = $L("assert");
4674
- var $L108 = $L(":=");
4675
- var $L109 = $L("\u2254");
4676
- var $L110 = $L(".=");
4677
- var $L111 = $L("/*");
4678
- var $L112 = $L("*/");
4679
- var $L113 = $L("\\");
4680
- var $L114 = $L(")");
4681
- var $L115 = $L("abstract");
4682
- var $L116 = $L("as");
4683
- var $L117 = $L("@");
4684
- var $L118 = $L("@@");
4685
- var $L119 = $L("async");
4686
- var $L120 = $L("await");
4687
- var $L121 = $L("`");
4688
- var $L122 = $L("by");
4689
- var $L123 = $L("case");
4690
- var $L124 = $L("catch");
4691
- var $L125 = $L("class");
4692
- var $L126 = $L("#{");
4693
- var $L127 = $L("declare");
4694
- var $L128 = $L("default");
4695
- var $L129 = $L("delete");
4696
- var $L130 = $L("do");
4697
- var $L131 = $L("..");
4698
- var $L132 = $L("\u2025");
4699
- var $L133 = $L("...");
4700
- var $L134 = $L("\u2026");
4701
- var $L135 = $L("::");
4702
- var $L136 = $L('"');
4703
- var $L137 = $L("each");
4704
- var $L138 = $L("else");
4705
- var $L139 = $L("export");
4706
- var $L140 = $L("extends");
4707
- var $L141 = $L("finally");
4708
- var $L142 = $L("for");
4709
- var $L143 = $L("from");
4710
- var $L144 = $L("function");
4711
- var $L145 = $L("get");
4712
- var $L146 = $L("set");
4713
- var $L147 = $L("#");
4714
- var $L148 = $L("if");
4715
- var $L149 = $L("in");
4716
- var $L150 = $L("let");
4717
- var $L151 = $L("const");
4718
- var $L152 = $L("is");
4719
- var $L153 = $L("loop");
4720
- var $L154 = $L("new");
4721
- var $L155 = $L("not");
4722
- var $L156 = $L("of");
4723
- var $L157 = $L("[");
4724
- var $L158 = $L("operator");
4725
- var $L159 = $L("own");
4726
- var $L160 = $L("public");
4727
- var $L161 = $L("private");
4728
- var $L162 = $L("protected");
4729
- var $L163 = $L("||>");
4730
- var $L164 = $L("|\u25B7");
4731
- var $L165 = $L("|>=");
4732
- var $L166 = $L("\u25B7=");
4733
- var $L167 = $L("|>");
4734
- var $L168 = $L("\u25B7");
4735
- var $L169 = $L("readonly");
4736
- var $L170 = $L("return");
4737
- var $L171 = $L("satisfies");
4738
- var $L172 = $L("'");
4739
- var $L173 = $L("static");
4740
- var $L174 = $L("${");
4741
- var $L175 = $L("super");
4742
- var $L176 = $L("switch");
4743
- var $L177 = $L("target");
4744
- var $L178 = $L("then");
4745
- var $L179 = $L("this");
4746
- var $L180 = $L("throw");
4747
- var $L181 = $L('"""');
4748
- var $L182 = $L("'''");
4749
- var $L183 = $L("///");
4750
- var $L184 = $L("```");
4751
- var $L185 = $L("try");
4752
- var $L186 = $L("typeof");
4753
- var $L187 = $L("unless");
4754
- var $L188 = $L("until");
4755
- var $L189 = $L("using");
4756
- var $L190 = $L("var");
4757
- var $L191 = $L("void");
4758
- var $L192 = $L("when");
4759
- var $L193 = $L("while");
4760
- var $L194 = $L("yield");
4761
- var $L195 = $L("/>");
4762
- var $L196 = $L("</");
4763
- var $L197 = $L("<>");
4764
- var $L198 = $L("</>");
4765
- var $L199 = $L("<!--");
4766
- var $L200 = $L("-->");
4767
- var $L201 = $L("type");
4768
- var $L202 = $L("enum");
4769
- var $L203 = $L("interface");
4770
- var $L204 = $L("global");
4771
- var $L205 = $L("module");
4772
- var $L206 = $L("namespace");
4773
- var $L207 = $L("asserts");
4774
- var $L208 = $L("keyof");
4775
- var $L209 = $L("infer");
4776
- var $L210 = $L("???");
4777
- var $L211 = $L("[]");
4778
- var $L212 = $L("civet");
4737
+ var $L10 = $L("\u29FA");
4738
+ var $L11 = $L("=>");
4739
+ var $L12 = $L("\u21D2");
4740
+ var $L13 = $L(":");
4741
+ var $L14 = $L(" ");
4742
+ var $L15 = $L("<");
4743
+ var $L16 = $L("implements");
4744
+ var $L17 = $L("<:");
4745
+ var $L18 = $L("import");
4746
+ var $L19 = $L("!");
4747
+ var $L20 = $L("^");
4748
+ var $L21 = $L("-");
4749
+ var $L22 = $L("import.meta");
4750
+ var $L23 = $L("return.value");
4751
+ var $L24 = $L(",");
4752
+ var $L25 = $L("(&)");
4753
+ var $L26 = $L("->");
4754
+ var $L27 = $L("\u2192");
4755
+ var $L28 = $L("}");
4756
+ var $L29 = $L("null");
4757
+ var $L30 = $L("true");
4758
+ var $L31 = $L("false");
4759
+ var $L32 = $L("yes");
4760
+ var $L33 = $L("on");
4761
+ var $L34 = $L("no");
4762
+ var $L35 = $L("off");
4763
+ var $L36 = $L(">");
4764
+ var $L37 = $L("]");
4765
+ var $L38 = $L("**=");
4766
+ var $L39 = $L("*=");
4767
+ var $L40 = $L("/=");
4768
+ var $L41 = $L("%=");
4769
+ var $L42 = $L("+=");
4770
+ var $L43 = $L("-=");
4771
+ var $L44 = $L("<<=");
4772
+ var $L45 = $L(">>>=");
4773
+ var $L46 = $L(">>=");
4774
+ var $L47 = $L("&&=");
4775
+ var $L48 = $L("&=");
4776
+ var $L49 = $L("^=");
4777
+ var $L50 = $L("||=");
4778
+ var $L51 = $L("|=");
4779
+ var $L52 = $L("??=");
4780
+ var $L53 = $L("?=");
4781
+ var $L54 = $L("and=");
4782
+ var $L55 = $L("or=");
4783
+ var $L56 = $L("**");
4784
+ var $L57 = $L("*");
4785
+ var $L58 = $L("/");
4786
+ var $L59 = $L("%%");
4787
+ var $L60 = $L("%");
4788
+ var $L61 = $L("+");
4789
+ var $L62 = $L("<=");
4790
+ var $L63 = $L("\u2264");
4791
+ var $L64 = $L(">=");
4792
+ var $L65 = $L("\u2265");
4793
+ var $L66 = $L("<?");
4794
+ var $L67 = $L("!<?");
4795
+ var $L68 = $L("<<");
4796
+ var $L69 = $L("\xAB");
4797
+ var $L70 = $L(">>>");
4798
+ var $L71 = $L("\u22D9");
4799
+ var $L72 = $L(">>");
4800
+ var $L73 = $L("\xBB");
4801
+ var $L74 = $L("!==");
4802
+ var $L75 = $L("\u2262");
4803
+ var $L76 = $L("!=");
4804
+ var $L77 = $L("\u2260");
4805
+ var $L78 = $L("isnt");
4806
+ var $L79 = $L("===");
4807
+ var $L80 = $L("\u2263");
4808
+ var $L81 = $L("\u2A76");
4809
+ var $L82 = $L("==");
4810
+ var $L83 = $L("\u2261");
4811
+ var $L84 = $L("\u2A75");
4812
+ var $L85 = $L("and");
4813
+ var $L86 = $L("&&");
4814
+ var $L87 = $L("or");
4815
+ var $L88 = $L("||");
4816
+ var $L89 = $L("\u2016");
4817
+ var $L90 = $L("^^");
4818
+ var $L91 = $L("xor");
4819
+ var $L92 = $L("xnor");
4820
+ var $L93 = $L("??");
4821
+ var $L94 = $L("\u2047");
4822
+ var $L95 = $L("instanceof");
4823
+ var $L96 = $L("\u2208");
4824
+ var $L97 = $L("\u220B");
4825
+ var $L98 = $L("\u220C");
4826
+ var $L99 = $L("\u2209");
4827
+ var $L100 = $L("&");
4828
+ var $L101 = $L("|");
4829
+ var $L102 = $L(";");
4830
+ var $L103 = $L("$:");
4831
+ var $L104 = $L("break");
4832
+ var $L105 = $L("continue");
4833
+ var $L106 = $L("debugger");
4834
+ var $L107 = $L("with");
4835
+ var $L108 = $L("assert");
4836
+ var $L109 = $L(":=");
4837
+ var $L110 = $L("\u2254");
4838
+ var $L111 = $L(".=");
4839
+ var $L112 = $L("/*");
4840
+ var $L113 = $L("*/");
4841
+ var $L114 = $L("\\");
4842
+ var $L115 = $L(")");
4843
+ var $L116 = $L("abstract");
4844
+ var $L117 = $L("as");
4845
+ var $L118 = $L("@");
4846
+ var $L119 = $L("@@");
4847
+ var $L120 = $L("async");
4848
+ var $L121 = $L("await");
4849
+ var $L122 = $L("`");
4850
+ var $L123 = $L("by");
4851
+ var $L124 = $L("case");
4852
+ var $L125 = $L("catch");
4853
+ var $L126 = $L("class");
4854
+ var $L127 = $L("#{");
4855
+ var $L128 = $L("declare");
4856
+ var $L129 = $L("default");
4857
+ var $L130 = $L("delete");
4858
+ var $L131 = $L("do");
4859
+ var $L132 = $L("..");
4860
+ var $L133 = $L("\u2025");
4861
+ var $L134 = $L("...");
4862
+ var $L135 = $L("\u2026");
4863
+ var $L136 = $L("::");
4864
+ var $L137 = $L('"');
4865
+ var $L138 = $L("each");
4866
+ var $L139 = $L("else");
4867
+ var $L140 = $L("export");
4868
+ var $L141 = $L("extends");
4869
+ var $L142 = $L("finally");
4870
+ var $L143 = $L("for");
4871
+ var $L144 = $L("from");
4872
+ var $L145 = $L("function");
4873
+ var $L146 = $L("get");
4874
+ var $L147 = $L("set");
4875
+ var $L148 = $L("#");
4876
+ var $L149 = $L("if");
4877
+ var $L150 = $L("in");
4878
+ var $L151 = $L("let");
4879
+ var $L152 = $L("const");
4880
+ var $L153 = $L("is");
4881
+ var $L154 = $L("loop");
4882
+ var $L155 = $L("new");
4883
+ var $L156 = $L("not");
4884
+ var $L157 = $L("of");
4885
+ var $L158 = $L("[");
4886
+ var $L159 = $L("operator");
4887
+ var $L160 = $L("own");
4888
+ var $L161 = $L("public");
4889
+ var $L162 = $L("private");
4890
+ var $L163 = $L("protected");
4891
+ var $L164 = $L("||>");
4892
+ var $L165 = $L("|\u25B7");
4893
+ var $L166 = $L("|>=");
4894
+ var $L167 = $L("\u25B7=");
4895
+ var $L168 = $L("|>");
4896
+ var $L169 = $L("\u25B7");
4897
+ var $L170 = $L("readonly");
4898
+ var $L171 = $L("return");
4899
+ var $L172 = $L("satisfies");
4900
+ var $L173 = $L("'");
4901
+ var $L174 = $L("static");
4902
+ var $L175 = $L("${");
4903
+ var $L176 = $L("super");
4904
+ var $L177 = $L("switch");
4905
+ var $L178 = $L("target");
4906
+ var $L179 = $L("then");
4907
+ var $L180 = $L("this");
4908
+ var $L181 = $L("throw");
4909
+ var $L182 = $L('"""');
4910
+ var $L183 = $L("'''");
4911
+ var $L184 = $L("///");
4912
+ var $L185 = $L("```");
4913
+ var $L186 = $L("try");
4914
+ var $L187 = $L("typeof");
4915
+ var $L188 = $L("unless");
4916
+ var $L189 = $L("until");
4917
+ var $L190 = $L("using");
4918
+ var $L191 = $L("var");
4919
+ var $L192 = $L("void");
4920
+ var $L193 = $L("when");
4921
+ var $L194 = $L("while");
4922
+ var $L195 = $L("yield");
4923
+ var $L196 = $L("/>");
4924
+ var $L197 = $L("</");
4925
+ var $L198 = $L("<>");
4926
+ var $L199 = $L("</>");
4927
+ var $L200 = $L("<!--");
4928
+ var $L201 = $L("-->");
4929
+ var $L202 = $L("type");
4930
+ var $L203 = $L("enum");
4931
+ var $L204 = $L("interface");
4932
+ var $L205 = $L("global");
4933
+ var $L206 = $L("module");
4934
+ var $L207 = $L("namespace");
4935
+ var $L208 = $L("asserts");
4936
+ var $L209 = $L("keyof");
4937
+ var $L210 = $L("infer");
4938
+ var $L211 = $L("???");
4939
+ var $L212 = $L("[]");
4940
+ var $L213 = $L("civet");
4779
4941
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4780
4942
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4781
4943
  var $R2 = $R(new RegExp("[0-9]", "suy"));
4782
- var $R3 = $R(new RegExp("[ \\t]", "suy"));
4783
- var $R4 = $R(new RegExp("(?=['\"`<])", "suy"));
4784
- var $R5 = $R(new RegExp("(?=[\\/?])", "suy"));
4785
- var $R6 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4786
- var $R7 = $R(new RegExp("[)}]", "suy"));
4787
- var $R8 = $R(new RegExp("[&]", "suy"));
4788
- var $R9 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4789
- var $R10 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4790
- var $R11 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4791
- var $R12 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4792
- var $R13 = $R(new RegExp("(?=\\[)", "suy"));
4793
- var $R14 = $R(new RegExp("[!+-]", "suy"));
4794
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])", "suy"));
4795
- var $R16 = $R(new RegExp("!\\^\\^?", "suy"));
4796
- var $R17 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4797
- var $R18 = $R(new RegExp("[:.]", "suy"));
4798
- var $R19 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4799
- var $R20 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4800
- var $R21 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4801
- var $R22 = $R(new RegExp('[^;"\\s]+', "suy"));
4802
- var $R23 = $R(new RegExp("(?=[0-9.])", "suy"));
4803
- var $R24 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4804
- var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4805
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4806
- var $R27 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4807
- var $R28 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4808
- var $R29 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4809
- var $R30 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4810
- var $R31 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4811
- var $R32 = $R(new RegExp("(?=[0-9])", "suy"));
4812
- var $R33 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4813
- var $R34 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4814
- var $R35 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4815
- var $R36 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4816
- var $R37 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4817
- var $R38 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4818
- var $R39 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4819
- var $R40 = $R(new RegExp("(?:\\\\.)", "suy"));
4820
- var $R41 = $R(new RegExp("[\\s]+", "suy"));
4821
- var $R42 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4822
- var $R43 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4823
- var $R44 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4824
- var $R45 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4825
- var $R46 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4826
- var $R47 = $R(new RegExp("(?=[`'\"])", "suy"));
4827
- var $R48 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4828
- var $R49 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4829
- var $R50 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4830
- var $R51 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4831
- var $R52 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4832
- var $R53 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4833
- var $R54 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4834
- var $R55 = $R(new RegExp("(?=\\/|#)", "suy"));
4835
- var $R56 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4836
- var $R57 = $R(new RegExp(".", "suy"));
4837
- var $R58 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4838
- var $R59 = $R(new RegExp("[^]*?###", "suy"));
4839
- var $R60 = $R(new RegExp("###(?!#)", "suy"));
4840
- var $R61 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
4841
- var $R62 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
4842
- var $R63 = $R(new RegExp("[ \\t]+", "suy"));
4843
- var $R64 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
4844
- var $R65 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
4845
- var $R66 = $R(new RegExp("['\u2019]s", "suy"));
4846
- var $R67 = $R(new RegExp("\\s", "suy"));
4847
- var $R68 = $R(new RegExp("(?=[<])", "suy"));
4848
- var $R69 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
4849
- var $R70 = $R(new RegExp("[\\s>]|\\/>", "suy"));
4850
- var $R71 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
4851
- var $R72 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
4852
- var $R73 = $R(new RegExp("[<>]", "suy"));
4853
- var $R74 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
4854
- var $R75 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
4855
- var $R76 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
4856
- var $R77 = $R(new RegExp("[+-]?", "suy"));
4857
- var $R78 = $R(new RegExp("[+-]", "suy"));
4858
- var $R79 = $R(new RegExp("#![^\\r\\n]*", "suy"));
4859
- var $R80 = $R(new RegExp("[\\t ]*", "suy"));
4860
- var $R81 = $R(new RegExp("[ \\t]*", "suy"));
4861
- var $R82 = $R(new RegExp("[\\s]*", "suy"));
4862
- var $R83 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
4863
- var $R84 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
4864
- var $R85 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
4865
- var $R86 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4944
+ var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
4945
+ var $R4 = $R(new RegExp("[ \\t]", "suy"));
4946
+ var $R5 = $R(new RegExp("(?=['\"`<])", "suy"));
4947
+ var $R6 = $R(new RegExp("(?=[\\/?])", "suy"));
4948
+ var $R7 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4949
+ var $R8 = $R(new RegExp("[)}]", "suy"));
4950
+ var $R9 = $R(new RegExp("[&]", "suy"));
4951
+ var $R10 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4952
+ var $R11 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4953
+ var $R12 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4954
+ var $R13 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4955
+ var $R14 = $R(new RegExp("(?=\\[)", "suy"));
4956
+ var $R15 = $R(new RegExp("[!+-]", "suy"));
4957
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
4958
+ var $R17 = $R(new RegExp("!\\^\\^?", "suy"));
4959
+ var $R18 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4960
+ var $R19 = $R(new RegExp("[:.]", "suy"));
4961
+ var $R20 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4962
+ var $R21 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4963
+ var $R22 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4964
+ var $R23 = $R(new RegExp('[^;"\\s]+', "suy"));
4965
+ var $R24 = $R(new RegExp("(?=[0-9.])", "suy"));
4966
+ var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4967
+ var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4968
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4969
+ var $R28 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4970
+ var $R29 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4971
+ var $R30 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4972
+ var $R31 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4973
+ var $R32 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4974
+ var $R33 = $R(new RegExp("(?=[0-9])", "suy"));
4975
+ var $R34 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4976
+ var $R35 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4977
+ var $R36 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4978
+ var $R37 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4979
+ var $R38 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4980
+ var $R39 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4981
+ var $R40 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4982
+ var $R41 = $R(new RegExp("(?:\\\\.)", "suy"));
4983
+ var $R42 = $R(new RegExp("[\\s]+", "suy"));
4984
+ var $R43 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4985
+ var $R44 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4986
+ var $R45 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4987
+ var $R46 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4988
+ var $R47 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4989
+ var $R48 = $R(new RegExp("(?=[`'\"])", "suy"));
4990
+ var $R49 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4991
+ var $R50 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4992
+ var $R51 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4993
+ var $R52 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4994
+ var $R53 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4995
+ var $R54 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4996
+ var $R55 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4997
+ var $R56 = $R(new RegExp("(?=\\/|#)", "suy"));
4998
+ var $R57 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4999
+ var $R58 = $R(new RegExp(".", "suy"));
5000
+ var $R59 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
5001
+ var $R60 = $R(new RegExp("[^]*?###", "suy"));
5002
+ var $R61 = $R(new RegExp("###(?!#)", "suy"));
5003
+ var $R62 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
5004
+ var $R63 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
5005
+ var $R64 = $R(new RegExp("[ \\t]+", "suy"));
5006
+ var $R65 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5007
+ var $R66 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5008
+ var $R67 = $R(new RegExp("['\u2019]s", "suy"));
5009
+ var $R68 = $R(new RegExp("\\s", "suy"));
5010
+ var $R69 = $R(new RegExp("(?=[<])", "suy"));
5011
+ var $R70 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5012
+ var $R71 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5013
+ var $R72 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5014
+ var $R73 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5015
+ var $R74 = $R(new RegExp("[<>]", "suy"));
5016
+ var $R75 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5017
+ var $R76 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5018
+ var $R77 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5019
+ var $R78 = $R(new RegExp("[+-]?", "suy"));
5020
+ var $R79 = $R(new RegExp("[+-]", "suy"));
5021
+ var $R80 = $R(new RegExp("(?=if|unless)", "suy"));
5022
+ var $R81 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5023
+ var $R82 = $R(new RegExp("[\\t ]*", "suy"));
5024
+ var $R83 = $R(new RegExp("[ \\t]*", "suy"));
5025
+ var $R84 = $R(new RegExp("[\\s]*", "suy"));
5026
+ var $R85 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5027
+ var $R86 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5028
+ var $R87 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5029
+ var $R88 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4866
5030
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4867
5031
  var statements = $4;
4868
5032
  processProgram({
@@ -5282,13 +5446,28 @@ var require_parser = __commonJS({
5282
5446
  return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
5283
5447
  }
5284
5448
  var UnaryPostfix$0 = QuestionMark;
5285
- var UnaryPostfix$1 = $T($P($S(__, $C(As, Satisfies), Type)), function(value) {
5449
+ var UnaryPostfix$1 = $T($P(TypePostfix), function(value) {
5286
5450
  return { "ts": true, "children": value };
5287
5451
  });
5288
5452
  var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
5289
5453
  function UnaryPostfix(ctx, state) {
5290
5454
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5291
5455
  }
5456
+ var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5457
+ var ws = $1;
5458
+ var as = $2;
5459
+ var ex = $3;
5460
+ var type = $4;
5461
+ if (ex) {
5462
+ return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5463
+ }
5464
+ return [ws, as, type];
5465
+ });
5466
+ var TypePostfix$1 = $S(_, Satisfies, Type);
5467
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5468
+ function TypePostfix(ctx, state) {
5469
+ return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5470
+ }
5292
5471
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5293
5472
  return {
5294
5473
  type: "UpdateExpression",
@@ -5296,13 +5475,13 @@ var require_parser = __commonJS({
5296
5475
  children: $0
5297
5476
  };
5298
5477
  });
5299
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
5478
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
5300
5479
  if (!$2)
5301
5480
  return $1;
5302
5481
  return {
5303
5482
  type: "UpdateExpression",
5304
5483
  assigned: $1,
5305
- children: $0
5484
+ children: [$1, $2[0]]
5306
5485
  };
5307
5486
  });
5308
5487
  var UpdateExpression$$ = [UpdateExpression$0, UpdateExpression$1];
@@ -5312,8 +5491,12 @@ var require_parser = __commonJS({
5312
5491
  var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L8, 'UpdateExpressionSymbol "++"'), $EXPECT($L9, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
5313
5492
  return { $loc, token: $1 };
5314
5493
  });
5494
+ var UpdateExpressionSymbol$1 = $TV($EXPECT($L10, 'UpdateExpressionSymbol "\u29FA"'), function($skip, $loc, $0, $1) {
5495
+ return { $loc, token: "++" };
5496
+ });
5497
+ var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1];
5315
5498
  function UpdateExpressionSymbol(ctx, state) {
5316
- return $EVENT(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$0);
5499
+ return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
5317
5500
  }
5318
5501
  var AssignmentExpression$0 = PipelineExpression;
5319
5502
  var AssignmentExpression$1 = SingleLineAssignmentExpression;
@@ -5416,7 +5599,7 @@ var require_parser = __commonJS({
5416
5599
  function ArrowFunction(ctx, state) {
5417
5600
  return $EVENT_C(ctx, state, "ArrowFunction", ArrowFunction$$);
5418
5601
  }
5419
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L10, 'FatArrow "=>"'), $EXPECT($L11, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5602
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L11, 'FatArrow "=>"'), $EXPECT($L12, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5420
5603
  var ws = $1;
5421
5604
  if (!ws)
5422
5605
  return " =>";
@@ -5451,7 +5634,7 @@ var require_parser = __commonJS({
5451
5634
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
5452
5635
  }
5453
5636
  var TernaryRest$0 = NestedTernaryRest;
5454
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R3, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5637
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R4, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5455
5638
  return $0.slice(2);
5456
5639
  });
5457
5640
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -5579,7 +5762,7 @@ var require_parser = __commonJS({
5579
5762
  function ClassDeclaration(ctx, state) {
5580
5763
  return $EVENT(ctx, state, "ClassDeclaration", ClassDeclaration$0);
5581
5764
  }
5582
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L12, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5765
+ var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L13, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5583
5766
  function ClassExpression(ctx, state) {
5584
5767
  return $EVENT(ctx, state, "ClassExpression", ClassExpression$0);
5585
5768
  }
@@ -5599,27 +5782,67 @@ var require_parser = __commonJS({
5599
5782
  function ExtendsClause(ctx, state) {
5600
5783
  return $EVENT(ctx, state, "ExtendsClause", ExtendsClause$0);
5601
5784
  }
5602
- var ExtendsToken$0 = $TS($S(Loc, __, ExtendsShorthand, $E($EXPECT($L13, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5785
+ var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L14, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5603
5786
  var l = $1;
5604
5787
  var ws = $2;
5605
5788
  var t = $3;
5606
- const children = [...ws, t];
5607
- if (!ws.length) {
5608
- children.unshift({ $loc: l.$loc, token: " " });
5609
- }
5610
- return { children };
5789
+ return {
5790
+ type: "Extends",
5791
+ children: [
5792
+ ws || { $loc: l.$loc, token: " " },
5793
+ t
5794
+ ]
5795
+ };
5796
+ });
5797
+ var ExtendsToken$1 = $TS($S($E(_), Extends), function($skip, $loc, $0, $1, $2) {
5798
+ return {
5799
+ type: "Extends",
5800
+ children: $0
5801
+ };
5611
5802
  });
5612
- var ExtendsToken$1 = $S(__, Extends);
5613
5803
  var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
5614
5804
  function ExtendsToken(ctx, state) {
5615
5805
  return $EVENT_C(ctx, state, "ExtendsToken", ExtendsToken$$);
5616
5806
  }
5617
- var ExtendsShorthand$0 = $TV($EXPECT($L14, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5807
+ var ExtendsShorthand$0 = $TV($EXPECT($L15, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5618
5808
  return { $loc, token: "extends " };
5619
5809
  });
5620
5810
  function ExtendsShorthand(ctx, state) {
5621
5811
  return $EVENT(ctx, state, "ExtendsShorthand", ExtendsShorthand$0);
5622
5812
  }
5813
+ var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L14, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5814
+ var l = $1;
5815
+ var ws1 = $2;
5816
+ var ws2 = $3;
5817
+ var t = $4;
5818
+ const ws = ws1 && ws2 ? [ws1, ws2] : ws1 || ws2 || { $loc: l.$loc, token: " " };
5819
+ return {
5820
+ type: "Extends",
5821
+ negated: true,
5822
+ children: [ws, t]
5823
+ };
5824
+ });
5825
+ var NotExtendsToken$1 = $TS($S($E(_), OmittedNegation, Extends), function($skip, $loc, $0, $1, $2, $3) {
5826
+ return {
5827
+ type: "Extends",
5828
+ negated: true,
5829
+ children: $0
5830
+ };
5831
+ });
5832
+ var NotExtendsToken$$ = [NotExtendsToken$0, NotExtendsToken$1];
5833
+ function NotExtendsToken(ctx, state) {
5834
+ return $EVENT_C(ctx, state, "NotExtendsToken", NotExtendsToken$$);
5835
+ }
5836
+ var OmittedNegation$0 = $T($S(ExclamationPoint), function(value) {
5837
+ return "";
5838
+ });
5839
+ var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L14, 'OmittedNegation " "')), $E(_)), function(value) {
5840
+ return value[2];
5841
+ });
5842
+ var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
5843
+ function OmittedNegation(ctx, state) {
5844
+ return $EVENT_C(ctx, state, "OmittedNegation", OmittedNegation$$);
5845
+ }
5623
5846
  var ExtendsTarget$0 = $TS($S(LeftHandSideExpressionWithObjectApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5624
5847
  var exp = $1;
5625
5848
  var ta = $2;
@@ -5640,7 +5863,7 @@ var require_parser = __commonJS({
5640
5863
  function ImplementsClause(ctx, state) {
5641
5864
  return $EVENT(ctx, state, "ImplementsClause", ImplementsClause$0);
5642
5865
  }
5643
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L13, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5866
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L14, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5644
5867
  var l = $1;
5645
5868
  var ws = $2;
5646
5869
  var token = $3;
@@ -5650,7 +5873,7 @@ var require_parser = __commonJS({
5650
5873
  }
5651
5874
  return { children };
5652
5875
  });
5653
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L15, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5876
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L16, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5654
5877
  $2 = { $loc, token: $2 };
5655
5878
  return [$1, $2];
5656
5879
  });
@@ -5658,7 +5881,7 @@ var require_parser = __commonJS({
5658
5881
  function ImplementsToken(ctx, state) {
5659
5882
  return $EVENT_C(ctx, state, "ImplementsToken", ImplementsToken$$);
5660
5883
  }
5661
- var ImplementsShorthand$0 = $TV($EXPECT($L16, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5884
+ var ImplementsShorthand$0 = $TV($EXPECT($L17, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5662
5885
  return { $loc, token: "implements " };
5663
5886
  });
5664
5887
  function ImplementsShorthand(ctx, state) {
@@ -5870,7 +6093,7 @@ var require_parser = __commonJS({
5870
6093
  function AtThis(ctx, state) {
5871
6094
  return $EVENT(ctx, state, "AtThis", AtThis$0);
5872
6095
  }
5873
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L12, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6096
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L13, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
5874
6097
  var LeftHandSideExpression$1 = CallExpression;
5875
6098
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
5876
6099
  function LeftHandSideExpression(ctx, state) {
@@ -5883,7 +6106,7 @@ var require_parser = __commonJS({
5883
6106
  children: [$1, ...$2, ...rest.flat()]
5884
6107
  });
5885
6108
  });
5886
- var CallExpression$1 = $TS($S($EXPECT($L17, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6109
+ var CallExpression$1 = $TS($S($EXPECT($L18, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
5887
6110
  var rest = $3;
5888
6111
  return processCallMemberExpression({
5889
6112
  type: "CallExpression",
@@ -5908,7 +6131,7 @@ var require_parser = __commonJS({
5908
6131
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
5909
6132
  }
5910
6133
  var CallExpressionRest$0 = MemberExpressionRest;
5911
- var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
6134
+ var CallExpressionRest$1 = $TS($S($EXPECT($R5, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
5912
6135
  var args = $2;
5913
6136
  var literal = $3;
5914
6137
  if (literal.type === "StringLiteral") {
@@ -5927,7 +6150,7 @@ var require_parser = __commonJS({
5927
6150
  function CallExpressionRest(ctx, state) {
5928
6151
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
5929
6152
  }
5930
- var OptionalShorthand$0 = $TS($S($EXPECT($R5, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
6153
+ var OptionalShorthand$0 = $TS($S($EXPECT($R6, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
5931
6154
  return {
5932
6155
  type: "Optional",
5933
6156
  children: $0
@@ -5944,7 +6167,7 @@ var require_parser = __commonJS({
5944
6167
  function OptionalDot(ctx, state) {
5945
6168
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
5946
6169
  }
5947
- var NonNullAssertion$0 = $T($S($EXPECT($L18, 'NonNullAssertion "!"'), $N($EXPECT($L19, 'NonNullAssertion "^"'))), function(value) {
6170
+ var NonNullAssertion$0 = $T($S($EXPECT($L19, 'NonNullAssertion "!"'), $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
5948
6171
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
5949
6172
  });
5950
6173
  function NonNullAssertion(ctx, state) {
@@ -5980,7 +6203,7 @@ var require_parser = __commonJS({
5980
6203
  function MemberBase(ctx, state) {
5981
6204
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
5982
6205
  }
5983
- var MemberExpressionRest$0 = $TS($S($EXPECT($R6, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
6206
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R7, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
5984
6207
  var comments = $2;
5985
6208
  var body = $3;
5986
6209
  if (Array.isArray(body))
@@ -6135,7 +6358,7 @@ var require_parser = __commonJS({
6135
6358
  ]
6136
6359
  };
6137
6360
  });
6138
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L20, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6361
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6139
6362
  var dot = $1;
6140
6363
  var neg = $2;
6141
6364
  var num = $3;
@@ -6211,7 +6434,7 @@ var require_parser = __commonJS({
6211
6434
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6212
6435
  }
6213
6436
  var MetaProperty$0 = $S(New, Dot, Target);
6214
- var MetaProperty$1 = $TS($S($EXPECT($L21, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6437
+ var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6215
6438
  return { $loc, token: $1 };
6216
6439
  });
6217
6440
  var MetaProperty$2 = ReturnValue;
@@ -6219,7 +6442,7 @@ var require_parser = __commonJS({
6219
6442
  function MetaProperty(ctx, state) {
6220
6443
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6221
6444
  }
6222
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6445
+ var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6223
6446
  return { type: "ReturnValue", children: [$1[0]] };
6224
6447
  });
6225
6448
  function ReturnValue(ctx, state) {
@@ -6421,7 +6644,7 @@ var require_parser = __commonJS({
6421
6644
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
6422
6645
  }
6423
6646
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
6424
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R7, "ParameterElementDelimiter /[)}]/"))));
6647
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R8, "ParameterElementDelimiter /[)}]/"))));
6425
6648
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6426
6649
  return value[1];
6427
6650
  });
@@ -6732,7 +6955,7 @@ var require_parser = __commonJS({
6732
6955
  children: [ws, binding]
6733
6956
  };
6734
6957
  });
6735
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6958
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6736
6959
  return {
6737
6960
  children: [{
6738
6961
  type: "ElisionElement",
@@ -6856,7 +7079,7 @@ var require_parser = __commonJS({
6856
7079
  block
6857
7080
  };
6858
7081
  });
6859
- var FunctionExpression$1 = $TV($EXPECT($L24, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7082
+ var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
6860
7083
  const ref = makeRef("$"), body = [ref];
6861
7084
  const parameters = {
6862
7085
  type: "Parameters",
@@ -6871,7 +7094,7 @@ var require_parser = __commonJS({
6871
7094
  signature: {
6872
7095
  modifier: {}
6873
7096
  },
6874
- children: [ref, " => ", body],
7097
+ children: [parameters, " => ", body],
6875
7098
  ref,
6876
7099
  body,
6877
7100
  ampersandBlock: true,
@@ -6879,8 +7102,38 @@ var require_parser = __commonJS({
6879
7102
  parameters
6880
7103
  };
6881
7104
  });
6882
- var FunctionExpression$2 = AmpersandFunctionExpression;
6883
- var FunctionExpression$3 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7105
+ var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7106
+ var open = $1;
7107
+ var op = $2;
7108
+ var close = $3;
7109
+ if (op.special && op.call && !op.negated)
7110
+ return op.call;
7111
+ const refA = makeRef("a"), refB = makeRef("b"), body = processBinaryOpExpression([refA, [
7112
+ [[], op, [], refB]
7113
+ // BinaryOpRHS
7114
+ ]]);
7115
+ const parameters = {
7116
+ type: "Parameters",
7117
+ children: ["(", refA, ",", refB, ")"],
7118
+ names: []
7119
+ };
7120
+ const block = {
7121
+ expressions: [body]
7122
+ };
7123
+ return {
7124
+ type: "ArrowFunction",
7125
+ signature: {
7126
+ modifier: {}
7127
+ },
7128
+ children: [open, parameters, " => ", body, close],
7129
+ body,
7130
+ ampersandBlock: true,
7131
+ block,
7132
+ parameters
7133
+ };
7134
+ });
7135
+ var FunctionExpression$3 = AmpersandFunctionExpression;
7136
+ var FunctionExpression$4 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6884
7137
  var id = $1;
6885
7138
  var ws = $4;
6886
7139
  var fn = $5;
@@ -6895,7 +7148,7 @@ var require_parser = __commonJS({
6895
7148
  ]
6896
7149
  };
6897
7150
  });
6898
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
7151
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4];
6899
7152
  function FunctionExpression(ctx, state) {
6900
7153
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
6901
7154
  }
@@ -7026,7 +7279,7 @@ var require_parser = __commonJS({
7026
7279
  function AmpersandBlockRHS(ctx, state) {
7027
7280
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7028
7281
  }
7029
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7282
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R9, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7030
7283
  var callExpRest = $1;
7031
7284
  var unaryPostfix = $2;
7032
7285
  var assign = $3;
@@ -7116,7 +7369,7 @@ var require_parser = __commonJS({
7116
7369
  function ThinArrowFunction(ctx, state) {
7117
7370
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7118
7371
  }
7119
- var Arrow$0 = $TV($C($EXPECT($L25, 'Arrow "->"'), $EXPECT($L26, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7372
+ var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7120
7373
  return { $loc, token: "->" };
7121
7374
  });
7122
7375
  function Arrow(ctx, state) {
@@ -7402,7 +7655,7 @@ var require_parser = __commonJS({
7402
7655
  }
7403
7656
  var BracedContent$0 = NestedBlockStatements;
7404
7657
  var BracedContent$1 = SingleLineStatements;
7405
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L27, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7658
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7406
7659
  const expressions = [];
7407
7660
  return {
7408
7661
  type: "BlockStatement",
@@ -7452,7 +7705,7 @@ var require_parser = __commonJS({
7452
7705
  function BlockStatementPart(ctx, state) {
7453
7706
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
7454
7707
  }
7455
- var Literal$0 = $TS($S($EXPECT($R9, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7708
+ var Literal$0 = $TS($S($EXPECT($R10, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7456
7709
  var literal = $2;
7457
7710
  return {
7458
7711
  type: "Literal",
@@ -7472,13 +7725,13 @@ var require_parser = __commonJS({
7472
7725
  function LiteralContent(ctx, state) {
7473
7726
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7474
7727
  }
7475
- var NullLiteral$0 = $TS($S($EXPECT($L28, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7728
+ var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7476
7729
  return { $loc, token: $1 };
7477
7730
  });
7478
7731
  function NullLiteral(ctx, state) {
7479
7732
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
7480
7733
  }
7481
- var BooleanLiteral$0 = $T($S($EXPECT($R10, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7734
+ var BooleanLiteral$0 = $T($S($EXPECT($R11, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7482
7735
  return value[1];
7483
7736
  });
7484
7737
  function BooleanLiteral(ctx, state) {
@@ -7487,31 +7740,31 @@ var require_parser = __commonJS({
7487
7740
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7488
7741
  return value[1];
7489
7742
  });
7490
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L29, '_BooleanLiteral "true"'), $EXPECT($L30, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7743
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7491
7744
  return { $loc, token: $1 };
7492
7745
  });
7493
7746
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7494
7747
  function _BooleanLiteral(ctx, state) {
7495
7748
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7496
7749
  }
7497
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L31, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L32, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7750
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7498
7751
  return { $loc, token: "true" };
7499
7752
  });
7500
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7753
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7501
7754
  return { $loc, token: "false" };
7502
7755
  });
7503
7756
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
7504
7757
  function CoffeeScriptBooleanLiteral(ctx, state) {
7505
7758
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
7506
7759
  }
7507
- var Identifier$0 = $T($S($EXPECT($R11, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7760
+ var Identifier$0 = $T($S($EXPECT($R12, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7508
7761
  var id = value[2];
7509
7762
  return id;
7510
7763
  });
7511
7764
  function Identifier(ctx, state) {
7512
7765
  return $EVENT(ctx, state, "Identifier", Identifier$0);
7513
7766
  }
7514
- var IdentifierName$0 = $TR($EXPECT($R12, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7767
+ var IdentifierName$0 = $TR($EXPECT($R13, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7515
7768
  return {
7516
7769
  type: "Identifier",
7517
7770
  name: $0,
@@ -7529,11 +7782,11 @@ var require_parser = __commonJS({
7529
7782
  function IdentifierReference(ctx, state) {
7530
7783
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
7531
7784
  }
7532
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L35, 'UpcomingAssignment ">"')))));
7785
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
7533
7786
  function UpcomingAssignment(ctx, state) {
7534
7787
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
7535
7788
  }
7536
- var ArrayLiteral$0 = $T($S($EXPECT($R13, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7789
+ var ArrayLiteral$0 = $T($S($EXPECT($R14, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7537
7790
  return value[1];
7538
7791
  });
7539
7792
  function ArrayLiteral(ctx, state) {
@@ -7687,7 +7940,7 @@ var require_parser = __commonJS({
7687
7940
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
7688
7941
  }
7689
7942
  var ArrayElementDelimiter$0 = $S(__, Comma);
7690
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ArrayElementDelimiter "]"')));
7943
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
7691
7944
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7692
7945
  return value[1];
7693
7946
  });
@@ -7917,7 +8170,7 @@ var require_parser = __commonJS({
7917
8170
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
7918
8171
  }
7919
8172
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
7920
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L27, 'ObjectPropertyDelimiter "}"')));
8173
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
7921
8174
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7922
8175
  return value[1];
7923
8176
  });
@@ -7933,7 +8186,7 @@ var require_parser = __commonJS({
7933
8186
  children: [ws, ...prop.children]
7934
8187
  };
7935
8188
  });
7936
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R14, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8189
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R15, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
7937
8190
  var ws = $1;
7938
8191
  var toggle = $2;
7939
8192
  var id = $3;
@@ -8100,7 +8353,7 @@ var require_parser = __commonJS({
8100
8353
  implicit: true
8101
8354
  };
8102
8355
  });
8103
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8356
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L21, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8104
8357
  const expression = [$2, $3];
8105
8358
  return {
8106
8359
  type: "ComputedPropertyName",
@@ -8360,11 +8613,16 @@ var require_parser = __commonJS({
8360
8613
  }
8361
8614
  var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $E(_)), function($skip, $loc, $0, $1, $2) {
8362
8615
  if ($2?.length) {
8616
+ if (typeof $1 !== "string") {
8617
+ return { ...$1, children: [...$1.children, $2] };
8618
+ }
8363
8619
  return {
8364
8620
  token: $1,
8365
8621
  children: [$1, ...$2]
8366
8622
  };
8367
8623
  }
8624
+ if (typeof $1 !== "string")
8625
+ return $1;
8368
8626
  return { $loc, token: $1 };
8369
8627
  });
8370
8628
  function AssignmentOp(ctx, state) {
@@ -8395,38 +8653,46 @@ var require_parser = __commonJS({
8395
8653
  function OperatorAssignmentOp(ctx, state) {
8396
8654
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8397
8655
  }
8398
- var AssignmentOpSymbol$0 = $EXPECT($L37, 'AssignmentOpSymbol "**="');
8399
- var AssignmentOpSymbol$1 = $EXPECT($L38, 'AssignmentOpSymbol "*="');
8400
- var AssignmentOpSymbol$2 = $EXPECT($L39, 'AssignmentOpSymbol "/="');
8401
- var AssignmentOpSymbol$3 = $EXPECT($L40, 'AssignmentOpSymbol "%="');
8402
- var AssignmentOpSymbol$4 = $EXPECT($L41, 'AssignmentOpSymbol "+="');
8403
- var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "-="');
8404
- var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "<<="');
8405
- var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol ">>>="');
8406
- var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>="');
8407
- var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol "&&="');
8408
- var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&="');
8409
- var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "^="');
8410
- var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "||="');
8411
- var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "|="');
8412
- var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "??="');
8413
- var AssignmentOpSymbol$15 = $T($EXPECT($L52, 'AssignmentOpSymbol "?="'), function(value) {
8656
+ var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8657
+ var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8658
+ var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8659
+ var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8660
+ var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8661
+ return {
8662
+ special: true,
8663
+ call: module2.getRef("concatAssign"),
8664
+ omitLhs: true,
8665
+ children: [$2]
8666
+ };
8667
+ });
8668
+ var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8669
+ var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8670
+ var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8671
+ var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8672
+ var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8673
+ var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8674
+ var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8675
+ var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8676
+ var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8677
+ var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8678
+ var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8679
+ var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8414
8680
  return "??=";
8415
8681
  });
8416
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8682
+ var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8417
8683
  return value[0];
8418
8684
  });
8419
- var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
8685
+ var AssignmentOpSymbol$18 = $T($S(CoffeeWordAssignmentOp), function(value) {
8420
8686
  return value[0];
8421
8687
  });
8422
- var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17];
8688
+ var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17, AssignmentOpSymbol$18];
8423
8689
  function AssignmentOpSymbol(ctx, state) {
8424
8690
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8425
8691
  }
8426
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L53, 'CoffeeWordAssignmentOp "and="'), function(value) {
8692
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8427
8693
  return "&&=";
8428
8694
  });
8429
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "or="'), function(value) {
8695
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8430
8696
  return "||=";
8431
8697
  });
8432
8698
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -8460,7 +8726,7 @@ var require_parser = __commonJS({
8460
8726
  function IdentifierBinaryOp(ctx, state) {
8461
8727
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
8462
8728
  }
8463
- var BinaryOp$0 = $T($S($EXPECT($R15, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])/"), _BinaryOp), function(value) {
8729
+ var BinaryOp$0 = $T($S($EXPECT($R16, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8464
8730
  var op = value[1];
8465
8731
  return op;
8466
8732
  });
@@ -8495,27 +8761,33 @@ var require_parser = __commonJS({
8495
8761
  function _BinaryOp(ctx, state) {
8496
8762
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
8497
8763
  }
8498
- var BinaryOpSymbol$0 = $EXPECT($L55, 'BinaryOpSymbol "**"');
8499
- var BinaryOpSymbol$1 = $EXPECT($L56, 'BinaryOpSymbol "*"');
8500
- var BinaryOpSymbol$2 = $EXPECT($L57, 'BinaryOpSymbol "/"');
8501
- var BinaryOpSymbol$3 = $TV($EXPECT($L58, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8764
+ var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
8765
+ var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
8766
+ var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
8767
+ var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8502
8768
  return {
8503
8769
  call: module2.getRef("modulo"),
8504
8770
  special: true
8505
8771
  };
8506
8772
  });
8507
- var BinaryOpSymbol$4 = $EXPECT($L59, 'BinaryOpSymbol "%"');
8508
- var BinaryOpSymbol$5 = $EXPECT($L60, 'BinaryOpSymbol "+"');
8509
- var BinaryOpSymbol$6 = $EXPECT($L20, 'BinaryOpSymbol "-"');
8510
- var BinaryOpSymbol$7 = $EXPECT($L61, 'BinaryOpSymbol "<="');
8511
- var BinaryOpSymbol$8 = $T($EXPECT($L62, 'BinaryOpSymbol "\u2264"'), function(value) {
8773
+ var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
8774
+ var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
8775
+ return {
8776
+ method: "concat",
8777
+ special: true
8778
+ };
8779
+ });
8780
+ var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
8781
+ var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
8782
+ var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
8783
+ var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
8512
8784
  return "<=";
8513
8785
  });
8514
- var BinaryOpSymbol$9 = $EXPECT($L63, 'BinaryOpSymbol ">="');
8515
- var BinaryOpSymbol$10 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2265"'), function(value) {
8786
+ var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
8787
+ var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
8516
8788
  return ">=";
8517
8789
  });
8518
- var BinaryOpSymbol$11 = $TV($EXPECT($L65, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8790
+ var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8519
8791
  return {
8520
8792
  $loc,
8521
8793
  token: "instanceof",
@@ -8523,7 +8795,7 @@ var require_parser = __commonJS({
8523
8795
  special: true
8524
8796
  };
8525
8797
  });
8526
- var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8798
+ var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8527
8799
  return {
8528
8800
  $loc,
8529
8801
  token: "instanceof",
@@ -8532,74 +8804,74 @@ var require_parser = __commonJS({
8532
8804
  negated: true
8533
8805
  };
8534
8806
  });
8535
- var BinaryOpSymbol$13 = $EXPECT($L67, 'BinaryOpSymbol "<<"');
8536
- var BinaryOpSymbol$14 = $T($EXPECT($L68, 'BinaryOpSymbol "\xAB"'), function(value) {
8807
+ var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
8808
+ var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
8537
8809
  return "<<";
8538
8810
  });
8539
- var BinaryOpSymbol$15 = $EXPECT($L14, 'BinaryOpSymbol "<"');
8540
- var BinaryOpSymbol$16 = $EXPECT($L69, 'BinaryOpSymbol ">>>"');
8541
- var BinaryOpSymbol$17 = $T($EXPECT($L70, 'BinaryOpSymbol "\u22D9"'), function(value) {
8811
+ var BinaryOpSymbol$16 = $EXPECT($L15, 'BinaryOpSymbol "<"');
8812
+ var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
8813
+ var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
8542
8814
  return ">>>";
8543
8815
  });
8544
- var BinaryOpSymbol$18 = $EXPECT($L71, 'BinaryOpSymbol ">>"');
8545
- var BinaryOpSymbol$19 = $T($EXPECT($L72, 'BinaryOpSymbol "\xBB"'), function(value) {
8816
+ var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
8817
+ var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
8546
8818
  return ">>";
8547
8819
  });
8548
- var BinaryOpSymbol$20 = $EXPECT($L35, 'BinaryOpSymbol ">"');
8549
- var BinaryOpSymbol$21 = $EXPECT($L73, 'BinaryOpSymbol "!=="');
8550
- var BinaryOpSymbol$22 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2262"'), function(value) {
8820
+ var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
8821
+ var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
8822
+ var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
8551
8823
  return "!==";
8552
8824
  });
8553
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L75, 'BinaryOpSymbol "!="'), $EXPECT($L76, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8825
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8554
8826
  if (module2.config.coffeeEq)
8555
8827
  return "!==";
8556
8828
  return "!=";
8557
8829
  });
8558
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L77, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8830
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8559
8831
  if (module2.config.coffeeIsnt)
8560
8832
  return "!==";
8561
8833
  return $skip;
8562
8834
  });
8563
- var BinaryOpSymbol$25 = $EXPECT($L78, 'BinaryOpSymbol "==="');
8564
- var BinaryOpSymbol$26 = $T($C($EXPECT($L79, 'BinaryOpSymbol "\u2263"'), $EXPECT($L80, 'BinaryOpSymbol "\u2A76"')), function(value) {
8835
+ var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
8836
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
8565
8837
  return "===";
8566
8838
  });
8567
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L81, 'BinaryOpSymbol "=="'), $EXPECT($L82, 'BinaryOpSymbol "\u2261"'), $EXPECT($L83, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8839
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8568
8840
  if (module2.config.coffeeEq)
8569
8841
  return "===";
8570
8842
  return "==";
8571
8843
  });
8572
- var BinaryOpSymbol$28 = $T($S($EXPECT($L84, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8844
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8573
8845
  return "&&";
8574
8846
  });
8575
- var BinaryOpSymbol$29 = $EXPECT($L85, 'BinaryOpSymbol "&&"');
8576
- var BinaryOpSymbol$30 = $T($S($EXPECT($L86, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8847
+ var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
8848
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8577
8849
  return "||";
8578
8850
  });
8579
- var BinaryOpSymbol$31 = $EXPECT($L87, 'BinaryOpSymbol "||"');
8580
- var BinaryOpSymbol$32 = $T($EXPECT($L88, 'BinaryOpSymbol "\u2016"'), function(value) {
8851
+ var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
8852
+ var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
8581
8853
  return "||";
8582
8854
  });
8583
- var BinaryOpSymbol$33 = $TV($C($EXPECT($L89, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8855
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8584
8856
  return {
8585
8857
  call: module2.getRef("xor"),
8586
8858
  special: true
8587
8859
  };
8588
8860
  });
8589
- var BinaryOpSymbol$34 = $TV($C($EXPECT($R16, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8861
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R17, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8590
8862
  return {
8591
8863
  call: module2.getRef("xnor"),
8592
8864
  special: true
8593
8865
  };
8594
8866
  });
8595
- var BinaryOpSymbol$35 = $EXPECT($L92, 'BinaryOpSymbol "??"');
8596
- var BinaryOpSymbol$36 = $T($EXPECT($L93, 'BinaryOpSymbol "\u2047"'), function(value) {
8867
+ var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
8868
+ var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
8597
8869
  return "??";
8598
8870
  });
8599
- var BinaryOpSymbol$37 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8871
+ var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8600
8872
  return "??";
8601
8873
  });
8602
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L94, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8874
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8603
8875
  return {
8604
8876
  $loc,
8605
8877
  token: $1,
@@ -8608,15 +8880,15 @@ var require_parser = __commonJS({
8608
8880
  // for typeof shorthand
8609
8881
  };
8610
8882
  });
8611
- var BinaryOpSymbol$39 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8883
+ var BinaryOpSymbol$40 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8612
8884
  var op = value[1];
8613
8885
  return op;
8614
8886
  });
8615
- var BinaryOpSymbol$40 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8887
+ var BinaryOpSymbol$41 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8616
8888
  var op = $3;
8617
8889
  return { ...op, $loc };
8618
8890
  });
8619
- var BinaryOpSymbol$41 = $TV($C($S(Is, __, In), $EXPECT($L95, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8891
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8620
8892
  return {
8621
8893
  method: "includes",
8622
8894
  relational: true,
@@ -8624,14 +8896,14 @@ var require_parser = __commonJS({
8624
8896
  special: true
8625
8897
  };
8626
8898
  });
8627
- var BinaryOpSymbol$42 = $TV($EXPECT($L96, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8899
+ var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8628
8900
  return {
8629
8901
  method: "includes",
8630
8902
  relational: true,
8631
8903
  special: true
8632
8904
  };
8633
8905
  });
8634
- var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8906
+ var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8635
8907
  return {
8636
8908
  method: "includes",
8637
8909
  relational: true,
@@ -8639,7 +8911,7 @@ var require_parser = __commonJS({
8639
8911
  negated: true
8640
8912
  };
8641
8913
  });
8642
- var BinaryOpSymbol$44 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8914
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8643
8915
  return {
8644
8916
  method: "includes",
8645
8917
  relational: true,
@@ -8648,7 +8920,7 @@ var require_parser = __commonJS({
8648
8920
  negated: true
8649
8921
  };
8650
8922
  });
8651
- var BinaryOpSymbol$45 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8923
+ var BinaryOpSymbol$46 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8652
8924
  if (module2.config.objectIs) {
8653
8925
  return {
8654
8926
  call: module2.getRef("is"),
@@ -8660,7 +8932,7 @@ var require_parser = __commonJS({
8660
8932
  }
8661
8933
  return "!==";
8662
8934
  });
8663
- var BinaryOpSymbol$46 = $TS($S(Is), function($skip, $loc, $0, $1) {
8935
+ var BinaryOpSymbol$47 = $TS($S(Is), function($skip, $loc, $0, $1) {
8664
8936
  if (module2.config.objectIs) {
8665
8937
  return {
8666
8938
  call: module2.getRef("is"),
@@ -8671,11 +8943,11 @@ var require_parser = __commonJS({
8671
8943
  }
8672
8944
  return "===";
8673
8945
  });
8674
- var BinaryOpSymbol$47 = In;
8675
- var BinaryOpSymbol$48 = $EXPECT($L99, 'BinaryOpSymbol "&"');
8676
- var BinaryOpSymbol$49 = $EXPECT($L19, 'BinaryOpSymbol "^"');
8677
- var BinaryOpSymbol$50 = $EXPECT($L100, 'BinaryOpSymbol "|"');
8678
- var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50];
8946
+ var BinaryOpSymbol$48 = In;
8947
+ var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
8948
+ var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
8949
+ var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
8950
+ var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
8679
8951
  function BinaryOpSymbol(ctx, state) {
8680
8952
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
8681
8953
  }
@@ -8712,7 +8984,7 @@ var require_parser = __commonJS({
8712
8984
  function CoffeeOfOp(ctx, state) {
8713
8985
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
8714
8986
  }
8715
- var NotOp$0 = $TS($S($EXPECT($L94, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8987
+ var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8716
8988
  return {
8717
8989
  $loc,
8718
8990
  token: "instanceof",
@@ -8733,24 +9005,24 @@ var require_parser = __commonJS({
8733
9005
  function NotOp(ctx, state) {
8734
9006
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
8735
9007
  }
8736
- var Xor$0 = $EXPECT($L89, 'Xor "^^"');
8737
- var Xor$1 = $S($EXPECT($L90, 'Xor "xor"'), NonIdContinue);
9008
+ var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9009
+ var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
8738
9010
  var Xor$$ = [Xor$0, Xor$1];
8739
9011
  function Xor(ctx, state) {
8740
9012
  return $EVENT_C(ctx, state, "Xor", Xor$$);
8741
9013
  }
8742
- var Xnor$0 = $R$0($EXPECT($R16, "Xnor /!\\^\\^?/"));
8743
- var Xnor$1 = $EXPECT($L91, 'Xnor "xnor"');
9014
+ var Xnor$0 = $R$0($EXPECT($R17, "Xnor /!\\^\\^?/"));
9015
+ var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
8744
9016
  var Xnor$$ = [Xnor$0, Xnor$1];
8745
9017
  function Xnor(ctx, state) {
8746
9018
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
8747
9019
  }
8748
- var UnaryOp$0 = $TR($EXPECT($R17, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9020
+ var UnaryOp$0 = $TR($EXPECT($R18, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8749
9021
  return { $loc, token: $0 };
8750
9022
  });
8751
9023
  var UnaryOp$1 = AwaitOp;
8752
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R18, "UnaryOp /[:.]/"))), $E(_));
8753
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R18, "UnaryOp /[:.]/")), $E($EXPECT($L13, 'UnaryOp " "')), $E(_)), function(value) {
9024
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R19, "UnaryOp /[:.]/"))), $E(_));
9025
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R19, "UnaryOp /[:.]/")), $E($EXPECT($L14, 'UnaryOp " "')), $E(_)), function(value) {
8754
9026
  return [value[0], value[3]];
8755
9027
  });
8756
9028
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -8845,7 +9117,7 @@ var require_parser = __commonJS({
8845
9117
  function NonPipelinePostfixedExpression(ctx, state) {
8846
9118
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
8847
9119
  }
8848
- var PostfixStatement$0 = $T($S($EXPECT($R19, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9120
+ var PostfixStatement$0 = $T($S($EXPECT($R20, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
8849
9121
  return value[1];
8850
9122
  });
8851
9123
  function PostfixStatement(ctx, state) {
@@ -8888,7 +9160,7 @@ var require_parser = __commonJS({
8888
9160
  function NoCommaStatement(ctx, state) {
8889
9161
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
8890
9162
  }
8891
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9163
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L102, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
8892
9164
  return { type: "EmptyStatement", children: $1 || [] };
8893
9165
  });
8894
9166
  function EmptyStatement(ctx, state) {
@@ -8919,7 +9191,7 @@ var require_parser = __commonJS({
8919
9191
  var w = $3;
8920
9192
  return [id, colon, w];
8921
9193
  });
8922
- var Label$1 = $S($EXPECT($L102, 'Label "$:"'), Whitespace);
9194
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
8923
9195
  var Label$$ = [Label$0, Label$1];
8924
9196
  function Label(ctx, state) {
8925
9197
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9092,7 +9364,7 @@ var require_parser = __commonJS({
9092
9364
  function BlockExpressionPart(ctx, state) {
9093
9365
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9094
9366
  }
9095
- var IterationStatement$0 = $T($S($EXPECT($R20, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9367
+ var IterationStatement$0 = $T($S($EXPECT($R21, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9096
9368
  return value[1];
9097
9369
  });
9098
9370
  function IterationStatement(ctx, state) {
@@ -9445,7 +9717,7 @@ var require_parser = __commonJS({
9445
9717
  names: binding.names
9446
9718
  };
9447
9719
  });
9448
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R21, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9720
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R22, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9449
9721
  var c = $1;
9450
9722
  var binding = $2;
9451
9723
  return {
@@ -9671,7 +9943,7 @@ var require_parser = __commonJS({
9671
9943
  function IgnoreColon(ctx, state) {
9672
9944
  return $EVENT(ctx, state, "IgnoreColon", IgnoreColon$0);
9673
9945
  }
9674
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L12, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9946
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L13, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9675
9947
  var t = $1;
9676
9948
  var b = $3;
9677
9949
  var c = $4;
@@ -10007,7 +10279,7 @@ var require_parser = __commonJS({
10007
10279
  };
10008
10280
  });
10009
10281
  var KeywordStatement$2 = DebuggerStatement;
10010
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L12, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10282
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L13, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10011
10283
  var expression = value[2];
10012
10284
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10013
10285
  });
@@ -10028,19 +10300,19 @@ var require_parser = __commonJS({
10028
10300
  function ThrowStatement(ctx, state) {
10029
10301
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10030
10302
  }
10031
- var Break$0 = $TS($S($EXPECT($L103, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10303
+ var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10032
10304
  return { $loc, token: $1 };
10033
10305
  });
10034
10306
  function Break(ctx, state) {
10035
10307
  return $EVENT(ctx, state, "Break", Break$0);
10036
10308
  }
10037
- var Continue$0 = $TS($S($EXPECT($L104, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10309
+ var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10038
10310
  return { $loc, token: $1 };
10039
10311
  });
10040
10312
  function Continue(ctx, state) {
10041
10313
  return $EVENT(ctx, state, "Continue", Continue$0);
10042
10314
  }
10043
- var Debugger$0 = $TS($S($EXPECT($L105, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10315
+ var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10044
10316
  return { $loc, token: $1 };
10045
10317
  });
10046
10318
  function Debugger(ctx, state) {
@@ -10161,7 +10433,7 @@ var require_parser = __commonJS({
10161
10433
  function FromClause(ctx, state) {
10162
10434
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10163
10435
  }
10164
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L106, 'ImportAssertion "with"'), $EXPECT($L107, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10436
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L107, 'ImportAssertion "with"'), $EXPECT($L108, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10165
10437
  function ImportAssertion(ctx, state) {
10166
10438
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10167
10439
  }
@@ -10209,7 +10481,7 @@ var require_parser = __commonJS({
10209
10481
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10210
10482
  }
10211
10483
  var ImportAsToken$0 = $S(__, As);
10212
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L13, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10484
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L14, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10213
10485
  var l = $1;
10214
10486
  var ws = $2;
10215
10487
  var c = $3;
@@ -10249,7 +10521,7 @@ var require_parser = __commonJS({
10249
10521
  function UnprocessedModuleSpecifier(ctx, state) {
10250
10522
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10251
10523
  }
10252
- var UnquotedSpecifier$0 = $TV($EXPECT($R22, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10524
+ var UnquotedSpecifier$0 = $TV($EXPECT($R23, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10253
10525
  var spec = $0;
10254
10526
  return { $loc, token: `"${spec}"` };
10255
10527
  });
@@ -10381,13 +10653,13 @@ var require_parser = __commonJS({
10381
10653
  function LexicalDeclaration(ctx, state) {
10382
10654
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10383
10655
  }
10384
- var ConstAssignment$0 = $TV($C($EXPECT($L108, 'ConstAssignment ":="'), $EXPECT($L109, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10656
+ var ConstAssignment$0 = $TV($C($EXPECT($L109, 'ConstAssignment ":="'), $EXPECT($L110, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10385
10657
  return { $loc, token: "=" };
10386
10658
  });
10387
10659
  function ConstAssignment(ctx, state) {
10388
10660
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10389
10661
  }
10390
- var LetAssignment$0 = $TV($EXPECT($L110, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10662
+ var LetAssignment$0 = $TV($EXPECT($L111, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10391
10663
  return { $loc, token: "=" };
10392
10664
  });
10393
10665
  function LetAssignment(ctx, state) {
@@ -10455,7 +10727,7 @@ var require_parser = __commonJS({
10455
10727
  function VariableDeclarationList(ctx, state) {
10456
10728
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
10457
10729
  }
10458
- var NumericLiteral$0 = $TS($S($EXPECT($R23, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10730
+ var NumericLiteral$0 = $TS($S($EXPECT($R24, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10459
10731
  var token = $2;
10460
10732
  return { type: "NumericLiteral", $loc, token };
10461
10733
  });
@@ -10471,36 +10743,36 @@ var require_parser = __commonJS({
10471
10743
  function NumericLiteralKind(ctx, state) {
10472
10744
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
10473
10745
  }
10474
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R24, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10746
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R25, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10475
10747
  function DecimalBigIntegerLiteral(ctx, state) {
10476
10748
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
10477
10749
  }
10478
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R25, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10750
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10479
10751
  return $1 + ".";
10480
10752
  });
10481
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10482
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10753
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10754
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10483
10755
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
10484
10756
  function DecimalLiteral(ctx, state) {
10485
10757
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
10486
10758
  }
10487
- var ExponentPart$0 = $R$0($EXPECT($R28, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10759
+ var ExponentPart$0 = $R$0($EXPECT($R29, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10488
10760
  function ExponentPart(ctx, state) {
10489
10761
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
10490
10762
  }
10491
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R29, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10763
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R30, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10492
10764
  function BinaryIntegerLiteral(ctx, state) {
10493
10765
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
10494
10766
  }
10495
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R30, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10767
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R31, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10496
10768
  function OctalIntegerLiteral(ctx, state) {
10497
10769
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
10498
10770
  }
10499
- var HexIntegerLiteral$0 = $R$0($EXPECT($R31, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10771
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R32, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10500
10772
  function HexIntegerLiteral(ctx, state) {
10501
10773
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
10502
10774
  }
10503
- var IntegerLiteral$0 = $TS($S($EXPECT($R32, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10775
+ var IntegerLiteral$0 = $TS($S($EXPECT($R33, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10504
10776
  var token = $2;
10505
10777
  return { $loc, token };
10506
10778
  });
@@ -10516,7 +10788,7 @@ var require_parser = __commonJS({
10516
10788
  function IntegerLiteralKind(ctx, state) {
10517
10789
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
10518
10790
  }
10519
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R33, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10791
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R34, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10520
10792
  function DecimalIntegerLiteral(ctx, state) {
10521
10793
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
10522
10794
  }
@@ -10540,25 +10812,25 @@ var require_parser = __commonJS({
10540
10812
  function StringLiteral(ctx, state) {
10541
10813
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
10542
10814
  }
10543
- var DoubleStringCharacters$0 = $TR($EXPECT($R34, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10815
+ var DoubleStringCharacters$0 = $TR($EXPECT($R35, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10544
10816
  return { $loc, token: $0 };
10545
10817
  });
10546
10818
  function DoubleStringCharacters(ctx, state) {
10547
10819
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
10548
10820
  }
10549
- var SingleStringCharacters$0 = $TR($EXPECT($R35, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10821
+ var SingleStringCharacters$0 = $TR($EXPECT($R36, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10550
10822
  return { $loc, token: $0 };
10551
10823
  });
10552
10824
  function SingleStringCharacters(ctx, state) {
10553
10825
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
10554
10826
  }
10555
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R36, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10827
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R37, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10556
10828
  return { $loc, token: $0 };
10557
10829
  });
10558
10830
  function TripleDoubleStringCharacters(ctx, state) {
10559
10831
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
10560
10832
  }
10561
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R37, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10833
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R38, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10562
10834
  return { $loc, token: $0 };
10563
10835
  });
10564
10836
  function TripleSingleStringCharacters(ctx, state) {
@@ -10577,14 +10849,14 @@ var require_parser = __commonJS({
10577
10849
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
10578
10850
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
10579
10851
  }
10580
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R38, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10852
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R39, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10581
10853
  return { $loc, token: $0 };
10582
10854
  });
10583
10855
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
10584
10856
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
10585
10857
  }
10586
10858
  var RegularExpressionLiteral$0 = HeregexLiteral;
10587
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10859
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10588
10860
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
10589
10861
  });
10590
10862
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -10597,7 +10869,7 @@ var require_parser = __commonJS({
10597
10869
  function RegularExpressionClass(ctx, state) {
10598
10870
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
10599
10871
  }
10600
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R39, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10872
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R40, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10601
10873
  return { $loc, token: $0 };
10602
10874
  });
10603
10875
  function RegularExpressionClassCharacters(ctx, state) {
@@ -10651,7 +10923,7 @@ var require_parser = __commonJS({
10651
10923
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
10652
10924
  return { "type": "Substitution", "children": value[0] };
10653
10925
  });
10654
- var HeregexPart$3 = $TR($EXPECT($R40, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10926
+ var HeregexPart$3 = $TR($EXPECT($R41, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10655
10927
  let token = $0;
10656
10928
  switch ($0[1]) {
10657
10929
  case "\n":
@@ -10669,13 +10941,13 @@ var require_parser = __commonJS({
10669
10941
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
10670
10942
  return { $loc, token: "" };
10671
10943
  });
10672
- var HeregexPart$5 = $TR($EXPECT($R41, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10944
+ var HeregexPart$5 = $TR($EXPECT($R42, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10673
10945
  return { $loc, token: "" };
10674
10946
  });
10675
- var HeregexPart$6 = $TR($EXPECT($R42, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10947
+ var HeregexPart$6 = $TR($EXPECT($R43, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10676
10948
  return { $loc, token: "\\/" };
10677
10949
  });
10678
- var HeregexPart$7 = $TR($EXPECT($R43, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10950
+ var HeregexPart$7 = $TR($EXPECT($R44, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10679
10951
  return { $loc, token: $0 };
10680
10952
  });
10681
10953
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -10688,7 +10960,7 @@ var require_parser = __commonJS({
10688
10960
  function HeregexComment(ctx, state) {
10689
10961
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
10690
10962
  }
10691
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R44, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10963
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R45, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10692
10964
  function RegularExpressionBody(ctx, state) {
10693
10965
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
10694
10966
  }
@@ -10698,15 +10970,15 @@ var require_parser = __commonJS({
10698
10970
  function RegExpPart(ctx, state) {
10699
10971
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
10700
10972
  }
10701
- var RegExpCharacter$0 = $R$0($EXPECT($R45, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10973
+ var RegExpCharacter$0 = $R$0($EXPECT($R46, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10702
10974
  function RegExpCharacter(ctx, state) {
10703
10975
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
10704
10976
  }
10705
- var RegularExpressionFlags$0 = $R$0($EXPECT($R46, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10977
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R47, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10706
10978
  function RegularExpressionFlags(ctx, state) {
10707
10979
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
10708
10980
  }
10709
- var TemplateLiteral$0 = $T($S($EXPECT($R47, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10981
+ var TemplateLiteral$0 = $T($S($EXPECT($R48, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10710
10982
  return value[1];
10711
10983
  });
10712
10984
  function TemplateLiteral(ctx, state) {
@@ -10742,28 +11014,28 @@ var require_parser = __commonJS({
10742
11014
  function TemplateSubstitution(ctx, state) {
10743
11015
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
10744
11016
  }
10745
- var TemplateCharacters$0 = $TR($EXPECT($R48, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11017
+ var TemplateCharacters$0 = $TR($EXPECT($R49, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10746
11018
  return { $loc, token: $0 };
10747
11019
  });
10748
11020
  function TemplateCharacters(ctx, state) {
10749
11021
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
10750
11022
  }
10751
- var TemplateBlockCharacters$0 = $TR($EXPECT($R49, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11023
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R50, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10752
11024
  return { $loc, token: $0 };
10753
11025
  });
10754
11026
  function TemplateBlockCharacters(ctx, state) {
10755
11027
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
10756
11028
  }
10757
- var ReservedWord$0 = $S($R$0($EXPECT($R50, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
10758
- var ReservedWord$1 = $S($R$0($EXPECT($R51, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
10759
- var ReservedWord$2 = $S($R$0($EXPECT($R52, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
10760
- var ReservedWord$3 = $S($R$0($EXPECT($R53, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
10761
- var ReservedWord$4 = $R$0($EXPECT($R54, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11029
+ var ReservedWord$0 = $S($R$0($EXPECT($R51, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11030
+ var ReservedWord$1 = $S($R$0($EXPECT($R52, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11031
+ var ReservedWord$2 = $S($R$0($EXPECT($R53, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11032
+ var ReservedWord$3 = $S($R$0($EXPECT($R54, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11033
+ var ReservedWord$4 = $R$0($EXPECT($R55, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
10762
11034
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
10763
11035
  function ReservedWord(ctx, state) {
10764
11036
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
10765
11037
  }
10766
- var Comment$0 = $T($S($EXPECT($R55, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11038
+ var Comment$0 = $T($S($EXPECT($R56, "Comment /(?=\\/|#)/"), _Comment), function(value) {
10767
11039
  return value[1];
10768
11040
  });
10769
11041
  function Comment(ctx, state) {
@@ -10781,7 +11053,7 @@ var require_parser = __commonJS({
10781
11053
  function SingleLineComment(ctx, state) {
10782
11054
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
10783
11055
  }
10784
- var JSSingleLineComment$0 = $TR($EXPECT($R56, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11056
+ var JSSingleLineComment$0 = $TR($EXPECT($R57, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10785
11057
  return { type: "Comment", $loc, token: $0 };
10786
11058
  });
10787
11059
  function JSSingleLineComment(ctx, state) {
@@ -10793,30 +11065,30 @@ var require_parser = __commonJS({
10793
11065
  function MultiLineComment(ctx, state) {
10794
11066
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
10795
11067
  }
10796
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L112, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11068
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L112, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L113, 'JSMultiLineComment "*/"')), $EXPECT($R58, "JSMultiLineComment /./"))), $EXPECT($L113, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10797
11069
  return { type: "Comment", $loc, token: $1 };
10798
11070
  });
10799
11071
  function JSMultiLineComment(ctx, state) {
10800
11072
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
10801
11073
  }
10802
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R58, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11074
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R59, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10803
11075
  return { type: "Comment", $loc, token: `//${$1}` };
10804
11076
  });
10805
11077
  function CoffeeSingleLineComment(ctx, state) {
10806
11078
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
10807
11079
  }
10808
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R59, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11080
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R60, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
10809
11081
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
10810
11082
  return { type: "Comment", $loc, token: `/*${$2}*/` };
10811
11083
  });
10812
11084
  function CoffeeMultiLineComment(ctx, state) {
10813
11085
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
10814
11086
  }
10815
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R60, "CoffeeHereCommentStart /###(?!#)/"));
11087
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R61, "CoffeeHereCommentStart /###(?!#)/"));
10816
11088
  function CoffeeHereCommentStart(ctx, state) {
10817
11089
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
10818
11090
  }
10819
- var InlineComment$0 = $TR($EXPECT($R61, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11091
+ var InlineComment$0 = $TR($EXPECT($R62, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10820
11092
  return { $loc, token: $0 };
10821
11093
  });
10822
11094
  function InlineComment(ctx, state) {
@@ -10830,16 +11102,16 @@ var require_parser = __commonJS({
10830
11102
  function TrailingComment(ctx, state) {
10831
11103
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
10832
11104
  }
10833
- var _$0 = $T($S($EXPECT($R62, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11105
+ var _$0 = $T($S($EXPECT($R63, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
10834
11106
  return value[1];
10835
11107
  });
10836
11108
  function _(ctx, state) {
10837
11109
  return $EVENT(ctx, state, "_", _$0);
10838
11110
  }
10839
- var NonNewlineWhitespace$0 = $TR($EXPECT($R63, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11111
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R64, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10840
11112
  return { $loc, token: $0 };
10841
11113
  });
10842
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L113, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11114
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L114, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10843
11115
  return " ";
10844
11116
  });
10845
11117
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -10853,7 +11125,7 @@ var require_parser = __commonJS({
10853
11125
  function Trimmed_(ctx, state) {
10854
11126
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
10855
11127
  }
10856
- var __$0 = $T($S($EXPECT($R64, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11128
+ var __$0 = $T($S($EXPECT($R65, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
10857
11129
  return value[1];
10858
11130
  });
10859
11131
  var __$1 = $EXPECT($L0, '__ ""');
@@ -10861,7 +11133,7 @@ var require_parser = __commonJS({
10861
11133
  function __(ctx, state) {
10862
11134
  return $EVENT_C(ctx, state, "__", __$$);
10863
11135
  }
10864
- var Whitespace$0 = $TR($EXPECT($R41, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11136
+ var Whitespace$0 = $TR($EXPECT($R42, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10865
11137
  return { $loc, token: $0 };
10866
11138
  });
10867
11139
  function Whitespace(ctx, state) {
@@ -10885,7 +11157,7 @@ var require_parser = __commonJS({
10885
11157
  }
10886
11158
  var StatementDelimiter$0 = $Y(EOS);
10887
11159
  var StatementDelimiter$1 = SemicolonDelimiter;
10888
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L27, 'StatementDelimiter "}"'), $EXPECT($L114, 'StatementDelimiter ")"'), $EXPECT($L36, 'StatementDelimiter "]"'))));
11160
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L115, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
10889
11161
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
10890
11162
  function StatementDelimiter(ctx, state) {
10891
11163
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -10899,7 +11171,7 @@ var require_parser = __commonJS({
10899
11171
  function SemicolonDelimiter(ctx, state) {
10900
11172
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
10901
11173
  }
10902
- var NonIdContinue$0 = $R$0($EXPECT($R65, "NonIdContinue /(?!\\p{ID_Continue})/"));
11174
+ var NonIdContinue$0 = $R$0($EXPECT($R66, "NonIdContinue /(?!\\p{ID_Continue})/"));
10903
11175
  function NonIdContinue(ctx, state) {
10904
11176
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
10905
11177
  }
@@ -10909,151 +11181,151 @@ var require_parser = __commonJS({
10909
11181
  function Loc(ctx, state) {
10910
11182
  return $EVENT(ctx, state, "Loc", Loc$0);
10911
11183
  }
10912
- var Abstract$0 = $TV($TEXT($S($EXPECT($L115, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L13, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11184
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L116, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L14, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10913
11185
  return { $loc, token: $1, ts: true };
10914
11186
  });
10915
11187
  function Abstract(ctx, state) {
10916
11188
  return $EVENT(ctx, state, "Abstract", Abstract$0);
10917
11189
  }
10918
- var Ampersand$0 = $TV($EXPECT($L99, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11190
+ var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
10919
11191
  return { $loc, token: $1 };
10920
11192
  });
10921
11193
  function Ampersand(ctx, state) {
10922
11194
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
10923
11195
  }
10924
- var As$0 = $TS($S($EXPECT($L116, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11196
+ var As$0 = $TS($S($EXPECT($L117, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10925
11197
  return { $loc, token: $1 };
10926
11198
  });
10927
11199
  function As(ctx, state) {
10928
11200
  return $EVENT(ctx, state, "As", As$0);
10929
11201
  }
10930
- var At$0 = $TV($EXPECT($L117, 'At "@"'), function($skip, $loc, $0, $1) {
11202
+ var At$0 = $TV($EXPECT($L118, 'At "@"'), function($skip, $loc, $0, $1) {
10931
11203
  return { $loc, token: $1 };
10932
11204
  });
10933
11205
  function At(ctx, state) {
10934
11206
  return $EVENT(ctx, state, "At", At$0);
10935
11207
  }
10936
- var AtAt$0 = $TV($EXPECT($L118, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11208
+ var AtAt$0 = $TV($EXPECT($L119, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10937
11209
  return { $loc, token: "@" };
10938
11210
  });
10939
11211
  function AtAt(ctx, state) {
10940
11212
  return $EVENT(ctx, state, "AtAt", AtAt$0);
10941
11213
  }
10942
- var Async$0 = $TS($S($EXPECT($L119, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11214
+ var Async$0 = $TS($S($EXPECT($L120, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10943
11215
  return { $loc, token: $1, type: "Async" };
10944
11216
  });
10945
11217
  function Async(ctx, state) {
10946
11218
  return $EVENT(ctx, state, "Async", Async$0);
10947
11219
  }
10948
- var Await$0 = $TS($S($EXPECT($L120, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11220
+ var Await$0 = $TS($S($EXPECT($L121, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10949
11221
  return { $loc, token: $1, type: "Await" };
10950
11222
  });
10951
11223
  function Await(ctx, state) {
10952
11224
  return $EVENT(ctx, state, "Await", Await$0);
10953
11225
  }
10954
- var Backtick$0 = $TV($EXPECT($L121, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11226
+ var Backtick$0 = $TV($EXPECT($L122, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10955
11227
  return { $loc, token: $1 };
10956
11228
  });
10957
11229
  function Backtick(ctx, state) {
10958
11230
  return $EVENT(ctx, state, "Backtick", Backtick$0);
10959
11231
  }
10960
- var By$0 = $TS($S($EXPECT($L122, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11232
+ var By$0 = $TS($S($EXPECT($L123, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10961
11233
  return { $loc, token: $1 };
10962
11234
  });
10963
11235
  function By(ctx, state) {
10964
11236
  return $EVENT(ctx, state, "By", By$0);
10965
11237
  }
10966
- var Caret$0 = $TV($EXPECT($L19, 'Caret "^"'), function($skip, $loc, $0, $1) {
11238
+ var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
10967
11239
  return { $loc, token: $1 };
10968
11240
  });
10969
11241
  function Caret(ctx, state) {
10970
11242
  return $EVENT(ctx, state, "Caret", Caret$0);
10971
11243
  }
10972
- var Case$0 = $TS($S($EXPECT($L123, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11244
+ var Case$0 = $TS($S($EXPECT($L124, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10973
11245
  return { $loc, token: $1 };
10974
11246
  });
10975
11247
  function Case(ctx, state) {
10976
11248
  return $EVENT(ctx, state, "Case", Case$0);
10977
11249
  }
10978
- var Catch$0 = $TS($S($EXPECT($L124, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11250
+ var Catch$0 = $TS($S($EXPECT($L125, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10979
11251
  return { $loc, token: $1 };
10980
11252
  });
10981
11253
  function Catch(ctx, state) {
10982
11254
  return $EVENT(ctx, state, "Catch", Catch$0);
10983
11255
  }
10984
- var Class$0 = $TS($S($EXPECT($L125, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11256
+ var Class$0 = $TS($S($EXPECT($L126, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10985
11257
  return { $loc, token: $1 };
10986
11258
  });
10987
11259
  function Class(ctx, state) {
10988
11260
  return $EVENT(ctx, state, "Class", Class$0);
10989
11261
  }
10990
- var CloseAngleBracket$0 = $TV($EXPECT($L35, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11262
+ var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
10991
11263
  return { $loc, token: $1 };
10992
11264
  });
10993
11265
  function CloseAngleBracket(ctx, state) {
10994
11266
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
10995
11267
  }
10996
- var CloseBrace$0 = $TV($EXPECT($L27, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11268
+ var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
10997
11269
  return { $loc, token: $1 };
10998
11270
  });
10999
11271
  function CloseBrace(ctx, state) {
11000
11272
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
11001
11273
  }
11002
- var CloseBracket$0 = $TV($EXPECT($L36, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11274
+ var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11003
11275
  return { $loc, token: $1 };
11004
11276
  });
11005
11277
  function CloseBracket(ctx, state) {
11006
11278
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11007
11279
  }
11008
- var CloseParen$0 = $TV($EXPECT($L114, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11280
+ var CloseParen$0 = $TV($EXPECT($L115, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11009
11281
  return { $loc, token: $1 };
11010
11282
  });
11011
11283
  function CloseParen(ctx, state) {
11012
11284
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11013
11285
  }
11014
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11286
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11015
11287
  return { $loc, token: "${" };
11016
11288
  });
11017
11289
  function CoffeeSubstitutionStart(ctx, state) {
11018
11290
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
11019
11291
  }
11020
- var Colon$0 = $TS($S($EXPECT($L12, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11292
+ var Colon$0 = $TS($S($EXPECT($L13, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11021
11293
  return { $loc, token: $1 };
11022
11294
  });
11023
11295
  function Colon(ctx, state) {
11024
11296
  return $EVENT(ctx, state, "Colon", Colon$0);
11025
11297
  }
11026
- var Comma$0 = $TV($EXPECT($L23, 'Comma ","'), function($skip, $loc, $0, $1) {
11298
+ var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11027
11299
  return { $loc, token: $1 };
11028
11300
  });
11029
11301
  function Comma(ctx, state) {
11030
11302
  return $EVENT(ctx, state, "Comma", Comma$0);
11031
11303
  }
11032
- var ConstructorShorthand$0 = $TV($EXPECT($L117, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11304
+ var ConstructorShorthand$0 = $TV($EXPECT($L118, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11033
11305
  return { $loc, token: "constructor" };
11034
11306
  });
11035
11307
  function ConstructorShorthand(ctx, state) {
11036
11308
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11037
11309
  }
11038
- var Declare$0 = $TS($S($EXPECT($L127, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11310
+ var Declare$0 = $TS($S($EXPECT($L128, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11039
11311
  return { $loc, token: $1 };
11040
11312
  });
11041
11313
  function Declare(ctx, state) {
11042
11314
  return $EVENT(ctx, state, "Declare", Declare$0);
11043
11315
  }
11044
- var Default$0 = $TS($S($EXPECT($L128, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11316
+ var Default$0 = $TS($S($EXPECT($L129, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11045
11317
  return { $loc, token: $1 };
11046
11318
  });
11047
11319
  function Default(ctx, state) {
11048
11320
  return $EVENT(ctx, state, "Default", Default$0);
11049
11321
  }
11050
- var Delete$0 = $TS($S($EXPECT($L129, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11322
+ var Delete$0 = $TS($S($EXPECT($L130, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11051
11323
  return { $loc, token: $1 };
11052
11324
  });
11053
11325
  function Delete(ctx, state) {
11054
11326
  return $EVENT(ctx, state, "Delete", Delete$0);
11055
11327
  }
11056
- var Do$0 = $TS($S($EXPECT($L130, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11328
+ var Do$0 = $TS($S($EXPECT($L131, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11057
11329
  return { $loc, token: $1 };
11058
11330
  });
11059
11331
  function Do(ctx, state) {
@@ -11062,7 +11334,7 @@ var require_parser = __commonJS({
11062
11334
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11063
11335
  return { $loc, token: $1 };
11064
11336
  });
11065
- var Dot$1 = $TS($S($EXPECT($R66, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11337
+ var Dot$1 = $TS($S($EXPECT($R67, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11066
11338
  var ws = $2;
11067
11339
  return [
11068
11340
  { $loc, token: "." },
@@ -11073,45 +11345,45 @@ var require_parser = __commonJS({
11073
11345
  function Dot(ctx, state) {
11074
11346
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11075
11347
  }
11076
- var DotDot$0 = $TS($S($EXPECT($L131, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11348
+ var DotDot$0 = $TS($S($EXPECT($L132, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11077
11349
  return { $loc, token: $1 };
11078
11350
  });
11079
- var DotDot$1 = $TV($EXPECT($L132, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11351
+ var DotDot$1 = $TV($EXPECT($L133, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11080
11352
  return { $loc, token: ".." };
11081
11353
  });
11082
11354
  var DotDot$$ = [DotDot$0, DotDot$1];
11083
11355
  function DotDot(ctx, state) {
11084
11356
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11085
11357
  }
11086
- var DotDotDot$0 = $TV($EXPECT($L133, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11358
+ var DotDotDot$0 = $TV($EXPECT($L134, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11087
11359
  return { $loc, token: $1 };
11088
11360
  });
11089
- var DotDotDot$1 = $TV($EXPECT($L134, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11361
+ var DotDotDot$1 = $TV($EXPECT($L135, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11090
11362
  return { $loc, token: "..." };
11091
11363
  });
11092
11364
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11093
11365
  function DotDotDot(ctx, state) {
11094
11366
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11095
11367
  }
11096
- var DoubleColon$0 = $TV($EXPECT($L135, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11368
+ var DoubleColon$0 = $TV($EXPECT($L136, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11097
11369
  return { $loc, token: $1 };
11098
11370
  });
11099
11371
  function DoubleColon(ctx, state) {
11100
11372
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11101
11373
  }
11102
- var DoubleQuote$0 = $TV($EXPECT($L136, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11374
+ var DoubleQuote$0 = $TV($EXPECT($L137, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11103
11375
  return { $loc, token: $1 };
11104
11376
  });
11105
11377
  function DoubleQuote(ctx, state) {
11106
11378
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11107
11379
  }
11108
- var Each$0 = $TS($S($EXPECT($L137, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11380
+ var Each$0 = $TS($S($EXPECT($L138, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11109
11381
  return { $loc, token: $1 };
11110
11382
  });
11111
11383
  function Each(ctx, state) {
11112
11384
  return $EVENT(ctx, state, "Each", Each$0);
11113
11385
  }
11114
- var Else$0 = $TS($S($EXPECT($L138, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11386
+ var Else$0 = $TS($S($EXPECT($L139, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11115
11387
  return { $loc, token: $1 };
11116
11388
  });
11117
11389
  function Else(ctx, state) {
@@ -11123,85 +11395,91 @@ var require_parser = __commonJS({
11123
11395
  function Equals(ctx, state) {
11124
11396
  return $EVENT(ctx, state, "Equals", Equals$0);
11125
11397
  }
11126
- var Export$0 = $TS($S($EXPECT($L139, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11398
+ var ExclamationPoint$0 = $TV($EXPECT($L19, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11399
+ return { $loc, token: $1 };
11400
+ });
11401
+ function ExclamationPoint(ctx, state) {
11402
+ return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11403
+ }
11404
+ var Export$0 = $TS($S($EXPECT($L140, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11127
11405
  return { $loc, token: $1 };
11128
11406
  });
11129
11407
  function Export(ctx, state) {
11130
11408
  return $EVENT(ctx, state, "Export", Export$0);
11131
11409
  }
11132
- var Extends$0 = $TS($S($EXPECT($L140, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11410
+ var Extends$0 = $TS($S($EXPECT($L141, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11133
11411
  return { $loc, token: $1 };
11134
11412
  });
11135
11413
  function Extends(ctx, state) {
11136
11414
  return $EVENT(ctx, state, "Extends", Extends$0);
11137
11415
  }
11138
- var Finally$0 = $TS($S($EXPECT($L141, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11416
+ var Finally$0 = $TS($S($EXPECT($L142, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11139
11417
  return { $loc, token: $1 };
11140
11418
  });
11141
11419
  function Finally(ctx, state) {
11142
11420
  return $EVENT(ctx, state, "Finally", Finally$0);
11143
11421
  }
11144
- var For$0 = $TS($S($EXPECT($L142, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11422
+ var For$0 = $TS($S($EXPECT($L143, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11145
11423
  return { $loc, token: $1 };
11146
11424
  });
11147
11425
  function For(ctx, state) {
11148
11426
  return $EVENT(ctx, state, "For", For$0);
11149
11427
  }
11150
- var From$0 = $TS($S($EXPECT($L143, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11428
+ var From$0 = $TS($S($EXPECT($L144, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11151
11429
  return { $loc, token: $1 };
11152
11430
  });
11153
11431
  function From(ctx, state) {
11154
11432
  return $EVENT(ctx, state, "From", From$0);
11155
11433
  }
11156
- var Function$0 = $TS($S($EXPECT($L144, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11434
+ var Function$0 = $TS($S($EXPECT($L145, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11157
11435
  return { $loc, token: $1 };
11158
11436
  });
11159
11437
  function Function(ctx, state) {
11160
11438
  return $EVENT(ctx, state, "Function", Function$0);
11161
11439
  }
11162
- var GetOrSet$0 = $TS($S($C($EXPECT($L145, 'GetOrSet "get"'), $EXPECT($L146, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11440
+ var GetOrSet$0 = $TS($S($C($EXPECT($L146, 'GetOrSet "get"'), $EXPECT($L147, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11163
11441
  return { $loc, token: $1, type: "GetOrSet" };
11164
11442
  });
11165
11443
  function GetOrSet(ctx, state) {
11166
11444
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11167
11445
  }
11168
- var Hash$0 = $TV($EXPECT($L147, 'Hash "#"'), function($skip, $loc, $0, $1) {
11446
+ var Hash$0 = $TV($EXPECT($L148, 'Hash "#"'), function($skip, $loc, $0, $1) {
11169
11447
  return { $loc, token: $1 };
11170
11448
  });
11171
11449
  function Hash(ctx, state) {
11172
11450
  return $EVENT(ctx, state, "Hash", Hash$0);
11173
11451
  }
11174
- var If$0 = $TV($TEXT($S($EXPECT($L148, 'If "if"'), NonIdContinue, $E($EXPECT($L13, 'If " "')))), function($skip, $loc, $0, $1) {
11452
+ var If$0 = $TV($TEXT($S($EXPECT($L149, 'If "if"'), NonIdContinue, $E($EXPECT($L14, 'If " "')))), function($skip, $loc, $0, $1) {
11175
11453
  return { $loc, token: $1 };
11176
11454
  });
11177
11455
  function If(ctx, state) {
11178
11456
  return $EVENT(ctx, state, "If", If$0);
11179
11457
  }
11180
- var Import$0 = $TS($S($EXPECT($L17, 'Import "import"'), $Y($EXPECT($R67, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11458
+ var Import$0 = $TS($S($EXPECT($L18, 'Import "import"'), $Y($EXPECT($R68, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11181
11459
  return { $loc, token: $1 };
11182
11460
  });
11183
11461
  function Import(ctx, state) {
11184
11462
  return $EVENT(ctx, state, "Import", Import$0);
11185
11463
  }
11186
- var In$0 = $TS($S($EXPECT($L149, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11464
+ var In$0 = $TS($S($EXPECT($L150, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11187
11465
  return { $loc, token: $1 };
11188
11466
  });
11189
11467
  function In(ctx, state) {
11190
11468
  return $EVENT(ctx, state, "In", In$0);
11191
11469
  }
11192
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, 'LetOrConst "let"'), $EXPECT($L151, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11470
+ var LetOrConst$0 = $TS($S($C($EXPECT($L151, 'LetOrConst "let"'), $EXPECT($L152, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11193
11471
  return { $loc, token: $1 };
11194
11472
  });
11195
11473
  function LetOrConst(ctx, state) {
11196
11474
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11197
11475
  }
11198
- var Const$0 = $TS($S($EXPECT($L151, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11476
+ var Const$0 = $TS($S($EXPECT($L152, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11199
11477
  return { $loc, token: $1 };
11200
11478
  });
11201
11479
  function Const(ctx, state) {
11202
11480
  return $EVENT(ctx, state, "Const", Const$0);
11203
11481
  }
11204
- var Is$0 = $TS($S($EXPECT($L152, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11482
+ var Is$0 = $TS($S($EXPECT($L153, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11205
11483
  return { $loc, token: $1 };
11206
11484
  });
11207
11485
  function Is(ctx, state) {
@@ -11213,31 +11491,31 @@ var require_parser = __commonJS({
11213
11491
  function LetOrConstOrVar(ctx, state) {
11214
11492
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11215
11493
  }
11216
- var Loop$0 = $TS($S($EXPECT($L153, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11494
+ var Loop$0 = $TS($S($EXPECT($L154, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11217
11495
  return { $loc, token: "while(true)" };
11218
11496
  });
11219
11497
  function Loop(ctx, state) {
11220
11498
  return $EVENT(ctx, state, "Loop", Loop$0);
11221
11499
  }
11222
- var New$0 = $TS($S($EXPECT($L154, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11500
+ var New$0 = $TS($S($EXPECT($L155, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11223
11501
  return { $loc, token: $1 };
11224
11502
  });
11225
11503
  function New(ctx, state) {
11226
11504
  return $EVENT(ctx, state, "New", New$0);
11227
11505
  }
11228
- var Not$0 = $TS($S($EXPECT($L155, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11506
+ var Not$0 = $TS($S($EXPECT($L156, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L13, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11229
11507
  return { $loc, token: "!" };
11230
11508
  });
11231
11509
  function Not(ctx, state) {
11232
11510
  return $EVENT(ctx, state, "Not", Not$0);
11233
11511
  }
11234
- var Of$0 = $TS($S($EXPECT($L156, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11512
+ var Of$0 = $TS($S($EXPECT($L157, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11235
11513
  return { $loc, token: $1 };
11236
11514
  });
11237
11515
  function Of(ctx, state) {
11238
11516
  return $EVENT(ctx, state, "Of", Of$0);
11239
11517
  }
11240
- var OpenAngleBracket$0 = $TV($EXPECT($L14, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11518
+ var OpenAngleBracket$0 = $TV($EXPECT($L15, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11241
11519
  return { $loc, token: $1 };
11242
11520
  });
11243
11521
  function OpenAngleBracket(ctx, state) {
@@ -11249,7 +11527,7 @@ var require_parser = __commonJS({
11249
11527
  function OpenBrace(ctx, state) {
11250
11528
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11251
11529
  }
11252
- var OpenBracket$0 = $TV($EXPECT($L157, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11530
+ var OpenBracket$0 = $TV($EXPECT($L158, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11253
11531
  return { $loc, token: $1 };
11254
11532
  });
11255
11533
  function OpenBracket(ctx, state) {
@@ -11261,43 +11539,43 @@ var require_parser = __commonJS({
11261
11539
  function OpenParen(ctx, state) {
11262
11540
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11263
11541
  }
11264
- var Operator$0 = $TS($S($EXPECT($L158, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11542
+ var Operator$0 = $TS($S($EXPECT($L159, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11265
11543
  return { $loc, token: $1 };
11266
11544
  });
11267
11545
  function Operator(ctx, state) {
11268
11546
  return $EVENT(ctx, state, "Operator", Operator$0);
11269
11547
  }
11270
- var Own$0 = $TS($S($EXPECT($L159, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11548
+ var Own$0 = $TS($S($EXPECT($L160, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11271
11549
  return { $loc, token: $1 };
11272
11550
  });
11273
11551
  function Own(ctx, state) {
11274
11552
  return $EVENT(ctx, state, "Own", Own$0);
11275
11553
  }
11276
- var Public$0 = $TS($S($EXPECT($L160, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11554
+ var Public$0 = $TS($S($EXPECT($L161, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11277
11555
  return { $loc, token: $1 };
11278
11556
  });
11279
11557
  function Public(ctx, state) {
11280
11558
  return $EVENT(ctx, state, "Public", Public$0);
11281
11559
  }
11282
- var Private$0 = $TS($S($EXPECT($L161, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11560
+ var Private$0 = $TS($S($EXPECT($L162, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11283
11561
  return { $loc, token: $1 };
11284
11562
  });
11285
11563
  function Private(ctx, state) {
11286
11564
  return $EVENT(ctx, state, "Private", Private$0);
11287
11565
  }
11288
- var Protected$0 = $TS($S($EXPECT($L162, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11566
+ var Protected$0 = $TS($S($EXPECT($L163, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11289
11567
  return { $loc, token: $1 };
11290
11568
  });
11291
11569
  function Protected(ctx, state) {
11292
11570
  return $EVENT(ctx, state, "Protected", Protected$0);
11293
11571
  }
11294
- var Pipe$0 = $TV($C($EXPECT($L163, 'Pipe "||>"'), $EXPECT($L164, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11572
+ var Pipe$0 = $TV($C($EXPECT($L164, 'Pipe "||>"'), $EXPECT($L165, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11295
11573
  return { $loc, token: "||>" };
11296
11574
  });
11297
- var Pipe$1 = $TV($C($EXPECT($L165, 'Pipe "|>="'), $EXPECT($L166, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11575
+ var Pipe$1 = $TV($C($EXPECT($L166, 'Pipe "|>="'), $EXPECT($L167, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11298
11576
  return { $loc, token: "|>=" };
11299
11577
  });
11300
- var Pipe$2 = $TV($C($EXPECT($L167, 'Pipe "|>"'), $EXPECT($L168, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11578
+ var Pipe$2 = $TV($C($EXPECT($L168, 'Pipe "|>"'), $EXPECT($L169, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11301
11579
  return { $loc, token: "|>" };
11302
11580
  });
11303
11581
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11310,173 +11588,173 @@ var require_parser = __commonJS({
11310
11588
  function QuestionMark(ctx, state) {
11311
11589
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11312
11590
  }
11313
- var Readonly$0 = $TS($S($EXPECT($L169, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11591
+ var Readonly$0 = $TS($S($EXPECT($L170, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11314
11592
  return { $loc, token: $1, ts: true };
11315
11593
  });
11316
11594
  function Readonly(ctx, state) {
11317
11595
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11318
11596
  }
11319
- var Return$0 = $TS($S($EXPECT($L170, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11597
+ var Return$0 = $TS($S($EXPECT($L171, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11320
11598
  return { $loc, token: $1 };
11321
11599
  });
11322
11600
  function Return(ctx, state) {
11323
11601
  return $EVENT(ctx, state, "Return", Return$0);
11324
11602
  }
11325
- var Satisfies$0 = $TS($S($EXPECT($L171, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11603
+ var Satisfies$0 = $TS($S($EXPECT($L172, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11326
11604
  return { $loc, token: $1 };
11327
11605
  });
11328
11606
  function Satisfies(ctx, state) {
11329
11607
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11330
11608
  }
11331
- var Semicolon$0 = $TV($EXPECT($L101, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11609
+ var Semicolon$0 = $TV($EXPECT($L102, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11332
11610
  return { $loc, token: $1 };
11333
11611
  });
11334
11612
  function Semicolon(ctx, state) {
11335
11613
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11336
11614
  }
11337
- var SingleQuote$0 = $TV($EXPECT($L172, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11615
+ var SingleQuote$0 = $TV($EXPECT($L173, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11338
11616
  return { $loc, token: $1 };
11339
11617
  });
11340
11618
  function SingleQuote(ctx, state) {
11341
11619
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11342
11620
  }
11343
- var Star$0 = $TV($EXPECT($L56, 'Star "*"'), function($skip, $loc, $0, $1) {
11621
+ var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11344
11622
  return { $loc, token: $1 };
11345
11623
  });
11346
11624
  function Star(ctx, state) {
11347
11625
  return $EVENT(ctx, state, "Star", Star$0);
11348
11626
  }
11349
- var Static$0 = $TS($S($EXPECT($L173, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11627
+ var Static$0 = $TS($S($EXPECT($L174, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11350
11628
  return { $loc, token: $1 };
11351
11629
  });
11352
- var Static$1 = $TS($S($EXPECT($L117, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L117, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11630
+ var Static$1 = $TS($S($EXPECT($L118, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L118, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11353
11631
  return { $loc, token: "static " };
11354
11632
  });
11355
11633
  var Static$$ = [Static$0, Static$1];
11356
11634
  function Static(ctx, state) {
11357
11635
  return $EVENT_C(ctx, state, "Static", Static$$);
11358
11636
  }
11359
- var SubstitutionStart$0 = $TV($EXPECT($L174, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11637
+ var SubstitutionStart$0 = $TV($EXPECT($L175, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11360
11638
  return { $loc, token: $1 };
11361
11639
  });
11362
11640
  function SubstitutionStart(ctx, state) {
11363
11641
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11364
11642
  }
11365
- var Super$0 = $TS($S($EXPECT($L175, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11643
+ var Super$0 = $TS($S($EXPECT($L176, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11366
11644
  return { $loc, token: $1 };
11367
11645
  });
11368
11646
  function Super(ctx, state) {
11369
11647
  return $EVENT(ctx, state, "Super", Super$0);
11370
11648
  }
11371
- var Switch$0 = $TS($S($EXPECT($L176, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11649
+ var Switch$0 = $TS($S($EXPECT($L177, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11372
11650
  return { $loc, token: $1 };
11373
11651
  });
11374
11652
  function Switch(ctx, state) {
11375
11653
  return $EVENT(ctx, state, "Switch", Switch$0);
11376
11654
  }
11377
- var Target$0 = $TS($S($EXPECT($L177, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11655
+ var Target$0 = $TS($S($EXPECT($L178, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11378
11656
  return { $loc, token: $1 };
11379
11657
  });
11380
11658
  function Target(ctx, state) {
11381
11659
  return $EVENT(ctx, state, "Target", Target$0);
11382
11660
  }
11383
- var Then$0 = $TS($S(__, $EXPECT($L178, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11661
+ var Then$0 = $TS($S(__, $EXPECT($L179, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11384
11662
  return { $loc, token: "" };
11385
11663
  });
11386
11664
  function Then(ctx, state) {
11387
11665
  return $EVENT(ctx, state, "Then", Then$0);
11388
11666
  }
11389
- var This$0 = $TS($S($EXPECT($L179, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11667
+ var This$0 = $TS($S($EXPECT($L180, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11390
11668
  return { $loc, token: $1 };
11391
11669
  });
11392
11670
  function This(ctx, state) {
11393
11671
  return $EVENT(ctx, state, "This", This$0);
11394
11672
  }
11395
- var Throw$0 = $TS($S($EXPECT($L180, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11673
+ var Throw$0 = $TS($S($EXPECT($L181, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11396
11674
  return { $loc, token: $1 };
11397
11675
  });
11398
11676
  function Throw(ctx, state) {
11399
11677
  return $EVENT(ctx, state, "Throw", Throw$0);
11400
11678
  }
11401
- var TripleDoubleQuote$0 = $TV($EXPECT($L181, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11679
+ var TripleDoubleQuote$0 = $TV($EXPECT($L182, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11402
11680
  return { $loc, token: "`" };
11403
11681
  });
11404
11682
  function TripleDoubleQuote(ctx, state) {
11405
11683
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11406
11684
  }
11407
- var TripleSingleQuote$0 = $TV($EXPECT($L182, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11685
+ var TripleSingleQuote$0 = $TV($EXPECT($L183, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11408
11686
  return { $loc, token: "`" };
11409
11687
  });
11410
11688
  function TripleSingleQuote(ctx, state) {
11411
11689
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11412
11690
  }
11413
- var TripleSlash$0 = $TV($EXPECT($L183, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11691
+ var TripleSlash$0 = $TV($EXPECT($L184, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11414
11692
  return { $loc, token: "/" };
11415
11693
  });
11416
11694
  function TripleSlash(ctx, state) {
11417
11695
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11418
11696
  }
11419
- var TripleTick$0 = $TV($EXPECT($L184, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11697
+ var TripleTick$0 = $TV($EXPECT($L185, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11420
11698
  return { $loc, token: "`" };
11421
11699
  });
11422
11700
  function TripleTick(ctx, state) {
11423
11701
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11424
11702
  }
11425
- var Try$0 = $TS($S($EXPECT($L185, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11703
+ var Try$0 = $TS($S($EXPECT($L186, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11426
11704
  return { $loc, token: $1 };
11427
11705
  });
11428
11706
  function Try(ctx, state) {
11429
11707
  return $EVENT(ctx, state, "Try", Try$0);
11430
11708
  }
11431
- var Typeof$0 = $TS($S($EXPECT($L186, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11709
+ var Typeof$0 = $TS($S($EXPECT($L187, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11432
11710
  return { $loc, token: $1 };
11433
11711
  });
11434
11712
  function Typeof(ctx, state) {
11435
11713
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11436
11714
  }
11437
- var Unless$0 = $TS($S($EXPECT($L187, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11438
- return { $loc, token: $1 };
11715
+ var Unless$0 = $TS($S($EXPECT($L188, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11716
+ return { $loc, token: $1, negated: true };
11439
11717
  });
11440
11718
  function Unless(ctx, state) {
11441
11719
  return $EVENT(ctx, state, "Unless", Unless$0);
11442
11720
  }
11443
- var Until$0 = $TS($S($EXPECT($L188, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11721
+ var Until$0 = $TS($S($EXPECT($L189, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11444
11722
  return { $loc, token: $1 };
11445
11723
  });
11446
11724
  function Until(ctx, state) {
11447
11725
  return $EVENT(ctx, state, "Until", Until$0);
11448
11726
  }
11449
- var Using$0 = $TS($S($EXPECT($L189, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11727
+ var Using$0 = $TS($S($EXPECT($L190, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11450
11728
  return { $loc, token: $1 };
11451
11729
  });
11452
11730
  function Using(ctx, state) {
11453
11731
  return $EVENT(ctx, state, "Using", Using$0);
11454
11732
  }
11455
- var Var$0 = $TS($S($EXPECT($L190, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
+ var Var$0 = $TS($S($EXPECT($L191, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11456
11734
  return { $loc, token: $1 };
11457
11735
  });
11458
11736
  function Var(ctx, state) {
11459
11737
  return $EVENT(ctx, state, "Var", Var$0);
11460
11738
  }
11461
- var Void$0 = $TS($S($EXPECT($L191, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11739
+ var Void$0 = $TS($S($EXPECT($L192, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11462
11740
  return { $loc, token: $1 };
11463
11741
  });
11464
11742
  function Void(ctx, state) {
11465
11743
  return $EVENT(ctx, state, "Void", Void$0);
11466
11744
  }
11467
- var When$0 = $TS($S($EXPECT($L192, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
+ var When$0 = $TS($S($EXPECT($L193, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11468
11746
  return { $loc, token: "case" };
11469
11747
  });
11470
11748
  function When(ctx, state) {
11471
11749
  return $EVENT(ctx, state, "When", When$0);
11472
11750
  }
11473
- var While$0 = $TS($S($EXPECT($L193, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11751
+ var While$0 = $TS($S($EXPECT($L194, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11474
11752
  return { $loc, token: $1 };
11475
11753
  });
11476
11754
  function While(ctx, state) {
11477
11755
  return $EVENT(ctx, state, "While", While$0);
11478
11756
  }
11479
- var Yield$0 = $TS($S($EXPECT($L194, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
+ var Yield$0 = $TS($S($EXPECT($L195, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11480
11758
  return { $loc, token: $1, type: "Yield" };
11481
11759
  });
11482
11760
  function Yield(ctx, state) {
@@ -11505,7 +11783,7 @@ var require_parser = __commonJS({
11505
11783
  function JSXImplicitFragment(ctx, state) {
11506
11784
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
11507
11785
  }
11508
- var JSXTag$0 = $T($S($EXPECT($R68, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11786
+ var JSXTag$0 = $T($S($EXPECT($R69, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11509
11787
  return value[1];
11510
11788
  });
11511
11789
  function JSXTag(ctx, state) {
@@ -11555,7 +11833,7 @@ var require_parser = __commonJS({
11555
11833
  function JSXElement(ctx, state) {
11556
11834
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11557
11835
  }
11558
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L14, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L195, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11836
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L15, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L196, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11559
11837
  return { type: "JSXElement", children: $0, tag: $2 };
11560
11838
  });
11561
11839
  function JSXSelfClosingElement(ctx, state) {
@@ -11574,7 +11852,7 @@ var require_parser = __commonJS({
11574
11852
  function PopJSXStack(ctx, state) {
11575
11853
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
11576
11854
  }
11577
- var JSXOpeningElement$0 = $S($EXPECT($L14, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L35, 'JSXOpeningElement ">"'));
11855
+ var JSXOpeningElement$0 = $S($EXPECT($L15, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
11578
11856
  function JSXOpeningElement(ctx, state) {
11579
11857
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
11580
11858
  }
@@ -11589,7 +11867,7 @@ var require_parser = __commonJS({
11589
11867
  function JSXOptionalClosingElement(ctx, state) {
11590
11868
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11591
11869
  }
11592
- var JSXClosingElement$0 = $S($EXPECT($L196, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L35, 'JSXClosingElement ">"'));
11870
+ var JSXClosingElement$0 = $S($EXPECT($L197, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
11593
11871
  function JSXClosingElement(ctx, state) {
11594
11872
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11595
11873
  }
@@ -11610,7 +11888,7 @@ var require_parser = __commonJS({
11610
11888
  ];
11611
11889
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11612
11890
  });
11613
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L197, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11891
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L198, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11614
11892
  var children = $3;
11615
11893
  $0 = $0.slice(1);
11616
11894
  return {
@@ -11623,7 +11901,7 @@ var require_parser = __commonJS({
11623
11901
  function JSXFragment(ctx, state) {
11624
11902
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11625
11903
  }
11626
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L197, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11904
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L198, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11627
11905
  module2.JSXTagStack.push("");
11628
11906
  return $1;
11629
11907
  });
@@ -11640,11 +11918,11 @@ var require_parser = __commonJS({
11640
11918
  function JSXOptionalClosingFragment(ctx, state) {
11641
11919
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11642
11920
  }
11643
- var JSXClosingFragment$0 = $EXPECT($L198, 'JSXClosingFragment "</>"');
11921
+ var JSXClosingFragment$0 = $EXPECT($L199, 'JSXClosingFragment "</>"');
11644
11922
  function JSXClosingFragment(ctx, state) {
11645
11923
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11646
11924
  }
11647
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L147, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11925
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L148, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11648
11926
  return module2.config.defaultElement;
11649
11927
  });
11650
11928
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11652,7 +11930,7 @@ var require_parser = __commonJS({
11652
11930
  function JSXElementName(ctx, state) {
11653
11931
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
11654
11932
  }
11655
- var JSXIdentifierName$0 = $R$0($EXPECT($R69, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11933
+ var JSXIdentifierName$0 = $R$0($EXPECT($R70, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11656
11934
  function JSXIdentifierName(ctx, state) {
11657
11935
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
11658
11936
  }
@@ -11816,7 +12094,7 @@ var require_parser = __commonJS({
11816
12094
  }
11817
12095
  return $skip;
11818
12096
  });
11819
- var JSXAttribute$5 = $TS($S($EXPECT($L147, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12097
+ var JSXAttribute$5 = $TS($S($EXPECT($L148, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11820
12098
  return [" ", "id=", $2];
11821
12099
  });
11822
12100
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -11825,7 +12103,7 @@ var require_parser = __commonJS({
11825
12103
  class: $2
11826
12104
  };
11827
12105
  });
11828
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R14, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12106
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R15, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
11829
12107
  var toggle = $1;
11830
12108
  var id = $2;
11831
12109
  const value = toggle === "+" ? "true" : "false";
@@ -11835,11 +12113,11 @@ var require_parser = __commonJS({
11835
12113
  function JSXAttribute(ctx, state) {
11836
12114
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
11837
12115
  }
11838
- var JSXAttributeSpace$0 = $R$0($EXPECT($R70, "JSXAttributeSpace /[\\s>]|\\/>/"));
12116
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R71, "JSXAttributeSpace /[\\s>]|\\/>/"));
11839
12117
  function JSXAttributeSpace(ctx, state) {
11840
12118
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
11841
12119
  }
11842
- var JSXShorthandString$0 = $TR($EXPECT($R71, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12120
+ var JSXShorthandString$0 = $TR($EXPECT($R72, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11843
12121
  return quoteString($0);
11844
12122
  });
11845
12123
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -11873,7 +12151,7 @@ var require_parser = __commonJS({
11873
12151
  }
11874
12152
  return [open, value, close];
11875
12153
  });
11876
- var JSXAttributeValue$4 = $R$0($EXPECT($R72, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12154
+ var JSXAttributeValue$4 = $R$0($EXPECT($R73, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
11877
12155
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
11878
12156
  function JSXAttributeValue(ctx, state) {
11879
12157
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -11886,7 +12164,7 @@ var require_parser = __commonJS({
11886
12164
  function InlineJSXAttributeValue(ctx, state) {
11887
12165
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
11888
12166
  }
11889
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R73, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12167
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R74, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
11890
12168
  var op = $2;
11891
12169
  var rhs = $3;
11892
12170
  return [[], op, [], rhs];
@@ -11903,7 +12181,7 @@ var require_parser = __commonJS({
11903
12181
  function InlineJSXUnaryExpression(ctx, state) {
11904
12182
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
11905
12183
  }
11906
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R74, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12184
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R75, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11907
12185
  return { $loc, token: $0 };
11908
12186
  });
11909
12187
  function InlineJSXUnaryOp(ctx, state) {
@@ -11935,7 +12213,7 @@ var require_parser = __commonJS({
11935
12213
  ]
11936
12214
  });
11937
12215
  });
11938
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12216
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L18, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
11939
12217
  var args = $2;
11940
12218
  var rest = $3;
11941
12219
  return processCallMemberExpression({
@@ -12054,7 +12332,7 @@ var require_parser = __commonJS({
12054
12332
  }
12055
12333
  return $skip;
12056
12334
  });
12057
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L27, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12335
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12058
12336
  return { children: [], jsxChildren: [] };
12059
12337
  });
12060
12338
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12109,19 +12387,19 @@ var require_parser = __commonJS({
12109
12387
  function JSXChild(ctx, state) {
12110
12388
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12111
12389
  }
12112
- var JSXComment$0 = $TS($S($EXPECT($L199, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L200, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12390
+ var JSXComment$0 = $TS($S($EXPECT($L200, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L201, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12113
12391
  return ["{/*", $2, "*/}"];
12114
12392
  });
12115
12393
  function JSXComment(ctx, state) {
12116
12394
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12117
12395
  }
12118
- var JSXCommentContent$0 = $TR($EXPECT($R75, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12396
+ var JSXCommentContent$0 = $TR($EXPECT($R76, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12119
12397
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12120
12398
  });
12121
12399
  function JSXCommentContent(ctx, state) {
12122
12400
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12123
12401
  }
12124
- var JSXText$0 = $TR($EXPECT($R76, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12402
+ var JSXText$0 = $TR($EXPECT($R77, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12125
12403
  return {
12126
12404
  type: "JSXText",
12127
12405
  token: $0,
@@ -12241,37 +12519,37 @@ var require_parser = __commonJS({
12241
12519
  function InterfaceExtendsTarget(ctx, state) {
12242
12520
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12243
12521
  }
12244
- var TypeKeyword$0 = $TS($S($EXPECT($L201, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12522
+ var TypeKeyword$0 = $TS($S($EXPECT($L202, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12245
12523
  return { $loc, token: $1 };
12246
12524
  });
12247
12525
  function TypeKeyword(ctx, state) {
12248
12526
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12249
12527
  }
12250
- var Enum$0 = $TS($S($EXPECT($L202, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12528
+ var Enum$0 = $TS($S($EXPECT($L203, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12251
12529
  return { $loc, token: $1 };
12252
12530
  });
12253
12531
  function Enum(ctx, state) {
12254
12532
  return $EVENT(ctx, state, "Enum", Enum$0);
12255
12533
  }
12256
- var Interface$0 = $TS($S($EXPECT($L203, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12534
+ var Interface$0 = $TS($S($EXPECT($L204, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12257
12535
  return { $loc, token: $1 };
12258
12536
  });
12259
12537
  function Interface(ctx, state) {
12260
12538
  return $EVENT(ctx, state, "Interface", Interface$0);
12261
12539
  }
12262
- var Global$0 = $TS($S($EXPECT($L204, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12540
+ var Global$0 = $TS($S($EXPECT($L205, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12263
12541
  return { $loc, token: $1 };
12264
12542
  });
12265
12543
  function Global(ctx, state) {
12266
12544
  return $EVENT(ctx, state, "Global", Global$0);
12267
12545
  }
12268
- var Module$0 = $TS($S($EXPECT($L205, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12546
+ var Module$0 = $TS($S($EXPECT($L206, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12269
12547
  return { $loc, token: $1 };
12270
12548
  });
12271
12549
  function Module(ctx, state) {
12272
12550
  return $EVENT(ctx, state, "Module", Module$0);
12273
12551
  }
12274
- var Namespace$0 = $TS($S($EXPECT($L206, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12552
+ var Namespace$0 = $TS($S($EXPECT($L207, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12275
12553
  return { $loc, token: $1 };
12276
12554
  });
12277
12555
  function Namespace(ctx, state) {
@@ -12486,7 +12764,7 @@ var require_parser = __commonJS({
12486
12764
  function TypeProperty(ctx, state) {
12487
12765
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
12488
12766
  }
12489
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R77, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R78, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12767
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R78, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R79, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12490
12768
  function TypeIndexSignature(ctx, state) {
12491
12769
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
12492
12770
  }
@@ -12496,27 +12774,53 @@ var require_parser = __commonJS({
12496
12774
  function TypeIndex(ctx, state) {
12497
12775
  return $EVENT_C(ctx, state, "TypeIndex", TypeIndex$$);
12498
12776
  }
12499
- var TypeSuffix$0 = $T($S($E(QuestionMark), $E(_), Colon, Type), function(value) {
12500
- return { "type": "TypeSuffix", "ts": true, "children": value };
12777
+ var TypeSuffix$0 = $T($S($E(_), $E(QuestionMark), $E(_), Colon, MaybeIndentedType), function(value) {
12778
+ var optional = value[1];
12779
+ var t = value[4];
12780
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
12501
12781
  });
12502
- var TypeSuffix$1 = $T($S(QuestionMark, $E(_)), function(value) {
12503
- return { "type": "TypeSuffix", "ts": true, "children": value };
12782
+ var TypeSuffix$1 = $T($S($E(_), QuestionMark, $E(_)), function(value) {
12783
+ var optional = value[1];
12784
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
12504
12785
  });
12505
- var TypeSuffix$2 = $T($S(NonNullAssertion, $E(_), $E($S(Colon, Type))), function(value) {
12506
- return { "type": "TypeSuffix", "ts": true, "children": value };
12786
+ var TypeSuffix$2 = $TS($S(NonNullAssertion, $E(_), $E($S(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
12787
+ var ct = $3;
12788
+ const [colon, t] = ct ?? [];
12789
+ return {
12790
+ type: "TypeSuffix",
12791
+ ts: true,
12792
+ t,
12793
+ children: [$1, $2, colon, t]
12794
+ };
12507
12795
  });
12508
12796
  var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
12509
12797
  function TypeSuffix(ctx, state) {
12510
12798
  return $EVENT_C(ctx, state, "TypeSuffix", TypeSuffix$$);
12511
12799
  }
12512
- var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3) {
12513
- var t = $3;
12514
- return { ...t, children: [$1, $2, ...t.children] };
12800
+ var MaybeIndentedType$0 = InterfaceBlock;
12801
+ var MaybeIndentedType$1 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12802
+ if (!$2)
12803
+ return $skip;
12804
+ return $2;
12805
+ });
12806
+ var MaybeIndentedType$2 = Type;
12807
+ var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
12808
+ function MaybeIndentedType(ctx, state) {
12809
+ return $EVENT_C(ctx, state, "MaybeIndentedType", MaybeIndentedType$$);
12810
+ }
12811
+ var ReturnTypeSuffix$0 = $TS($S($E(_), $E(QuestionMark), $E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12812
+ var optional = $2;
12813
+ var t = $5;
12814
+ return {
12815
+ ...t,
12816
+ optional,
12817
+ children: [$1, optional, $3, $4, ...t.children]
12818
+ };
12515
12819
  });
12516
12820
  function ReturnTypeSuffix(ctx, state) {
12517
12821
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12518
12822
  }
12519
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L207, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12823
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L208, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12520
12824
  var asserts = $1;
12521
12825
  var t = $2;
12522
12826
  if (asserts) {
@@ -12537,7 +12841,7 @@ var require_parser = __commonJS({
12537
12841
  function ReturnType(ctx, state) {
12538
12842
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12539
12843
  }
12540
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12844
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L153, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12541
12845
  var lhs = $1;
12542
12846
  var rhs = $2;
12543
12847
  if (!rhs)
@@ -12572,9 +12876,19 @@ var require_parser = __commonJS({
12572
12876
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
12573
12877
  }
12574
12878
  var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
12575
- if (!$1.length && !$3.length)
12576
- return $2;
12577
- return [...$1, $2, ...$3];
12879
+ var prefix = $1;
12880
+ var t = $2;
12881
+ var suffix = $3;
12882
+ if (!prefix.length && !suffix.length)
12883
+ return t;
12884
+ return {
12885
+ type: "UnaryType",
12886
+ prefix,
12887
+ suffix,
12888
+ t,
12889
+ // omit empty prefix for trimming space
12890
+ children: prefix.length ? $0 : [t, suffix]
12891
+ };
12578
12892
  });
12579
12893
  function TypeUnary(ctx, state) {
12580
12894
  return $EVENT(ctx, state, "TypeUnary", TypeUnary$0);
@@ -12585,10 +12899,10 @@ var require_parser = __commonJS({
12585
12899
  function TypeUnarySuffix(ctx, state) {
12586
12900
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12587
12901
  }
12588
- var TypeUnaryOp$0 = $S($EXPECT($L208, 'TypeUnaryOp "keyof"'), NonIdContinue);
12589
- var TypeUnaryOp$1 = $S($EXPECT($L186, 'TypeUnaryOp "typeof"'), NonIdContinue);
12590
- var TypeUnaryOp$2 = $S($EXPECT($L209, 'TypeUnaryOp "infer"'), NonIdContinue);
12591
- var TypeUnaryOp$3 = $S($EXPECT($L169, 'TypeUnaryOp "readonly"'), NonIdContinue);
12902
+ var TypeUnaryOp$0 = $S($EXPECT($L209, 'TypeUnaryOp "keyof"'), NonIdContinue);
12903
+ var TypeUnaryOp$1 = $S($EXPECT($L187, 'TypeUnaryOp "typeof"'), NonIdContinue);
12904
+ var TypeUnaryOp$2 = $S($EXPECT($L210, 'TypeUnaryOp "infer"'), NonIdContinue);
12905
+ var TypeUnaryOp$3 = $S($EXPECT($L170, 'TypeUnaryOp "readonly"'), NonIdContinue);
12592
12906
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
12593
12907
  function TypeUnaryOp(ctx, state) {
12594
12908
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -12597,17 +12911,26 @@ var require_parser = __commonJS({
12597
12911
  function TypeIndexedAccess(ctx, state) {
12598
12912
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
12599
12913
  }
12600
- var UnknownAlias$0 = $TV($EXPECT($L210, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12914
+ var UnknownAlias$0 = $TV($EXPECT($L211, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12601
12915
  return { $loc, token: "unknown" };
12602
12916
  });
12603
12917
  function UnknownAlias(ctx, state) {
12604
12918
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
12605
12919
  }
12606
- var TypePrimary$0 = $S($E(_), TypeTuple);
12920
+ var TypePrimary$0 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
12921
+ return { ...$2, children: [$1, ...$2.children] };
12922
+ });
12607
12923
  var TypePrimary$1 = InterfaceBlock;
12608
12924
  var TypePrimary$2 = $S($E(_), FunctionType);
12609
12925
  var TypePrimary$3 = $S($E(_), InlineInterfaceLiteral);
12610
- var TypePrimary$4 = $S($E(_), ImportType);
12926
+ var TypePrimary$4 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
12927
+ var t = $2;
12928
+ return {
12929
+ type: "ImportType",
12930
+ t,
12931
+ children: $0
12932
+ };
12933
+ });
12611
12934
  var TypePrimary$5 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
12612
12935
  var t = $2;
12613
12936
  return {
@@ -12633,22 +12956,30 @@ var require_parser = __commonJS({
12633
12956
  args
12634
12957
  };
12635
12958
  });
12636
- var TypePrimary$8 = $S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen);
12959
+ var TypePrimary$8 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12960
+ return {
12961
+ type: "ParenthesizedType",
12962
+ children: $0
12963
+ };
12964
+ });
12637
12965
  var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8];
12638
12966
  function TypePrimary(ctx, state) {
12639
12967
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
12640
12968
  }
12641
- var ImportType$0 = $S($EXPECT($L17, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12642
- var ImportType$1 = $S($EXPECT($L17, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12969
+ var ImportType$0 = $S($EXPECT($L18, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12970
+ var ImportType$1 = $S($EXPECT($L18, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12643
12971
  var ImportType$$ = [ImportType$0, ImportType$1];
12644
12972
  function ImportType(ctx, state) {
12645
12973
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
12646
12974
  }
12647
- var TypeTuple$0 = $S(OpenBracket, NestedTypeList, __, CloseBracket);
12648
- var TypeTuple$1 = $S(OpenBracket, $E(TypeList), __, CloseBracket);
12649
- var TypeTuple$$ = [TypeTuple$0, TypeTuple$1];
12975
+ var TypeTuple$0 = $TS($S(OpenBracket, $C(NestedTypeList, $E(TypeList)), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
12976
+ return {
12977
+ type: "TypeTuple",
12978
+ children: $0
12979
+ };
12980
+ });
12650
12981
  function TypeTuple(ctx, state) {
12651
- return $EVENT_C(ctx, state, "TypeTuple", TypeTuple$$);
12982
+ return $EVENT(ctx, state, "TypeTuple", TypeTuple$0);
12652
12983
  }
12653
12984
  var TypeList$0 = $S(TypeElement, $Q($S(__, Comma, TypeElement)));
12654
12985
  function TypeList(ctx, state) {
@@ -12699,13 +13030,59 @@ var require_parser = __commonJS({
12699
13030
  function NestedType(ctx, state) {
12700
13031
  return $EVENT(ctx, state, "NestedType", NestedType$0);
12701
13032
  }
12702
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12703
- if ($2)
12704
- return $0;
12705
- return $1;
13033
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R80, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13034
+ return [$1, expressionizeTypeIf($3)];
13035
+ });
13036
+ var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13037
+ if ($1.negated)
13038
+ return [$1, $2, $3, $7, $5, $6, $4];
13039
+ return $0;
13040
+ });
13041
+ var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13042
+ if (!$2)
13043
+ return $1;
13044
+ return $0;
12706
13045
  });
13046
+ var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
12707
13047
  function TypeConditional(ctx, state) {
12708
- return $EVENT(ctx, state, "TypeConditional", TypeConditional$0);
13048
+ return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
13049
+ }
13050
+ var TypeCondition$0 = $TS($S(TypeBinary, $E(IndentedFurther), $C(ExtendsToken, NotExtendsToken), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
13051
+ return {
13052
+ type: "TypeCondition",
13053
+ negated: $3.negated,
13054
+ children: $0
13055
+ };
13056
+ });
13057
+ function TypeCondition(ctx, state) {
13058
+ return $EVENT(ctx, state, "TypeCondition", TypeCondition$0);
13059
+ }
13060
+ var TypeIfThenElse$0 = $TS($S($E(_), $C(If, Unless), $S(OpenParen, TypeCondition, CloseParen), TypeBlock, $E(TypeElse)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13061
+ return [$1, $2, $3[1], $4, $5];
13062
+ });
13063
+ var TypeIfThenElse$1 = $S($E(_), $C(If, Unless), TypeCondition, TypeBlock, $E(TypeElse));
13064
+ var TypeIfThenElse$$ = [TypeIfThenElse$0, TypeIfThenElse$1];
13065
+ function TypeIfThenElse(ctx, state) {
13066
+ return $EVENT_C(ctx, state, "TypeIfThenElse", TypeIfThenElse$$);
13067
+ }
13068
+ var TypeElse$0 = $S(NotDedented, Else, TypeBlock);
13069
+ function TypeElse(ctx, state) {
13070
+ return $EVENT(ctx, state, "TypeElse", TypeElse$0);
13071
+ }
13072
+ var TypeBlock$0 = $T($S(Then, Type), function(value) {
13073
+ return value[1];
13074
+ });
13075
+ var TypeBlock$1 = $T($S($N(EOS), Type), function(value) {
13076
+ return value[1];
13077
+ });
13078
+ var TypeBlock$2 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13079
+ if (!$2)
13080
+ return $skip;
13081
+ return $2;
13082
+ });
13083
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
13084
+ function TypeBlock(ctx, state) {
13085
+ return $EVENT_C(ctx, state, "TypeBlock", TypeBlock$$);
12709
13086
  }
12710
13087
  var TypeTemplateSubstitution$0 = $S(SubstitutionStart, Type, __, CloseBrace);
12711
13088
  function TypeTemplateSubstitution(ctx, state) {
@@ -12737,10 +13114,10 @@ var require_parser = __commonJS({
12737
13114
  }
12738
13115
  var TypeLiteral$0 = TypeTemplateLiteral;
12739
13116
  var TypeLiteral$1 = Literal;
12740
- var TypeLiteral$2 = $TS($S($EXPECT($L191, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13117
+ var TypeLiteral$2 = $TS($S($EXPECT($L192, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12741
13118
  return { type: "VoidType", $loc, token: $1 };
12742
13119
  });
12743
- var TypeLiteral$3 = $TV($EXPECT($L211, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13120
+ var TypeLiteral$3 = $TV($EXPECT($L212, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12744
13121
  return { $loc, token: "[]" };
12745
13122
  });
12746
13123
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -12759,16 +13136,16 @@ var require_parser = __commonJS({
12759
13136
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
12760
13137
  return value[1];
12761
13138
  });
12762
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L114, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L27, 'InlineInterfacePropertyDelimiter "}"'))));
13139
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L13, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L115, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
12763
13140
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
12764
13141
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
12765
13142
  function InlineInterfacePropertyDelimiter(ctx, state) {
12766
13143
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
12767
13144
  }
12768
- var TypeBinaryOp$0 = $TV($EXPECT($L100, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13145
+ var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
12769
13146
  return { $loc, token: "|" };
12770
13147
  });
12771
- var TypeBinaryOp$1 = $TV($EXPECT($L99, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13148
+ var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
12772
13149
  return { $loc, token: "&" };
12773
13150
  });
12774
13151
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -12785,7 +13162,7 @@ var require_parser = __commonJS({
12785
13162
  function FunctionType(ctx, state) {
12786
13163
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
12787
13164
  }
12788
- var TypeArrowFunction$0 = $TV($C($EXPECT($L10, 'TypeArrowFunction "=>"'), $EXPECT($L11, 'TypeArrowFunction "\u21D2"'), $EXPECT($L25, 'TypeArrowFunction "->"'), $EXPECT($L26, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13165
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L11, 'TypeArrowFunction "=>"'), $EXPECT($L12, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
12789
13166
  return { $loc, token: "=>" };
12790
13167
  });
12791
13168
  function TypeArrowFunction(ctx, state) {
@@ -12823,11 +13200,11 @@ var require_parser = __commonJS({
12823
13200
  function TypeParameters(ctx, state) {
12824
13201
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
12825
13202
  }
12826
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13203
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L152, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12827
13204
  function TypeParameter(ctx, state) {
12828
13205
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
12829
13206
  }
12830
- var TypeConstraint$0 = $S(__, $EXPECT($L140, 'TypeConstraint "extends"'), NonIdContinue, Type);
13207
+ var TypeConstraint$0 = $S(__, $EXPECT($L141, 'TypeConstraint "extends"'), NonIdContinue, Type);
12831
13208
  function TypeConstraint(ctx, state) {
12832
13209
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
12833
13210
  }
@@ -12836,7 +13213,7 @@ var require_parser = __commonJS({
12836
13213
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
12837
13214
  }
12838
13215
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
12839
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L35, 'TypeParameterDelimiter ">"')));
13216
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
12840
13217
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
12841
13218
  return value[1];
12842
13219
  });
@@ -12850,15 +13227,15 @@ var require_parser = __commonJS({
12850
13227
  function ThisType(ctx, state) {
12851
13228
  return $EVENT(ctx, state, "ThisType", ThisType$0);
12852
13229
  }
12853
- var Shebang$0 = $S($R$0($EXPECT($R79, "Shebang /#![^\\r\\n]*/")), EOL);
13230
+ var Shebang$0 = $S($R$0($EXPECT($R81, "Shebang /#![^\\r\\n]*/")), EOL);
12854
13231
  function Shebang(ctx, state) {
12855
13232
  return $EVENT(ctx, state, "Shebang", Shebang$0);
12856
13233
  }
12857
- var CivetPrologue$0 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13234
+ var CivetPrologue$0 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12858
13235
  var content = value[2];
12859
13236
  return content;
12860
13237
  });
12861
- var CivetPrologue$1 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13238
+ var CivetPrologue$1 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12862
13239
  var content = value[2];
12863
13240
  return content;
12864
13241
  });
@@ -12866,7 +13243,7 @@ var require_parser = __commonJS({
12866
13243
  function CivetPrologue(ctx, state) {
12867
13244
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
12868
13245
  }
12869
- var CivetPrologueContent$0 = $TS($S($EXPECT($L212, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13246
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L213, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R84, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12870
13247
  var options = $3;
12871
13248
  return {
12872
13249
  type: "CivetPrologue",
@@ -12877,7 +13254,7 @@ var require_parser = __commonJS({
12877
13254
  function CivetPrologueContent(ctx, state) {
12878
13255
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
12879
13256
  }
12880
- var CivetOption$0 = $TR($EXPECT($R83, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13257
+ var CivetOption$0 = $TR($EXPECT($R85, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12881
13258
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
12882
13259
  if (l)
12883
13260
  return l.toUpperCase();
@@ -12894,11 +13271,11 @@ var require_parser = __commonJS({
12894
13271
  function CivetOption(ctx, state) {
12895
13272
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
12896
13273
  }
12897
- var UnknownPrologue$0 = $S($R$0($EXPECT($R80, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13274
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R82, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
12898
13275
  function UnknownPrologue(ctx, state) {
12899
13276
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
12900
13277
  }
12901
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R84, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13278
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R86, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
12902
13279
  function TripleSlashDirective(ctx, state) {
12903
13280
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
12904
13281
  }
@@ -12912,13 +13289,13 @@ var require_parser = __commonJS({
12912
13289
  function PrologueString(ctx, state) {
12913
13290
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
12914
13291
  }
12915
- var EOS$0 = $T($S($EXPECT($R85, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13292
+ var EOS$0 = $T($S($EXPECT($R87, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
12916
13293
  return value[1];
12917
13294
  });
12918
13295
  function EOS(ctx, state) {
12919
13296
  return $EVENT(ctx, state, "EOS", EOS$0);
12920
13297
  }
12921
- var EOL$0 = $TR($EXPECT($R86, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13298
+ var EOL$0 = $TR($EXPECT($R88, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12922
13299
  return { $loc, token: $0 };
12923
13300
  });
12924
13301
  function EOL(ctx, state) {
@@ -13337,6 +13714,30 @@ var require_parser = __commonJS({
13337
13714
  ]
13338
13715
  });
13339
13716
  },
13717
+ concatAssign(ref) {
13718
+ const typeSuffix = {
13719
+ ts: true,
13720
+ children: [
13721
+ ": <B, A extends {push: (this: A, b: B) => void} | (B extends unknown[] ? {push: (this: A, ...b: B) => void} : never)>(lhs: A, rhs: B) => A"
13722
+ ]
13723
+ };
13724
+ module2.prelude.push({
13725
+ children: [
13726
+ preludeVar,
13727
+ ref,
13728
+ typeSuffix,
13729
+ " = (lhs, rhs) => ((rhs",
13730
+ asAny,
13731
+ ")?.[Symbol.isConcatSpreadable] ? (lhs",
13732
+ asAny,
13733
+ ").push.apply(lhs, rhs",
13734
+ asAny,
13735
+ ") : (lhs",
13736
+ asAny,
13737
+ ").push(rhs), lhs);\n"
13738
+ ]
13739
+ });
13740
+ },
13340
13741
  JSX(jsxRef) {
13341
13742
  module2.prelude.push({
13342
13743
  ts: true,
@@ -13438,7 +13839,7 @@ var require_parser = __commonJS({
13438
13839
  function Init(ctx, state) {
13439
13840
  return $EVENT(ctx, state, "Init", Init$0);
13440
13841
  }
13441
- var Indent$0 = $TR($EXPECT($R81, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13842
+ var Indent$0 = $TR($EXPECT($R83, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13442
13843
  const level = getIndentLevel($0, module2.config.tab);
13443
13844
  return {
13444
13845
  $loc,
@@ -13592,6 +13993,7 @@ var require_parser = __commonJS({
13592
13993
  exports.UnaryBody = UnaryBody;
13593
13994
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
13594
13995
  exports.UnaryPostfix = UnaryPostfix;
13996
+ exports.TypePostfix = TypePostfix;
13595
13997
  exports.UpdateExpression = UpdateExpression;
13596
13998
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
13597
13999
  exports.AssignmentExpression = AssignmentExpression;
@@ -13621,6 +14023,8 @@ var require_parser = __commonJS({
13621
14023
  exports.ExtendsClause = ExtendsClause;
13622
14024
  exports.ExtendsToken = ExtendsToken;
13623
14025
  exports.ExtendsShorthand = ExtendsShorthand;
14026
+ exports.NotExtendsToken = NotExtendsToken;
14027
+ exports.OmittedNegation = OmittedNegation;
13624
14028
  exports.ExtendsTarget = ExtendsTarget;
13625
14029
  exports.ImplementsClause = ImplementsClause;
13626
14030
  exports.ImplementsToken = ImplementsToken;
@@ -14019,6 +14423,7 @@ var require_parser = __commonJS({
14019
14423
  exports.Each = Each;
14020
14424
  exports.Else = Else;
14021
14425
  exports.Equals = Equals;
14426
+ exports.ExclamationPoint = ExclamationPoint;
14022
14427
  exports.Export = Export;
14023
14428
  exports.Extends = Extends;
14024
14429
  exports.Finally = Finally;
@@ -14161,6 +14566,7 @@ var require_parser = __commonJS({
14161
14566
  exports.TypeIndexSignature = TypeIndexSignature;
14162
14567
  exports.TypeIndex = TypeIndex;
14163
14568
  exports.TypeSuffix = TypeSuffix;
14569
+ exports.MaybeIndentedType = MaybeIndentedType;
14164
14570
  exports.ReturnTypeSuffix = ReturnTypeSuffix;
14165
14571
  exports.ReturnType = ReturnType;
14166
14572
  exports.TypePredicate = TypePredicate;
@@ -14179,6 +14585,10 @@ var require_parser = __commonJS({
14179
14585
  exports.NestedTypeList = NestedTypeList;
14180
14586
  exports.NestedType = NestedType;
14181
14587
  exports.TypeConditional = TypeConditional;
14588
+ exports.TypeCondition = TypeCondition;
14589
+ exports.TypeIfThenElse = TypeIfThenElse;
14590
+ exports.TypeElse = TypeElse;
14591
+ exports.TypeBlock = TypeBlock;
14182
14592
  exports.TypeTemplateSubstitution = TypeTemplateSubstitution;
14183
14593
  exports.TypeTemplateLiteral = TypeTemplateLiteral;
14184
14594
  exports.CoffeeStringTypeSubstitution = CoffeeStringTypeSubstitution;
@@ -14265,6 +14675,7 @@ var require_parser = __commonJS({
14265
14675
  dedentBlockString,
14266
14676
  dedentBlockSubstitutions,
14267
14677
  expressionizeIfClause,
14678
+ expressionizeTypeIf,
14268
14679
  forRange,
14269
14680
  gatherBindingCode,
14270
14681
  getIndentLevel,