@danielx/civet 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -38,9 +38,9 @@ var Civet = (() => {
38
38
  ));
39
39
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
40
40
 
41
- // node_modules/.pnpm/@danielx+hera@0.8.16/node_modules/@danielx/hera/dist/machine.js
41
+ // node_modules/@danielx/hera/dist/machine.js
42
42
  var require_machine = __commonJS({
43
- "node_modules/.pnpm/@danielx+hera@0.8.16/node_modules/@danielx/hera/dist/machine.js"(exports, module) {
43
+ "node_modules/@danielx/hera/dist/machine.js"(exports, module) {
44
44
  "use strict";
45
45
  var __defProp2 = Object.defineProperty;
46
46
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -70,7 +70,7 @@ var Civet = (() => {
70
70
  $N: () => $N2,
71
71
  $P: () => $P2,
72
72
  $Q: () => $Q2,
73
- $R: () => $R100,
73
+ $R: () => $R101,
74
74
  $R$0: () => $R$02,
75
75
  $S: () => $S2,
76
76
  $T: () => $T2,
@@ -107,7 +107,7 @@ var Civet = (() => {
107
107
  return;
108
108
  };
109
109
  }
110
- function $R100(regExp) {
110
+ function $R101(regExp) {
111
111
  return function(_ctx, state2) {
112
112
  const { input, pos } = state2;
113
113
  regExp.lastIndex = state2.pos;
@@ -572,6 +572,7 @@ ${body}`;
572
572
  processForInOf: () => processForInOf,
573
573
  processProgram: () => processProgram,
574
574
  processProgramAsync: () => processProgramAsync,
575
+ processRangeExpression: () => processRangeExpression,
575
576
  processTryBlock: () => processTryBlock,
576
577
  processUnaryExpression: () => processUnaryExpression,
577
578
  processUnaryNestedExpression: () => processUnaryNestedExpression,
@@ -600,6 +601,13 @@ ${body}`;
600
601
  if (a === b) {
601
602
  throw new Error(`Assertion failed [${msg}]: ${a} === ${b}`);
602
603
  }
604
+ },
605
+ notNull(a, msg) {
606
+ if (!(a != null)) {
607
+ throw new Error(`Assertion failed [${msg}]: got null`);
608
+ }
609
+ ;
610
+ return;
603
611
  }
604
612
  };
605
613
  function addParentPointers(node, parent) {
@@ -1914,6 +1922,9 @@ ${body}`;
1914
1922
  let ref;
1915
1923
  if (ref = options.sourceMap) {
1916
1924
  const sourceMap = ref;
1925
+ if (node.$loc != null) {
1926
+ sourceMap.updateSourceMap("", node.$loc.pos);
1927
+ }
1917
1928
  line = sourceMap.data.srcLine + 1;
1918
1929
  column = sourceMap.data.srcColumn + 1;
1919
1930
  offset = sourceMap.data.srcOffset;
@@ -2538,7 +2549,7 @@ ${js}`
2538
2549
  case "IterationStatement":
2539
2550
  case "DoStatement":
2540
2551
  case "ComptimeStatement": {
2541
- wrapIterationReturningResults(exp, outer, collect);
2552
+ wrapIterationReturningResults(exp, collect);
2542
2553
  return;
2543
2554
  }
2544
2555
  case "BlockStatement": {
@@ -2578,7 +2589,7 @@ ${js}`
2578
2589
  }
2579
2590
  node[1] = collect(node[1]);
2580
2591
  }
2581
- function insertReturn(node, outerNode = node) {
2592
+ function insertReturn(node) {
2582
2593
  if (!node)
2583
2594
  return;
2584
2595
  switch (node.type) {
@@ -2686,7 +2697,7 @@ ${js}`
2686
2697
  case "IterationStatement":
2687
2698
  case "DoStatement":
2688
2699
  case "ComptimeStatement": {
2689
- wrapIterationReturningResults(exp, outer);
2700
+ wrapIterationReturningResults(exp);
2690
2701
  return;
2691
2702
  }
2692
2703
  case "BlockStatement": {
@@ -2782,11 +2793,11 @@ ${js}`
2782
2793
  }
2783
2794
  return changed;
2784
2795
  }
2785
- function wrapIterationReturningResults(statement, outer, collect) {
2796
+ function wrapIterationReturningResults(statement, collect) {
2786
2797
  if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
2787
2798
  let results;
2788
2799
  if (statement.type === "ComptimeStatement") {
2789
- insertReturn(statement.block, outer);
2800
+ insertReturn(statement.block);
2790
2801
  const expression = expressionizeComptime(statement);
2791
2802
  replaceNode(statement, expression);
2792
2803
  const parent = expression.parent;
@@ -2802,7 +2813,7 @@ ${js}`
2802
2813
  if (collect) {
2803
2814
  assignResults(results, collect);
2804
2815
  } else {
2805
- insertReturn(results, outer);
2816
+ insertReturn(results);
2806
2817
  }
2807
2818
  return;
2808
2819
  }
@@ -2812,6 +2823,27 @@ ${js}`
2812
2823
  "wrapIterationReturningResults should not be called twice on the same statement"
2813
2824
  );
2814
2825
  const resultsRef = statement.resultsRef = makeRef("results");
2826
+ const { declaration, breakWithOnly } = iterationDeclaration(statement);
2827
+ const { ancestor, child } = findAncestor(statement, ($4) => $4.type === "BlockStatement");
2828
+ assert.notNull(ancestor, `Could not find block containing ${statement.type}`);
2829
+ const index = findChildIndex(ancestor.expressions, child);
2830
+ const iterationTuple = ancestor.expressions[index];
2831
+ ancestor.expressions.splice(index, 0, [iterationTuple[0], declaration, ";"]);
2832
+ iterationTuple[0] = "";
2833
+ braceBlock(ancestor);
2834
+ if (!breakWithOnly) {
2835
+ assignResults(statement.block, (node) => {
2836
+ return [resultsRef, ".push(", node, ")"];
2837
+ });
2838
+ }
2839
+ if (collect) {
2840
+ statement.children.push(collect(resultsRef));
2841
+ } else {
2842
+ statement.children.push(";return ", resultsRef, ";");
2843
+ }
2844
+ }
2845
+ function iterationDeclaration(statement) {
2846
+ const { resultsRef } = statement;
2815
2847
  let decl = "const";
2816
2848
  if (statement.type === "IterationStatement" || statement.type === "ForStatement") {
2817
2849
  if (processBreakContinueWith(statement)) {
@@ -2837,17 +2869,7 @@ ${js}`
2837
2869
  declaration.children.push(";", resultsRef, "=[]");
2838
2870
  }
2839
2871
  }
2840
- outer.children.unshift(["", declaration, ";"]);
2841
- if (!breakWithOnly) {
2842
- assignResults(statement.block, (node) => {
2843
- return [resultsRef, ".push(", node, ")"];
2844
- });
2845
- }
2846
- if (collect) {
2847
- statement.children.push(collect(resultsRef));
2848
- } else {
2849
- statement.children.push(";return ", resultsRef, ";");
2850
- }
2872
+ return { declaration, breakWithOnly };
2851
2873
  }
2852
2874
  function processParams(f) {
2853
2875
  const { type, parameters, block } = f;
@@ -2872,9 +2894,9 @@ ${js}`
2872
2894
  injectParamProps: isConstructor
2873
2895
  });
2874
2896
  if (isConstructor) {
2875
- const { ancestor } = findAncestor(f, ($4) => $4.type === "ClassExpression");
2897
+ const { ancestor } = findAncestor(f, ($5) => $5.type === "ClassExpression");
2876
2898
  if (ancestor != null) {
2877
- const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($5) => $5.type === "FieldDefinition").map(($6) => $6.id).filter((a) => typeof a === "object" && a != null && "type" in a && a.type === "Identifier").map(($7) => $7.name));
2899
+ const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($6) => $6.type === "FieldDefinition").map(($7) => $7.id).filter((a) => typeof a === "object" && a != null && "type" in a && a.type === "Identifier").map(($8) => $8.name));
2878
2900
  const classExpressions = ancestor.body.expressions;
2879
2901
  let index = findChildIndex(classExpressions, f);
2880
2902
  assert.notEqual(index, -1, "Could not find constructor in class");
@@ -2883,12 +2905,12 @@ ${js}`
2883
2905
  index--;
2884
2906
  }
2885
2907
  const fStatement = classExpressions[index];
2886
- for (let ref8 = gatherRecursive(parameters, ($8) => $8.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
2908
+ for (let ref8 = gatherRecursive(parameters, ($9) => $9.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
2887
2909
  const parameter = ref8[i1];
2888
2910
  if (!parameter.typeSuffix) {
2889
2911
  continue;
2890
2912
  }
2891
- for (let ref9 = gatherRecursive(parameter, ($9) => $9.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
2913
+ for (let ref9 = gatherRecursive(parameter, ($10) => $10.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
2892
2914
  const binding = ref9[i2];
2893
2915
  const typeSuffix = binding.parent?.typeSuffix;
2894
2916
  if (!typeSuffix) {
@@ -2900,7 +2922,6 @@ ${js}`
2900
2922
  }
2901
2923
  classExpressions.splice(index++, 0, [fStatement[0], {
2902
2924
  type: "FieldDefinition",
2903
- ts: true,
2904
2925
  id,
2905
2926
  typeSuffix,
2906
2927
  children: [id, typeSuffix]
@@ -2949,8 +2970,8 @@ ${js}`
2949
2970
  }
2950
2971
  if (hasYield(block) && !f.generator?.length) {
2951
2972
  if (f.type === "ArrowFunction") {
2952
- gatherRecursiveWithinFunction(block, ($10) => $10.type === "YieldExpression").forEach((y) => {
2953
- const i = y.children.findIndex(($11) => $11.type === "Yield");
2973
+ gatherRecursiveWithinFunction(block, ($11) => $11.type === "YieldExpression").forEach((y) => {
2974
+ const i = y.children.findIndex(($12) => $12.type === "Yield");
2954
2975
  return y.children.splice(i + 1, 0, {
2955
2976
  type: "Error",
2956
2977
  message: "Can't use yield inside of => arrow function"
@@ -2978,12 +2999,12 @@ ${js}`
2978
2999
  });
2979
3000
  }
2980
3001
  function expressionizeIteration(exp) {
2981
- const { async, generator, subtype, block, children, statement } = exp;
3002
+ let { async, generator, block, children, statement } = exp;
2982
3003
  const i = children.indexOf(statement);
2983
3004
  if (i < 0) {
2984
3005
  throw new Error("Could not find iteration statement in iteration expression");
2985
3006
  }
2986
- if (subtype === "DoStatement" || subtype === "ComptimeStatement") {
3007
+ if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
2987
3008
  children.splice(i, 1, wrapIIFE([["", statement, void 0]], async, generator));
2988
3009
  updateParentPointers(exp);
2989
3010
  return;
@@ -2996,7 +3017,6 @@ ${js}`
2996
3017
  children: ["yield ", node]
2997
3018
  };
2998
3019
  });
2999
- braceBlock(block);
3000
3020
  children.splice(
3001
3021
  i,
3002
3022
  1,
@@ -3011,17 +3031,19 @@ ${js}`
3011
3031
  ], async, generator)
3012
3032
  );
3013
3033
  } else {
3014
- exp.resultsRef ??= makeRef("results");
3015
- const { resultsRef } = exp;
3016
- assignResults(block, (node) => {
3017
- return [resultsRef, ".push(", node, ")"];
3018
- });
3019
- braceBlock(block);
3034
+ const resultsRef = statement.resultsRef ??= makeRef("results");
3035
+ const { declaration, breakWithOnly } = iterationDeclaration(statement);
3036
+ if (!breakWithOnly) {
3037
+ assignResults(block, (node) => {
3038
+ return [resultsRef, ".push(", node, ")"];
3039
+ });
3040
+ braceBlock(block);
3041
+ }
3020
3042
  children.splice(
3021
3043
  i,
3022
3044
  1,
3023
3045
  wrapIIFE([
3024
- ["", ["const ", resultsRef, "=[]"], ";"],
3046
+ ["", declaration, ";"],
3025
3047
  ["", statement, void 0],
3026
3048
  ["", wrapWithReturn(resultsRef)]
3027
3049
  ], async)
@@ -3077,7 +3099,7 @@ ${js}`
3077
3099
  expression = {
3078
3100
  ...expression,
3079
3101
  parameters: newParameters,
3080
- children: expression.children.map(($12) => $12 === parameters ? newParameters : $12)
3102
+ children: expression.children.map(($13) => $13 === parameters ? newParameters : $13)
3081
3103
  };
3082
3104
  }
3083
3105
  return {
@@ -3099,7 +3121,7 @@ ${js}`
3099
3121
  ref = makeRef("$");
3100
3122
  inplacePrepend(ref, body);
3101
3123
  }
3102
- if (startsWithPredicate(body, ($13) => $13.type === "ObjectExpression")) {
3124
+ if (startsWithPredicate(body, ($14) => $14.type === "ObjectExpression")) {
3103
3125
  body = makeLeftHandSideExpression(body);
3104
3126
  }
3105
3127
  const parameters = makeNode({
@@ -4204,8 +4226,7 @@ ${js}`
4204
4226
  };
4205
4227
  pre.unshift(refDec);
4206
4228
  } else {
4207
- wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
4208
- });
4229
+ wrapIterationReturningResults(statement2, () => void 0);
4209
4230
  ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
4210
4231
  }
4211
4232
  } else {
@@ -4961,22 +4982,168 @@ ${js}`
4961
4982
  }
4962
4983
 
4963
4984
  // source/parser/for.civet
4985
+ function processRangeExpression(start, ws1, range, end) {
4986
+ ws1 = [ws1, range.children[0]];
4987
+ const ws2 = range.children[1];
4988
+ const comma = { $loc: range.$loc, token: "," };
4989
+ let ref;
4990
+ switch (range.increasing) {
4991
+ case true: {
4992
+ ref = ($) => $;
4993
+ break;
4994
+ }
4995
+ case false: {
4996
+ ref = ($1) => -$1;
4997
+ break;
4998
+ }
4999
+ default: {
5000
+ ref = Math.abs;
5001
+ }
5002
+ }
5003
+ ;
5004
+ const abs = ref;
5005
+ const lengthAdjust = 1 - Number(!range.left.inclusive) - Number(!range.right.inclusive);
5006
+ let ref1;
5007
+ if (lengthAdjust > 0)
5008
+ ref1 = ` + ${lengthAdjust}`;
5009
+ else if (lengthAdjust < 0)
5010
+ ref1 = ` - ${-lengthAdjust}`;
5011
+ else {
5012
+ ref1 = void 0;
5013
+ }
5014
+ ;
5015
+ const lengthAdjustExpression = ref1;
5016
+ let children;
5017
+ if (typeof start === "object" && start != null && "type" in start && start.type === "Literal" && (typeof end === "object" && end != null && "type" in end && end.type === "Literal")) {
5018
+ let startValue = literalValue(start);
5019
+ let endValue = literalValue(end);
5020
+ if (typeof startValue === "string" && typeof endValue === "string") {
5021
+ if (!(startValue.length === 1 && 1 === endValue.length)) {
5022
+ throw new Error("String range start and end must be a single character");
5023
+ }
5024
+ let startCode = startValue.charCodeAt(0);
5025
+ let endCode = endValue.charCodeAt(0);
5026
+ const step = startCode <= endCode ? 1 : -1;
5027
+ const length = abs(endCode - startCode) + lengthAdjust;
5028
+ if (!range.left.inclusive) {
5029
+ startCode += step;
5030
+ }
5031
+ if (length <= 26) {
5032
+ children = [
5033
+ "[",
5034
+ Array.from({ length }, (_2, i) => {
5035
+ return JSON.stringify(String.fromCharCode(startCode + i * step));
5036
+ }).join(", "),
5037
+ "]"
5038
+ ];
5039
+ } else {
5040
+ children = [
5041
+ `Array.from({length: ${length.toString()}}, `,
5042
+ "(_, i) => String.fromCharCode(",
5043
+ startCode.toString(),
5044
+ step > 0 ? " + " : " - ",
5045
+ "i))"
5046
+ ];
5047
+ }
5048
+ if (range.error != null) {
5049
+ children.unshift(range.error);
5050
+ }
5051
+ } else if (typeof startValue === "number" && typeof endValue === "number") {
5052
+ const step = startValue <= endValue ? 1 : -1;
5053
+ const length = abs(endValue - startValue) + lengthAdjust;
5054
+ if (!range.left.inclusive) {
5055
+ startValue += step;
5056
+ }
5057
+ if (length <= 20) {
5058
+ children = [
5059
+ "[",
5060
+ Array.from({ length }, (_2, i) => startValue + i * step).join(", "),
5061
+ "]"
5062
+ ];
5063
+ if (range.error != null) {
5064
+ children.unshift(range.error);
5065
+ }
5066
+ }
5067
+ }
5068
+ }
5069
+ if (!(children != null)) {
5070
+ if (range.increasing != null) {
5071
+ const sign = range.increasing ? "+" : "-";
5072
+ end = makeLeftHandSideExpression(end);
5073
+ children = [
5074
+ "((s) => Array.from({length: ",
5075
+ range.increasing ? [ws2, end, " - s"] : ["s - ", ws2, end],
5076
+ lengthAdjustExpression,
5077
+ "}, (_, i) => s ",
5078
+ sign,
5079
+ " i))",
5080
+ "(",
5081
+ range.left.inclusive ? start : [makeLeftHandSideExpression(start), ` ${sign} 1`],
5082
+ ...ws1,
5083
+ ")"
5084
+ ];
5085
+ } else {
5086
+ children = [
5087
+ "((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)",
5088
+ lengthAdjustExpression,
5089
+ "}, (_, i) => s + i * step)})",
5090
+ "(",
5091
+ start,
5092
+ ...ws1,
5093
+ comma,
5094
+ ws2,
5095
+ end,
5096
+ ")"
5097
+ ];
5098
+ }
5099
+ }
5100
+ return {
5101
+ type: "RangeExpression",
5102
+ children,
5103
+ start,
5104
+ end,
5105
+ error: range.error,
5106
+ left: range.left,
5107
+ right: range.right,
5108
+ increasing: range.increasing
5109
+ };
5110
+ }
4964
5111
  function forRange(open, forDeclaration, range, stepExp, close) {
4965
- const { start, end, inclusive } = range;
5112
+ const { start, end, left, right, increasing } = range;
4966
5113
  const counterRef = makeRef("i");
4967
- const infinite = end.type === "Identifier" && end.name === "Infinity";
4968
- let stepRef;
5114
+ const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
5115
+ let stepRef, asc;
4969
5116
  if (stepExp) {
4970
5117
  stepExp = insertTrimmingSpace(stepExp, "");
4971
5118
  stepRef = maybeRef(stepExp, "step");
4972
5119
  } else if (infinite) {
4973
5120
  stepExp = stepRef = "1";
5121
+ } else if (increasing != null) {
5122
+ if (increasing) {
5123
+ stepExp = stepRef = "1";
5124
+ asc = true;
5125
+ } else {
5126
+ stepExp = stepRef = "-1";
5127
+ asc = false;
5128
+ }
4974
5129
  }
4975
- let startRef = maybeRef(start, "start");
5130
+ let ref2;
5131
+ if (stepRef)
5132
+ ref2 = start;
5133
+ else
5134
+ ref2 = maybeRef(start, "start");
5135
+ let startRef = ref2;
4976
5136
  let endRef = maybeRef(end, "end");
4977
5137
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
4978
5138
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
4979
- let ascDec = [], ascRef, asc;
5139
+ if (!left.inclusive) {
5140
+ startRef = [
5141
+ makeLeftHandSideExpression(start),
5142
+ " + ",
5143
+ stepRef
5144
+ ];
5145
+ }
5146
+ let ascDec = [], ascRef;
4980
5147
  if (stepRef) {
4981
5148
  if (!(stepRef === stepExp)) {
4982
5149
  ascDec = [", ", stepRef, " = ", stepExp];
@@ -5011,12 +5178,12 @@ ${js}`
5011
5178
  children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
5012
5179
  names: forDeclaration?.names
5013
5180
  };
5014
- const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
5015
- const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
5016
- const increment = infinite ? [...varAssign, "++", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
5181
+ const counterPart = right.inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
5182
+ const condition = infinite ? [] : asc != null ? asc ? counterPart.slice(0, 3) : counterPart.slice(4) : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : [ascRef, " ? ", ...counterPart];
5183
+ const increment = stepRef === "1" ? [...varAssign, "++", counterRef] : stepRef === "-1" ? [...varAssign, "--", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
5017
5184
  return {
5018
5185
  declaration,
5019
- children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
5186
+ children: [range.error, open, declaration, "; ", ...condition, "; ", ...increment, close],
5020
5187
  blockPrefix
5021
5188
  };
5022
5189
  }
@@ -7215,6 +7382,8 @@ ${js}`
7215
7382
  UpcomingAssignment,
7216
7383
  ArrayLiteral,
7217
7384
  _ArrayLiteral,
7385
+ RangeDots,
7386
+ RangeEnd,
7218
7387
  RangeExpression,
7219
7388
  ArrayLiteralContent,
7220
7389
  NestedElementList,
@@ -8062,86 +8231,87 @@ ${js}`
8062
8231
  var $R17 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
8063
8232
  var $R18 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8064
8233
  var $R19 = (0, import_lib4.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
8065
- var $R20 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
8066
- var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
8067
- var $R22 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
8068
- var $R23 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8069
- var $R24 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
8070
- var $R25 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy"));
8071
- var $R26 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
8072
- var $R27 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
8073
- var $R28 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
8074
- var $R29 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
8075
- var $R30 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
8076
- var $R31 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
8077
- var $R32 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
8078
- var $R33 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
8079
- var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
8080
- var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
8081
- var $R36 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
8082
- var $R37 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
8083
- var $R38 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
8084
- var $R39 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
8085
- var $R40 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
8086
- var $R41 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
8087
- var $R42 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
8088
- var $R43 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
8089
- var $R44 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
8090
- var $R45 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
8091
- var $R46 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
8092
- var $R47 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
8093
- var $R48 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
8094
- var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
8095
- var $R50 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
8096
- var $R51 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
8097
- var $R52 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
8098
- var $R53 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
8099
- var $R54 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
8100
- var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8101
- var $R56 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
8102
- var $R57 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
8103
- var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
8104
- var $R59 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
8105
- var $R60 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
8106
- var $R61 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
8107
- var $R62 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
8108
- var $R63 = (0, import_lib4.$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"));
8109
- var $R64 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
8110
- var $R65 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
8111
- var $R66 = (0, import_lib4.$R)(new RegExp(".", "suy"));
8112
- var $R67 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
8113
- var $R68 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
8114
- var $R69 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
8115
- var $R70 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
8116
- var $R71 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
8117
- var $R72 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
8118
- var $R73 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
8119
- var $R74 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
8120
- var $R75 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
8121
- var $R76 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
8122
- var $R77 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
8123
- var $R78 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8124
- var $R79 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
8125
- var $R80 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
8126
- var $R81 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
8127
- var $R82 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
8128
- var $R83 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
8129
- var $R84 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
8130
- var $R85 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
8131
- var $R86 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
8132
- var $R87 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
8133
- var $R88 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
8134
- var $R89 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
8135
- var $R90 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
8136
- var $R91 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
8137
- var $R92 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
8138
- var $R93 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
8139
- var $R94 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
8140
- var $R95 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
8141
- var $R96 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
8142
- var $R97 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
8143
- var $R98 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
8144
- var $R99 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
8234
+ var $R20 = (0, import_lib4.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
8235
+ var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
8236
+ var $R22 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
8237
+ var $R23 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
8238
+ var $R24 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8239
+ var $R25 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
8240
+ var $R26 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy"));
8241
+ var $R27 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
8242
+ var $R28 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
8243
+ var $R29 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
8244
+ var $R30 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
8245
+ var $R31 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
8246
+ var $R32 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
8247
+ var $R33 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
8248
+ var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
8249
+ var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
8250
+ var $R36 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
8251
+ var $R37 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
8252
+ var $R38 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
8253
+ var $R39 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
8254
+ var $R40 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
8255
+ var $R41 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
8256
+ var $R42 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
8257
+ var $R43 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
8258
+ var $R44 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
8259
+ var $R45 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
8260
+ var $R46 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
8261
+ var $R47 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
8262
+ var $R48 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
8263
+ var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
8264
+ var $R50 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
8265
+ var $R51 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
8266
+ var $R52 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
8267
+ var $R53 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
8268
+ var $R54 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
8269
+ var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
8270
+ var $R56 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8271
+ var $R57 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
8272
+ var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
8273
+ var $R59 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
8274
+ var $R60 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
8275
+ var $R61 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
8276
+ var $R62 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
8277
+ var $R63 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
8278
+ var $R64 = (0, import_lib4.$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"));
8279
+ var $R65 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
8280
+ var $R66 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
8281
+ var $R67 = (0, import_lib4.$R)(new RegExp(".", "suy"));
8282
+ var $R68 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
8283
+ var $R69 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
8284
+ var $R70 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
8285
+ var $R71 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
8286
+ var $R72 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
8287
+ var $R73 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
8288
+ var $R74 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
8289
+ var $R75 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
8290
+ var $R76 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
8291
+ var $R77 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
8292
+ var $R78 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
8293
+ var $R79 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8294
+ var $R80 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
8295
+ var $R81 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
8296
+ var $R82 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
8297
+ var $R83 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
8298
+ var $R84 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
8299
+ var $R85 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
8300
+ var $R86 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
8301
+ var $R87 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
8302
+ var $R88 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
8303
+ var $R89 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
8304
+ var $R90 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
8305
+ var $R91 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
8306
+ var $R92 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
8307
+ var $R93 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
8308
+ var $R94 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
8309
+ var $R95 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
8310
+ var $R96 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
8311
+ var $R97 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
8312
+ var $R98 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
8313
+ var $R99 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
8314
+ var $R100 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
8145
8315
  var Program$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Reset, Init, (0, import_lib4.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8146
8316
  var reset = $1;
8147
8317
  var init = $2;
@@ -8344,7 +8514,7 @@ ${js}`
8344
8514
  function ExplicitArguments(ctx, state2) {
8345
8515
  return (0, import_lib4.$EVENT)(ctx, state2, "ExplicitArguments", ExplicitArguments$0);
8346
8516
  }
8347
- var ApplicationStart$0 = (0, import_lib4.$S)(IndentedApplicationAllowed, (0, import_lib4.$Y)((0, import_lib4.$S)(IndentedFurther, (0, import_lib4.$N)(IdentifierBinaryOp))), (0, import_lib4.$N)(IndentedTrailingMemberExpression));
8517
+ var ApplicationStart$0 = (0, import_lib4.$S)(IndentedApplicationAllowed, (0, import_lib4.$Y)((0, import_lib4.$S)(IndentedFurther, (0, import_lib4.$N)(IdentifierBinaryOp), (0, import_lib4.$N)(ReservedBinary))), (0, import_lib4.$N)(IndentedTrailingMemberExpression));
8348
8518
  var ApplicationStart$1 = (0, import_lib4.$S)((0, import_lib4.$N)(EOS), (0, import_lib4.$Y)((0, import_lib4.$S)(_, (0, import_lib4.$C)(BracedApplicationAllowed, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($L1, 'ApplicationStart "{"'))), (0, import_lib4.$N)(ForbiddenImplicitCalls))));
8349
8519
  var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
8350
8520
  function ApplicationStart(ctx, state2) {
@@ -8513,11 +8683,15 @@ ${js}`
8513
8683
  function BinaryOpExpression(ctx, state2) {
8514
8684
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8515
8685
  }
8516
- var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$C)(NestedBinaryOpAllowed, (0, import_lib4.$N)(Nested)), NotDedented), function(value) {
8686
+ var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$N)(NewlineBinaryOpAllowed), (0, import_lib4.$E)(_)), function(value) {
8687
+ return value[1];
8688
+ });
8689
+ var BinaryOpNotDedented$1 = (0, import_lib4.$T)((0, import_lib4.$S)(NewlineBinaryOpAllowed, (0, import_lib4.$C)(NestedBinaryOpAllowed, (0, import_lib4.$N)(Nested)), NotDedented), function(value) {
8517
8690
  return value[1];
8518
8691
  });
8692
+ var BinaryOpNotDedented$$ = [BinaryOpNotDedented$0, BinaryOpNotDedented$1];
8519
8693
  function BinaryOpNotDedented(ctx, state2) {
8520
- return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8694
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$$);
8521
8695
  }
8522
8696
  var BinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(BinaryOpNotDedented, IsLike, (0, import_lib4.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
8523
8697
  var ws1 = $1;
@@ -8658,8 +8832,15 @@ ${js}`
8658
8832
  var postfix = $2;
8659
8833
  return prepend(ws, postfix);
8660
8834
  });
8835
+ var TypePostfix$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$Y)(EOS), BinaryOpNotDedented, (0, import_lib4.$E)(_), NWTypePostfix), function($skip, $loc, $0, $1, $2, $3, $4) {
8836
+ var indent = $2;
8837
+ var ws = $3;
8838
+ var postfix = $4;
8839
+ return prepend(ws || " ", postfix);
8840
+ });
8841
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
8661
8842
  function TypePostfix(ctx, state2) {
8662
- return (0, import_lib4.$EVENT)(ctx, state2, "TypePostfix", TypePostfix$0);
8843
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "TypePostfix", TypePostfix$$);
8663
8844
  }
8664
8845
  var Tuple$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L8, 'Tuple "tuple"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8665
8846
  return {
@@ -9742,23 +9923,32 @@ ${js}`
9742
9923
  function MemberBracketContent(ctx, state2) {
9743
9924
  return (0, import_lib4.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9744
9925
  }
9745
- var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, (0, import_lib4.$C)(DotDotDot, DotDot), (0, import_lib4.$E)(Expression)), function($skip, $loc, $0, $1, $2, $3, $4) {
9926
+ var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, RangeDots, (0, import_lib4.$E)(Expression)), function($skip, $loc, $0, $1, $2, $3, $4) {
9746
9927
  var start = $1;
9747
9928
  var ws = $2;
9748
- var sep = $3;
9929
+ var dots = $3;
9749
9930
  var end = $4;
9750
- const inclusive = sep.token === "..";
9751
9931
  let children;
9932
+ if (!dots.left.inclusive) {
9933
+ start = ["1 + ", makeLeftHandSideExpression(start)];
9934
+ }
9752
9935
  if (end) {
9753
9936
  const inc = [];
9754
- if (inclusive) {
9937
+ if (dots.right.inclusive) {
9755
9938
  end = ["1 + ", makeLeftHandSideExpression(end)];
9756
9939
  inc.push(" || 1/0");
9757
9940
  }
9758
- children = [start, [...ws, { ...sep, token: ", " }], [end, ...inc]];
9941
+ children = [start, [...ws, dots.children[0], { token: ", ", $loc: dots.$loc }], [dots.children[1], end, ...inc]];
9759
9942
  } else {
9760
9943
  children = [start, ws];
9761
9944
  }
9945
+ if (dots.increasing === false) {
9946
+ children.push({
9947
+ type: "Error",
9948
+ message: "Slice range cannot be decreasing",
9949
+ $loc: dots.$loc
9950
+ });
9951
+ }
9762
9952
  return {
9763
9953
  type: "SliceParameters",
9764
9954
  start,
@@ -11267,10 +11457,7 @@ ${js}`
11267
11457
  if (last)
11268
11458
  expressions.push(last);
11269
11459
  const maybeComment = expressions.at(-1)?.[2]?.children?.[2]?.at(-1);
11270
- let hasTrailingComment = false;
11271
- if (maybeComment?.type === "Comment" && maybeComment.token.startsWith("//")) {
11272
- hasTrailingComment = true;
11273
- }
11460
+ const hasTrailingComment = maybeComment?.type === "Comment" && maybeComment.token.startsWith("//");
11274
11461
  const children = [expressions];
11275
11462
  if (hasTrailingComment)
11276
11463
  children.push("\n");
@@ -11469,70 +11656,82 @@ ${js}`
11469
11656
  function _ArrayLiteral(ctx, state2) {
11470
11657
  return (0, import_lib4.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11471
11658
  }
11472
- var RangeExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, (0, import_lib4.$C)(DotDotDot, DotDot), Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
11473
- var s = $1;
11474
- var ws = $2;
11475
- var range = $3;
11476
- var e = $4;
11477
- const inclusive = range.token === "..";
11478
- range.token = ",";
11479
- if (s.type === "Literal" && e.type === "Literal") {
11480
- const start = literalValue(s);
11481
- const end = literalValue(e);
11482
- if (typeof start !== typeof end) {
11483
- throw new Error("Range start and end must be of the same type");
11484
- }
11485
- if (typeof start === "string") {
11486
- if (start.length !== 1 || end.length !== 1) {
11487
- throw new Error("String range start and end must be a single character");
11488
- }
11489
- const startCode = start.charCodeAt(0);
11490
- const endCode = end.charCodeAt(0);
11491
- const step = startCode < endCode ? 1 : -1;
11492
- const length = Math.abs(endCode - startCode) + (inclusive ? 1 : 0);
11493
- if (length <= 26) {
11494
- return {
11495
- type: "RangeExpression",
11496
- children: ["[", Array.from({ length }, (_2, i) => JSON.stringify(String.fromCharCode(startCode + i * step))).join(", "), "]"],
11497
- inclusive,
11498
- start: s,
11499
- end: e
11500
- };
11501
- } else {
11502
- const inclusiveAdjust2 = inclusive ? " + 1" : "";
11503
- const children2 = ["((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)", inclusiveAdjust2, "}, (_, i) => String.fromCharCode(s + i * step))})(", startCode.toString(), ws, range, endCode.toString(), ")"];
11504
- return {
11505
- type: "RangeExpression",
11506
- children: children2,
11507
- inclusive,
11508
- start: s,
11509
- end: e
11510
- };
11511
- }
11512
- } else if (typeof start === "number") {
11513
- const step = end > start ? 1 : -1;
11514
- const length = Math.abs(end - start) + (inclusive ? 1 : 0);
11515
- if (length <= 20) {
11516
- return {
11517
- type: "RangeExpression",
11518
- children: ["[", Array.from({ length }, (_2, i) => start + i * step).join(", "), "]"],
11519
- inclusive,
11520
- start: s,
11521
- end: e
11522
- };
11523
- }
11659
+ var RangeDots$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(DotDotDot), function($skip, $loc, $0, $1) {
11660
+ return {
11661
+ ...$1,
11662
+ type: "RangeDots",
11663
+ left: { inclusive: true, raw: "" },
11664
+ right: { inclusive: false, raw: "." },
11665
+ increasing: void 0,
11666
+ children: []
11667
+ };
11668
+ });
11669
+ var RangeDots$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(RangeEnd, (0, import_lib4.$E)(_), DotDot, (0, import_lib4.$E)(_), RangeEnd), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11670
+ var left = $1;
11671
+ var ws1 = $2;
11672
+ var dots = $3;
11673
+ var ws2 = $4;
11674
+ var right = $5;
11675
+ const increasing = left.increasing ?? right.increasing;
11676
+ if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
11677
+ const error = {
11678
+ type: "Error",
11679
+ message: `${left.raw}..${right.raw} uses inconsistent < vs. >`,
11680
+ $loc: dots.$loc
11681
+ };
11682
+ return {
11683
+ ...dots,
11684
+ left,
11685
+ right,
11686
+ increasing,
11687
+ error,
11688
+ type: "RangeDots",
11689
+ children: [error]
11690
+ };
11691
+ }
11692
+ return {
11693
+ ...dots,
11694
+ left,
11695
+ right,
11696
+ increasing,
11697
+ type: "RangeDots",
11698
+ children: [ws1, ws2]
11699
+ };
11700
+ });
11701
+ var RangeDots$$ = [RangeDots$0, RangeDots$1];
11702
+ function RangeDots(ctx, state2) {
11703
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeDots", RangeDots$$);
11704
+ }
11705
+ var RangeEnd$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R20, "RangeEnd /([<>])(=?)|([\u2264\u2265])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11706
+ let dir = $1, equal = $2, unicode = $3;
11707
+ if (unicode) {
11708
+ equal = "=";
11709
+ if (unicode === "\u2264") {
11710
+ dir = "<";
11711
+ } else if (unicode === "\u2265") {
11712
+ dir = ">";
11524
11713
  }
11525
11714
  }
11526
- const inclusiveAdjust = inclusive ? " + 1" : "";
11527
- const children = ["((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)", inclusiveAdjust, "}, (_, i) => s + i * step)})(", s, ws, range, e, ")"];
11528
11715
  return {
11529
- type: "RangeExpression",
11530
- children,
11531
- inclusive,
11532
- start: s,
11533
- end: e
11716
+ increasing: dir === "<",
11717
+ inclusive: equal === "=",
11718
+ raw: $0
11534
11719
  };
11535
11720
  });
11721
+ var RangeEnd$1 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L0, 'RangeEnd ""'), function(value) {
11722
+ return { "increasing": void 0, "inclusive": true, "raw": "" };
11723
+ });
11724
+ var RangeEnd$$ = [RangeEnd$0, RangeEnd$1];
11725
+ function RangeEnd(ctx, state2) {
11726
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeEnd", RangeEnd$$);
11727
+ }
11728
+ var RangeExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, RangeDots, Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
11729
+ var start = $1;
11730
+ var ws = $2;
11731
+ var range = $3;
11732
+ var end = $4;
11733
+ return processRangeExpression(start, ws, range, end);
11734
+ });
11536
11735
  var RangeExpression$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, DotDot, (0, import_lib4.$Y)((0, import_lib4.$S)(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
11537
11736
  var s = $1;
11538
11737
  var ws = $2;
@@ -11547,7 +11746,10 @@ ${js}`
11547
11746
  type: "Identifier",
11548
11747
  name: "Infinity",
11549
11748
  children: ["Infinity"]
11550
- }
11749
+ },
11750
+ left: { inclusive: true, raw: "" },
11751
+ right: { inclusive: true, raw: "" },
11752
+ increasing: true
11551
11753
  };
11552
11754
  });
11553
11755
  var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
@@ -11761,7 +11963,7 @@ ${js}`
11761
11963
  function ArrayBulletDelimiter(ctx, state2) {
11762
11964
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ArrayBulletDelimiter", ArrayBulletDelimiter$$);
11763
11965
  }
11764
- var BulletIndent$0 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L47, 'BulletIndent "\u2022"'), (0, import_lib4.$EXPECT)($R20, "BulletIndent /[ \\t]*/")), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L7, 'BulletIndent "."'), (0, import_lib4.$EXPECT)($R21, "BulletIndent /[ \\t]+/"))), function($skip, $loc, $0, $1) {
11966
+ var BulletIndent$0 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L47, 'BulletIndent "\u2022"'), (0, import_lib4.$EXPECT)($R21, "BulletIndent /[ \\t]*/")), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L7, 'BulletIndent "."'), (0, import_lib4.$EXPECT)($R22, "BulletIndent /[ \\t]+/"))), function($skip, $loc, $0, $1) {
11765
11967
  const [bullet, ws] = $1;
11766
11968
  const indent = {
11767
11969
  token: " " + ws,
@@ -11977,7 +12179,7 @@ ${js}`
11977
12179
  var prop = $2;
11978
12180
  return prepend(ws, prop);
11979
12181
  });
11980
- var PropertyDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R22, "PropertyDefinition /[!+-]?/")), PropertyName, (0, import_lib4.$Y)(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
12182
+ var PropertyDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R23, "PropertyDefinition /[!+-]?/")), PropertyName, (0, import_lib4.$Y)(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
11981
12183
  var ws = $1;
11982
12184
  var toggle = $2;
11983
12185
  var id = $3;
@@ -12128,7 +12330,7 @@ ${js}`
12128
12330
  var PropertyName$0 = NumericLiteral;
12129
12331
  var PropertyName$1 = ComputedPropertyName;
12130
12332
  var PropertyName$2 = StringLiteral;
12131
- var PropertyName$3 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$E)(IdentifierName), (0, import_lib4.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib4.$EXPECT)($R23, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
12333
+ var PropertyName$3 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$E)(IdentifierName), (0, import_lib4.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib4.$EXPECT)($R24, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
12132
12334
  return {
12133
12335
  token: `"${$1}"`,
12134
12336
  $loc
@@ -12527,7 +12729,7 @@ ${js}`
12527
12729
  var AssignmentOpSymbol$23 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
12528
12730
  return "??=";
12529
12731
  });
12530
- var AssignmentOpSymbol$24 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R24, "AssignmentOpSymbol /[=>]/"))), function(value) {
12732
+ var AssignmentOpSymbol$24 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R25, "AssignmentOpSymbol /[=>]/"))), function(value) {
12531
12733
  return value[0];
12532
12734
  });
12533
12735
  var AssignmentOpSymbol$25 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeWordAssignmentOp), function(value) {
@@ -12580,7 +12782,7 @@ ${js}`
12580
12782
  function IdentifierBinaryOp(ctx, state2) {
12581
12783
  return (0, import_lib4.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
12582
12784
  }
12583
- var BinaryOp$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R25, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
12785
+ var BinaryOp$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R26, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
12584
12786
  var op = value[1];
12585
12787
  return op;
12586
12788
  });
@@ -12725,7 +12927,7 @@ ${js}`
12725
12927
  prec: "^^"
12726
12928
  };
12727
12929
  });
12728
- var BinaryOpSymbol$36 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$EXPECT)($R26, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
12930
+ var BinaryOpSymbol$36 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$EXPECT)($R27, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
12729
12931
  return {
12730
12932
  call: getHelperRef("xnor"),
12731
12933
  special: true,
@@ -12889,24 +13091,24 @@ ${js}`
12889
13091
  function Xor(ctx, state2) {
12890
13092
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xor", Xor$$);
12891
13093
  }
12892
- var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R26, "Xnor /!\\^\\^?/"));
13094
+ var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R27, "Xnor /!\\^\\^?/"));
12893
13095
  var Xnor$1 = (0, import_lib4.$EXPECT)($L109, 'Xnor "xnor"');
12894
13096
  var Xnor$$ = [Xnor$0, Xnor$1];
12895
13097
  function Xnor(ctx, state2) {
12896
13098
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
12897
13099
  }
12898
- var UnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R27, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13100
+ var UnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R28, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12899
13101
  return { $loc, token: $0 };
12900
13102
  });
12901
13103
  var UnaryOp$1 = AwaitOp;
12902
- var UnaryOp$2 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Delete, Void, Typeof), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R28, "UnaryOp /[:.]/")), (0, import_lib4.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
13104
+ var UnaryOp$2 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Delete, Void, Typeof), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R29, "UnaryOp /[:.]/")), (0, import_lib4.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
12903
13105
  var op = $1;
12904
13106
  var ws = $3;
12905
13107
  if (!ws)
12906
13108
  return [op, [" "]];
12907
13109
  return [op, ws];
12908
13110
  });
12909
- var UnaryOp$3 = (0, import_lib4.$T)((0, import_lib4.$S)(Not, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R28, "UnaryOp /[:.]/")), (0, import_lib4.$E)((0, import_lib4.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib4.$E)(_)), function(value) {
13111
+ var UnaryOp$3 = (0, import_lib4.$T)((0, import_lib4.$S)(Not, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R29, "UnaryOp /[:.]/")), (0, import_lib4.$E)((0, import_lib4.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib4.$E)(_)), function(value) {
12910
13112
  return [value[0], value[3]];
12911
13113
  });
12912
13114
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12993,7 +13195,7 @@ ${js}`
12993
13195
  function PostfixedCommaExpression(ctx, state2) {
12994
13196
  return (0, import_lib4.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12995
13197
  }
12996
- var PostfixStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R29, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
13198
+ var PostfixStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R30, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
12997
13199
  return value[1];
12998
13200
  });
12999
13201
  function PostfixStatement(ctx, state2) {
@@ -13033,7 +13235,9 @@ ${js}`
13033
13235
  }
13034
13236
  var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
13035
13237
  var ShouldExpressionize$1 = (0, import_lib4.$S)(NotDedented, Pipe);
13036
- var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1];
13238
+ var ShouldExpressionize$2 = BinaryOpRHS;
13239
+ var ShouldExpressionize$3 = UnaryPostfix;
13240
+ var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1, ShouldExpressionize$2, ShouldExpressionize$3];
13037
13241
  function ShouldExpressionize(ctx, state2) {
13038
13242
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
13039
13243
  }
@@ -13184,7 +13388,7 @@ ${js}`
13184
13388
  function IfClause(ctx, state2) {
13185
13389
  return (0, import_lib4.$EVENT)(ctx, state2, "IfClause", IfClause$0);
13186
13390
  }
13187
- var IterationStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R30, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
13391
+ var IterationStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R31, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
13188
13392
  return value[1];
13189
13393
  });
13190
13394
  function IterationStatement(ctx, state2) {
@@ -14624,7 +14828,7 @@ ${js}`
14624
14828
  function UnprocessedModuleSpecifier(ctx, state2) {
14625
14829
  return (0, import_lib4.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
14626
14830
  }
14627
- var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R31, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
14831
+ var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
14628
14832
  var spec = $0;
14629
14833
  return { $loc, token: `"${spec}"` };
14630
14834
  });
@@ -14884,7 +15088,7 @@ ${js}`
14884
15088
  function VariableDeclarationList(ctx, state2) {
14885
15089
  return (0, import_lib4.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
14886
15090
  }
14887
- var NumericLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R32, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
15091
+ var NumericLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R33, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
14888
15092
  var token = $2;
14889
15093
  return { type: "NumericLiteral", $loc, token };
14890
15094
  });
@@ -14900,36 +15104,36 @@ ${js}`
14900
15104
  function NumericLiteralKind(ctx, state2) {
14901
15105
  return (0, import_lib4.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
14902
15106
  }
14903
- var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R33, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
15107
+ var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
14904
15108
  function DecimalBigIntegerLiteral(ctx, state2) {
14905
15109
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
14906
15110
  }
14907
- var DecimalLiteral$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R34, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
15111
+ var DecimalLiteral$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R35, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
14908
15112
  return $1 + ".";
14909
15113
  });
14910
- var DecimalLiteral$1 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R35, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib4.$E)(ExponentPart)));
14911
- var DecimalLiteral$2 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R36, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib4.$E)(ExponentPart)));
15114
+ var DecimalLiteral$1 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R36, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib4.$E)(ExponentPart)));
15115
+ var DecimalLiteral$2 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R37, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib4.$E)(ExponentPart)));
14912
15116
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
14913
15117
  function DecimalLiteral(ctx, state2) {
14914
15118
  return (0, import_lib4.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
14915
15119
  }
14916
- var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R37, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
15120
+ var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
14917
15121
  function ExponentPart(ctx, state2) {
14918
15122
  return (0, import_lib4.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
14919
15123
  }
14920
- var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
15124
+ var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
14921
15125
  function BinaryIntegerLiteral(ctx, state2) {
14922
15126
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
14923
15127
  }
14924
- var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
15128
+ var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
14925
15129
  function OctalIntegerLiteral(ctx, state2) {
14926
15130
  return (0, import_lib4.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
14927
15131
  }
14928
- var HexIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R40, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
15132
+ var HexIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R41, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
14929
15133
  function HexIntegerLiteral(ctx, state2) {
14930
15134
  return (0, import_lib4.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
14931
15135
  }
14932
- var IntegerLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R41, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
15136
+ var IntegerLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R42, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
14933
15137
  var token = $2;
14934
15138
  return { $loc, token };
14935
15139
  });
@@ -14945,7 +15149,7 @@ ${js}`
14945
15149
  function IntegerLiteralKind(ctx, state2) {
14946
15150
  return (0, import_lib4.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
14947
15151
  }
14948
- var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R42, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
15152
+ var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14949
15153
  function DecimalIntegerLiteral(ctx, state2) {
14950
15154
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
14951
15155
  }
@@ -14969,25 +15173,25 @@ ${js}`
14969
15173
  function StringLiteral(ctx, state2) {
14970
15174
  return (0, import_lib4.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
14971
15175
  }
14972
- var DoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R43, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15176
+ var DoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R44, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14973
15177
  return { $loc, token: $0 };
14974
15178
  });
14975
15179
  function DoubleStringCharacters(ctx, state2) {
14976
15180
  return (0, import_lib4.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
14977
15181
  }
14978
- var SingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R44, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15182
+ var SingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R45, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14979
15183
  return { $loc, token: $0 };
14980
15184
  });
14981
15185
  function SingleStringCharacters(ctx, state2) {
14982
15186
  return (0, import_lib4.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
14983
15187
  }
14984
- var TripleDoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R45, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15188
+ var TripleDoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R46, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14985
15189
  return { $loc, token: $0 };
14986
15190
  });
14987
15191
  function TripleDoubleStringCharacters(ctx, state2) {
14988
15192
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
14989
15193
  }
14990
- var TripleSingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R46, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15194
+ var TripleSingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R47, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14991
15195
  return { $loc, token: $0 };
14992
15196
  });
14993
15197
  function TripleSingleStringCharacters(ctx, state2) {
@@ -15010,7 +15214,7 @@ ${js}`
15010
15214
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
15011
15215
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
15012
15216
  }
15013
- var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R47, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15217
+ var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R48, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15014
15218
  return { $loc, token: $0 };
15015
15219
  });
15016
15220
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -15030,7 +15234,7 @@ ${js}`
15030
15234
  function RegularExpressionClass(ctx, state2) {
15031
15235
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
15032
15236
  }
15033
- var RegularExpressionClassCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R48, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15237
+ var RegularExpressionClassCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R49, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15034
15238
  return { $loc, token: $0 };
15035
15239
  });
15036
15240
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -15087,7 +15291,7 @@ ${js}`
15087
15291
  var HeregexPart$2 = (0, import_lib4.$T)((0, import_lib4.$S)(TemplateSubstitution), function(value) {
15088
15292
  return { "type": "Substitution", "children": value[0] };
15089
15293
  });
15090
- var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R49, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15294
+ var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R50, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15091
15295
  let token = $0;
15092
15296
  switch ($0[1]) {
15093
15297
  case "\n":
@@ -15105,13 +15309,13 @@ ${js}`
15105
15309
  var HeregexPart$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(HeregexComment), function($skip, $loc, $0, $1) {
15106
15310
  return { $loc, token: "" };
15107
15311
  });
15108
- var HeregexPart$5 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R50, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15312
+ var HeregexPart$5 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R51, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15109
15313
  return { $loc, token: "" };
15110
15314
  });
15111
- var HeregexPart$6 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R51, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15315
+ var HeregexPart$6 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R52, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15112
15316
  return { $loc, token: "\\/" };
15113
15317
  });
15114
- var HeregexPart$7 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R52, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15318
+ var HeregexPart$7 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R53, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15115
15319
  return { $loc, token: $0 };
15116
15320
  });
15117
15321
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -15124,7 +15328,7 @@ ${js}`
15124
15328
  function HeregexComment(ctx, state2) {
15125
15329
  return (0, import_lib4.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
15126
15330
  }
15127
- var RegularExpressionBody$0 = (0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R53, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib4.$Q)(RegExpPart));
15331
+ var RegularExpressionBody$0 = (0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R54, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib4.$Q)(RegExpPart));
15128
15332
  function RegularExpressionBody(ctx, state2) {
15129
15333
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
15130
15334
  }
@@ -15134,15 +15338,15 @@ ${js}`
15134
15338
  function RegExpPart(ctx, state2) {
15135
15339
  return (0, import_lib4.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
15136
15340
  }
15137
- var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R54, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
15341
+ var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
15138
15342
  function RegExpCharacter(ctx, state2) {
15139
15343
  return (0, import_lib4.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
15140
15344
  }
15141
- var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
15345
+ var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
15142
15346
  function RegularExpressionFlags(ctx, state2) {
15143
15347
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
15144
15348
  }
15145
- var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R56, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
15349
+ var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
15146
15350
  return value[1];
15147
15351
  });
15148
15352
  function TemplateLiteral(ctx, state2) {
@@ -15182,28 +15386,28 @@ ${js}`
15182
15386
  function TemplateSubstitution(ctx, state2) {
15183
15387
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
15184
15388
  }
15185
- var TemplateCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R57, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15389
+ var TemplateCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R58, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15186
15390
  return { $loc, token: $0 };
15187
15391
  });
15188
15392
  function TemplateCharacters(ctx, state2) {
15189
15393
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
15190
15394
  }
15191
- var TemplateBlockCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R58, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15395
+ var TemplateBlockCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R59, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15192
15396
  return { $loc, token: $0 };
15193
15397
  });
15194
15398
  function TemplateBlockCharacters(ctx, state2) {
15195
15399
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
15196
15400
  }
15197
- var ReservedWord$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R59, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
15198
- var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R60, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
15199
- var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
15200
- var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
15201
- var ReservedWord$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R63, "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})/"));
15401
+ var ReservedWord$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R60, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
15402
+ var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
15403
+ var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
15404
+ var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
15405
+ var ReservedWord$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R64, "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})/"));
15202
15406
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
15203
15407
  function ReservedWord(ctx, state2) {
15204
15408
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
15205
15409
  }
15206
- var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R64, "Comment /(?=\\/|#)/"), _Comment), function(value) {
15410
+ var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
15207
15411
  return value[1];
15208
15412
  });
15209
15413
  function Comment(ctx, state2) {
@@ -15221,7 +15425,7 @@ ${js}`
15221
15425
  function SingleLineComment(ctx, state2) {
15222
15426
  return (0, import_lib4.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
15223
15427
  }
15224
- var JSSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R65, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15428
+ var JSSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R66, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15225
15429
  return { type: "Comment", $loc, token: $0 };
15226
15430
  });
15227
15431
  function JSSingleLineComment(ctx, state2) {
@@ -15233,30 +15437,30 @@ ${js}`
15233
15437
  function MultiLineComment(ctx, state2) {
15234
15438
  return (0, import_lib4.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
15235
15439
  }
15236
- var JSMultiLineComment$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib4.$EXPECT)($R66, "JSMultiLineComment /./"))), (0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
15440
+ var JSMultiLineComment$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib4.$EXPECT)($R67, "JSMultiLineComment /./"))), (0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
15237
15441
  return { type: "Comment", $loc, token: $1 };
15238
15442
  });
15239
15443
  function JSMultiLineComment(ctx, state2) {
15240
15444
  return (0, import_lib4.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
15241
15445
  }
15242
- var CoffeeSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R67, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15446
+ var CoffeeSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R68, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15243
15447
  return { type: "Comment", $loc, token: `//${$1}` };
15244
15448
  });
15245
15449
  function CoffeeSingleLineComment(ctx, state2) {
15246
15450
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
15247
15451
  }
15248
- var CoffeeMultiLineComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeHereCommentStart, (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R68, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
15452
+ var CoffeeMultiLineComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeHereCommentStart, (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R69, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
15249
15453
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
15250
15454
  return { type: "Comment", $loc, token: `/*${$2}*/` };
15251
15455
  });
15252
15456
  function CoffeeMultiLineComment(ctx, state2) {
15253
15457
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
15254
15458
  }
15255
- var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R69, "CoffeeHereCommentStart /###(?!#)/"));
15459
+ var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
15256
15460
  function CoffeeHereCommentStart(ctx, state2) {
15257
15461
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
15258
15462
  }
15259
- var InlineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R70, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15463
+ var InlineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R71, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15260
15464
  return { $loc, token: $0 };
15261
15465
  });
15262
15466
  function InlineComment(ctx, state2) {
@@ -15270,13 +15474,13 @@ ${js}`
15270
15474
  function TrailingComment(ctx, state2) {
15271
15475
  return (0, import_lib4.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
15272
15476
  }
15273
- var _$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R71, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib4.$P)((0, import_lib4.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
15477
+ var _$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R72, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib4.$P)((0, import_lib4.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
15274
15478
  return value[1];
15275
15479
  });
15276
15480
  function _(ctx, state2) {
15277
15481
  return (0, import_lib4.$EVENT)(ctx, state2, "_", _$0);
15278
15482
  }
15279
- var NonNewlineWhitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R21, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15483
+ var NonNewlineWhitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R22, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15280
15484
  return { $loc, token: $0 };
15281
15485
  });
15282
15486
  var NonNewlineWhitespace$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L132, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
@@ -15293,7 +15497,7 @@ ${js}`
15293
15497
  function Trimmed_(ctx, state2) {
15294
15498
  return (0, import_lib4.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
15295
15499
  }
15296
- var __$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R72, "__ /(?=\\s|\\/|#)/"), (0, import_lib4.$Q)((0, import_lib4.$C)(Whitespace, Comment))), function(value) {
15500
+ var __$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R73, "__ /(?=\\s|\\/|#)/"), (0, import_lib4.$Q)((0, import_lib4.$C)(Whitespace, Comment))), function(value) {
15297
15501
  return value[1];
15298
15502
  });
15299
15503
  var __$1 = (0, import_lib4.$EXPECT)($L0, '__ ""');
@@ -15301,7 +15505,7 @@ ${js}`
15301
15505
  function __(ctx, state2) {
15302
15506
  return (0, import_lib4.$EVENT_C)(ctx, state2, "__", __$$);
15303
15507
  }
15304
- var Whitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R50, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15508
+ var Whitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R51, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15305
15509
  return { $loc, token: $0 };
15306
15510
  });
15307
15511
  function Whitespace(ctx, state2) {
@@ -15339,7 +15543,7 @@ ${js}`
15339
15543
  function SemicolonDelimiter(ctx, state2) {
15340
15544
  return (0, import_lib4.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
15341
15545
  }
15342
- var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R73, "NonIdContinue /(?!\\p{ID_Continue})/"));
15546
+ var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
15343
15547
  function NonIdContinue(ctx, state2) {
15344
15548
  return (0, import_lib4.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
15345
15549
  }
@@ -15457,7 +15661,7 @@ ${js}`
15457
15661
  function CoffeeSubstitutionStart(ctx, state2) {
15458
15662
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
15459
15663
  }
15460
- var Colon$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L16, 'Colon ":"'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R74, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
15664
+ var Colon$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L16, 'Colon ":"'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R75, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
15461
15665
  return { $loc, token: $1 };
15462
15666
  });
15463
15667
  function Colon(ctx, state2) {
@@ -15508,7 +15712,7 @@ ${js}`
15508
15712
  var Dot$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
15509
15713
  return { $loc, token: $1 };
15510
15714
  });
15511
- var Dot$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R75, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
15715
+ var Dot$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R76, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
15512
15716
  var ws = $2;
15513
15717
  return [
15514
15718
  { $loc, token: "." },
@@ -15635,7 +15839,7 @@ ${js}`
15635
15839
  function If(ctx, state2) {
15636
15840
  return (0, import_lib4.$EVENT)(ctx, state2, "If", If$0);
15637
15841
  }
15638
- var Import$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L15, 'Import "import"'), (0, import_lib4.$Y)((0, import_lib4.$EXPECT)($R76, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
15842
+ var Import$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L15, 'Import "import"'), (0, import_lib4.$Y)((0, import_lib4.$EXPECT)($R77, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
15639
15843
  return { $loc, token: $1 };
15640
15844
  });
15641
15845
  function Import(ctx, state2) {
@@ -15993,7 +16197,7 @@ ${js}`
15993
16197
  function JSXImplicitFragment(ctx, state2) {
15994
16198
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
15995
16199
  }
15996
- var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R77, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
16200
+ var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15997
16201
  return value[1];
15998
16202
  });
15999
16203
  function JSXTag(ctx, state2) {
@@ -16140,7 +16344,7 @@ ${js}`
16140
16344
  function JSXElementName(ctx, state2) {
16141
16345
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
16142
16346
  }
16143
- var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R78, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
16347
+ var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
16144
16348
  function JSXIdentifierName(ctx, state2) {
16145
16349
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
16146
16350
  }
@@ -16319,7 +16523,7 @@ ${js}`
16319
16523
  class: $2
16320
16524
  };
16321
16525
  });
16322
- var JSXAttribute$7 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R79, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib4.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
16526
+ var JSXAttribute$7 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R80, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib4.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
16323
16527
  var toggle = $1;
16324
16528
  var id = $2;
16325
16529
  const value = toggle === "+" ? "true" : "false";
@@ -16329,11 +16533,11 @@ ${js}`
16329
16533
  function JSXAttribute(ctx, state2) {
16330
16534
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
16331
16535
  }
16332
- var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R80, "JSXAttributeSpace /[\\s>]|\\/>/"));
16536
+ var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
16333
16537
  function JSXAttributeSpace(ctx, state2) {
16334
16538
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
16335
16539
  }
16336
- var JSXShorthandString$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R81, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16540
+ var JSXShorthandString$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R82, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16337
16541
  return quoteString($0);
16338
16542
  });
16339
16543
  var JSXShorthandString$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -16380,7 +16584,7 @@ ${js}`
16380
16584
  }
16381
16585
  return [open, value, close];
16382
16586
  });
16383
- var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R82, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
16587
+ var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
16384
16588
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
16385
16589
  function JSXAttributeValue(ctx, state2) {
16386
16590
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -16393,7 +16597,7 @@ ${js}`
16393
16597
  function InlineJSXAttributeValue(ctx, state2) {
16394
16598
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
16395
16599
  }
16396
- var InlineJSXBinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($R83, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
16600
+ var InlineJSXBinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($R84, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
16397
16601
  var op = $2;
16398
16602
  var rhs = $3;
16399
16603
  return [[], op, [], rhs];
@@ -16410,7 +16614,7 @@ ${js}`
16410
16614
  function InlineJSXUnaryExpression(ctx, state2) {
16411
16615
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
16412
16616
  }
16413
- var InlineJSXUnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R84, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16617
+ var InlineJSXUnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R85, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16414
16618
  return { $loc, token: $0 };
16415
16619
  });
16416
16620
  function InlineJSXUnaryOp(ctx, state2) {
@@ -16661,13 +16865,13 @@ ${js}`
16661
16865
  function JSXComment(ctx, state2) {
16662
16866
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
16663
16867
  }
16664
- var JSXCommentContent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R85, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16868
+ var JSXCommentContent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R86, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16665
16869
  return { $loc, token: $0.replace(/\*\//g, "* /") };
16666
16870
  });
16667
16871
  function JSXCommentContent(ctx, state2) {
16668
16872
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
16669
16873
  }
16670
- var JSXText$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R86, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16874
+ var JSXText$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R87, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
16671
16875
  return {
16672
16876
  type: "JSXText",
16673
16877
  token: $0,
@@ -17201,7 +17405,7 @@ ${js}`
17201
17405
  function TypeProperty(ctx, state2) {
17202
17406
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
17203
17407
  }
17204
- var TypeIndexSignature$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R87, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib4.$E)((0, import_lib4.$S)(__, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R13, "TypeIndexSignature /[+-]/")), (0, import_lib4.$Y)((0, import_lib4.$S)((0, import_lib4.$E)(_), QuestionMark)))));
17408
+ var TypeIndexSignature$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R88, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib4.$E)((0, import_lib4.$S)(__, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R13, "TypeIndexSignature /[+-]/")), (0, import_lib4.$Y)((0, import_lib4.$S)((0, import_lib4.$E)(_), QuestionMark)))));
17205
17409
  function TypeIndexSignature(ctx, state2) {
17206
17410
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
17207
17411
  }
@@ -17683,7 +17887,7 @@ ${js}`
17683
17887
  function TypeWithPostfix(ctx, state2) {
17684
17888
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
17685
17889
  }
17686
- var TypeConditional$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$EXPECT)($R88, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
17890
+ var TypeConditional$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$EXPECT)($R89, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
17687
17891
  return prepend($1, expressionizeTypeIf($3));
17688
17892
  });
17689
17893
  var TypeConditional$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
@@ -17885,8 +18089,8 @@ ${js}`
17885
18089
  return (0, import_lib4.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
17886
18090
  }
17887
18091
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
17888
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R89, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
17889
- var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
18092
+ var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
18093
+ var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
17890
18094
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
17891
18095
  function ForbiddenImplicitTypeCalls(ctx, state2) {
17892
18096
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -17969,7 +18173,7 @@ ${js}`
17969
18173
  function TypeParameters(ctx, state2) {
17970
18174
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
17971
18175
  }
17972
- var TypeParameter$0 = (0, import_lib4.$S)(__, (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R91, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib4.$E)(TypeConstraint), (0, import_lib4.$E)(TypeInitializer), TypeParameterDelimiter);
18176
+ var TypeParameter$0 = (0, import_lib4.$S)(__, (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R92, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib4.$E)(TypeConstraint), (0, import_lib4.$E)(TypeInitializer), TypeParameterDelimiter);
17973
18177
  function TypeParameter(ctx, state2) {
17974
18178
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
17975
18179
  }
@@ -17996,15 +18200,15 @@ ${js}`
17996
18200
  function ThisType(ctx, state2) {
17997
18201
  return (0, import_lib4.$EVENT)(ctx, state2, "ThisType", ThisType$0);
17998
18202
  }
17999
- var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R92, "Shebang /#![^\\r\\n]*/")), EOL);
18203
+ var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R93, "Shebang /#![^\\r\\n]*/")), EOL);
18000
18204
  function Shebang(ctx, state2) {
18001
18205
  return (0, import_lib4.$EVENT)(ctx, state2, "Shebang", Shebang$0);
18002
18206
  }
18003
- var CivetPrologue$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R93, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
18207
+ var CivetPrologue$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R94, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R21, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
18004
18208
  var content = value[2];
18005
18209
  return content;
18006
18210
  });
18007
- var CivetPrologue$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R93, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R20, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
18211
+ var CivetPrologue$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R94, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R21, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
18008
18212
  var content = value[2];
18009
18213
  return content;
18010
18214
  });
@@ -18012,7 +18216,7 @@ ${js}`
18012
18216
  function CivetPrologue(ctx, state2) {
18013
18217
  return (0, import_lib4.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
18014
18218
  }
18015
- var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib4.$Q)(CivetOption), (0, import_lib4.$EXPECT)($R94, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
18219
+ var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib4.$Q)(CivetOption), (0, import_lib4.$EXPECT)($R95, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
18016
18220
  var options = $3;
18017
18221
  return {
18018
18222
  type: "CivetPrologue",
@@ -18023,7 +18227,7 @@ ${js}`
18023
18227
  function CivetPrologueContent(ctx, state2) {
18024
18228
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
18025
18229
  }
18026
- var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R95, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18230
+ var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R96, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18027
18231
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
18028
18232
  if (l)
18029
18233
  return l.toUpperCase();
@@ -18045,11 +18249,11 @@ ${js}`
18045
18249
  function CivetOption(ctx, state2) {
18046
18250
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
18047
18251
  }
18048
- var UnknownPrologue$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R93, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib4.$TEXT)(SimpleStatementDelimiter), EOS);
18252
+ var UnknownPrologue$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R94, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib4.$TEXT)(SimpleStatementDelimiter), EOS);
18049
18253
  function UnknownPrologue(ctx, state2) {
18050
18254
  return (0, import_lib4.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
18051
18255
  }
18052
- var TripleSlashDirective$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R96, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib4.$E)(EOS));
18256
+ var TripleSlashDirective$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R97, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib4.$E)(EOS));
18053
18257
  function TripleSlashDirective(ctx, state2) {
18054
18258
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
18055
18259
  }
@@ -18065,13 +18269,13 @@ ${js}`
18065
18269
  function PrologueString(ctx, state2) {
18066
18270
  return (0, import_lib4.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
18067
18271
  }
18068
- var EOS$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R97, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib4.$P)(RestOfLine)), function(value) {
18272
+ var EOS$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R98, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib4.$P)(RestOfLine)), function(value) {
18069
18273
  return value[1];
18070
18274
  });
18071
18275
  function EOS(ctx, state2) {
18072
18276
  return (0, import_lib4.$EVENT)(ctx, state2, "EOS", EOS$0);
18073
18277
  }
18074
- var EOL$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R98, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18278
+ var EOL$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R99, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18075
18279
  return { $loc, token: $0 };
18076
18280
  });
18077
18281
  function EOL(ctx, state2) {
@@ -18480,11 +18684,11 @@ ${js}`
18480
18684
  function Prologue(ctx, state2) {
18481
18685
  return (0, import_lib4.$EVENT)(ctx, state2, "Prologue", Prologue$0);
18482
18686
  }
18483
- var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R99, "ProloguePrefix /[^]*/")));
18687
+ var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R100, "ProloguePrefix /[^]*/")));
18484
18688
  function ProloguePrefix(ctx, state2) {
18485
18689
  return (0, import_lib4.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
18486
18690
  }
18487
- var Indent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R20, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18691
+ var Indent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R21, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
18488
18692
  const level = getIndentLevel($0, config.tab);
18489
18693
  return {
18490
18694
  $loc,