@danielx/civet 0.8.2 → 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;
@@ -2855,12 +2877,13 @@ ${js}`
2855
2877
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
2856
2878
  parameters.tp.parameters.push(",");
2857
2879
  }
2858
- if (!block)
2880
+ if (!block) {
2859
2881
  return;
2882
+ }
2860
2883
  const { expressions } = block;
2861
- if (!expressions)
2884
+ if (!expressions) {
2862
2885
  return;
2863
- const { blockPrefix } = parameters;
2886
+ }
2864
2887
  let indent;
2865
2888
  if (!expressions.length) {
2866
2889
  indent = "";
@@ -2870,6 +2893,44 @@ ${js}`
2870
2893
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
2871
2894
  injectParamProps: isConstructor
2872
2895
  });
2896
+ if (isConstructor) {
2897
+ const { ancestor } = findAncestor(f, ($5) => $5.type === "ClassExpression");
2898
+ if (ancestor != null) {
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));
2900
+ const classExpressions = ancestor.body.expressions;
2901
+ let index = findChildIndex(classExpressions, f);
2902
+ assert.notEqual(index, -1, "Could not find constructor in class");
2903
+ let m2;
2904
+ while (m2 = classExpressions[index - 1]?.[1], typeof m2 === "object" && m2 != null && "type" in m2 && m2.type === "MethodDefinition" && "name" in m2 && m2.name === "constructor") {
2905
+ index--;
2906
+ }
2907
+ const fStatement = classExpressions[index];
2908
+ for (let ref8 = gatherRecursive(parameters, ($9) => $9.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
2909
+ const parameter = ref8[i1];
2910
+ if (!parameter.typeSuffix) {
2911
+ continue;
2912
+ }
2913
+ for (let ref9 = gatherRecursive(parameter, ($10) => $10.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
2914
+ const binding = ref9[i2];
2915
+ const typeSuffix = binding.parent?.typeSuffix;
2916
+ if (!typeSuffix) {
2917
+ continue;
2918
+ }
2919
+ const id = binding.ref.id;
2920
+ if (fields.has(id)) {
2921
+ continue;
2922
+ }
2923
+ classExpressions.splice(index++, 0, [fStatement[0], {
2924
+ type: "FieldDefinition",
2925
+ id,
2926
+ typeSuffix,
2927
+ children: [id, typeSuffix]
2928
+ }, ";"]);
2929
+ fStatement[0] = "";
2930
+ }
2931
+ }
2932
+ }
2933
+ }
2873
2934
  const delimiter = {
2874
2935
  type: "SemicolonDelimiter",
2875
2936
  children: [";"]
@@ -2881,15 +2942,16 @@ ${js}`
2881
2942
  children: [indent, ...s.children, delimiter]
2882
2943
  } : [indent, s, delimiter]
2883
2944
  );
2884
- if (!prefix.length)
2945
+ if (!prefix.length) {
2885
2946
  return;
2947
+ }
2886
2948
  if (isConstructor) {
2887
2949
  const superCalls = gatherNodes(
2888
2950
  expressions,
2889
- (a) => typeof a === "object" && a != null && "type" in a && a.type === "CallExpression" && "children" in a && Array.isArray(a.children) && a.children.length >= 1 && typeof a.children[0] === "object" && a.children[0] != null && "token" in a.children[0] && a.children[0].token === "super"
2951
+ (a1) => typeof a1 === "object" && a1 != null && "type" in a1 && a1.type === "CallExpression" && "children" in a1 && Array.isArray(a1.children) && a1.children.length >= 1 && typeof a1.children[0] === "object" && a1.children[0] != null && "token" in a1.children[0] && a1.children[0].token === "super"
2890
2952
  );
2891
2953
  if (superCalls.length) {
2892
- const { child } = findAncestor(superCalls[0], (a1) => a1 === block);
2954
+ const { child } = findAncestor(superCalls[0], (a2) => a2 === block);
2893
2955
  const index = findChildIndex(expressions, child);
2894
2956
  if (index < 0) {
2895
2957
  throw new Error("Could not find super call within top-level expressions");
@@ -2908,8 +2970,8 @@ ${js}`
2908
2970
  }
2909
2971
  if (hasYield(block) && !f.generator?.length) {
2910
2972
  if (f.type === "ArrowFunction") {
2911
- gatherRecursiveWithinFunction(block, ($4) => $4.type === "YieldExpression").forEach((y) => {
2912
- const i = y.children.findIndex(($5) => $5.type === "Yield");
2973
+ gatherRecursiveWithinFunction(block, ($11) => $11.type === "YieldExpression").forEach((y) => {
2974
+ const i = y.children.findIndex(($12) => $12.type === "Yield");
2913
2975
  return y.children.splice(i + 1, 0, {
2914
2976
  type: "Error",
2915
2977
  message: "Can't use yield inside of => arrow function"
@@ -2937,12 +2999,12 @@ ${js}`
2937
2999
  });
2938
3000
  }
2939
3001
  function expressionizeIteration(exp) {
2940
- const { async, generator, subtype, block, children, statement } = exp;
3002
+ let { async, generator, block, children, statement } = exp;
2941
3003
  const i = children.indexOf(statement);
2942
3004
  if (i < 0) {
2943
3005
  throw new Error("Could not find iteration statement in iteration expression");
2944
3006
  }
2945
- if (subtype === "DoStatement" || subtype === "ComptimeStatement") {
3007
+ if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
2946
3008
  children.splice(i, 1, wrapIIFE([["", statement, void 0]], async, generator));
2947
3009
  updateParentPointers(exp);
2948
3010
  return;
@@ -2955,7 +3017,6 @@ ${js}`
2955
3017
  children: ["yield ", node]
2956
3018
  };
2957
3019
  });
2958
- braceBlock(block);
2959
3020
  children.splice(
2960
3021
  i,
2961
3022
  1,
@@ -2970,17 +3031,19 @@ ${js}`
2970
3031
  ], async, generator)
2971
3032
  );
2972
3033
  } else {
2973
- exp.resultsRef ??= makeRef("results");
2974
- const { resultsRef } = exp;
2975
- assignResults(block, (node) => {
2976
- return [resultsRef, ".push(", node, ")"];
2977
- });
2978
- 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
+ }
2979
3042
  children.splice(
2980
3043
  i,
2981
3044
  1,
2982
3045
  wrapIIFE([
2983
- ["", ["const ", resultsRef, "=[]"], ";"],
3046
+ ["", declaration, ";"],
2984
3047
  ["", statement, void 0],
2985
3048
  ["", wrapWithReturn(resultsRef)]
2986
3049
  ], async)
@@ -3010,21 +3073,21 @@ ${js}`
3010
3073
  ...parameters,
3011
3074
  children: (() => {
3012
3075
  const results1 = [];
3013
- for (let ref8 = parameters.children, i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
3014
- let parameter = ref8[i1];
3076
+ for (let ref10 = parameters.children, i3 = 0, len22 = ref10.length; i3 < len22; i3++) {
3077
+ let parameter = ref10[i3];
3015
3078
  if (typeof parameter === "object" && parameter != null && "type" in parameter && parameter.type === "Parameter") {
3016
- let ref9;
3017
- if (ref9 = parameter.initializer) {
3018
- const initializer = ref9;
3079
+ let ref11;
3080
+ if (ref11 = parameter.initializer) {
3081
+ const initializer = ref11;
3019
3082
  args.push(initializer.expression, parameter.delim);
3020
3083
  parameter = {
3021
3084
  ...parameter,
3022
3085
  initializer: void 0,
3023
- children: parameter.children.filter((a2) => a2 !== initializer)
3086
+ children: parameter.children.filter((a3) => a3 !== initializer)
3024
3087
  };
3025
3088
  } else {
3026
3089
  args.push(parameter.children.filter(
3027
- (a3) => a3 !== parameter.typeSuffix
3090
+ (a4) => a4 !== parameter.typeSuffix
3028
3091
  ));
3029
3092
  }
3030
3093
  }
@@ -3036,7 +3099,7 @@ ${js}`
3036
3099
  expression = {
3037
3100
  ...expression,
3038
3101
  parameters: newParameters,
3039
- children: expression.children.map(($6) => $6 === parameters ? newParameters : $6)
3102
+ children: expression.children.map(($13) => $13 === parameters ? newParameters : $13)
3040
3103
  };
3041
3104
  }
3042
3105
  return {
@@ -3058,7 +3121,7 @@ ${js}`
3058
3121
  ref = makeRef("$");
3059
3122
  inplacePrepend(ref, body);
3060
3123
  }
3061
- if (startsWithPredicate(body, ($7) => $7.type === "ObjectExpression")) {
3124
+ if (startsWithPredicate(body, ($14) => $14.type === "ObjectExpression")) {
3062
3125
  body = makeLeftHandSideExpression(body);
3063
3126
  }
3064
3127
  const parameters = makeNode({
@@ -3097,7 +3160,7 @@ ${js}`
3097
3160
  }
3098
3161
  if (gatherRecursiveWithinFunction(
3099
3162
  block,
3100
- (a4) => a4 === ref
3163
+ (a5) => a5 === ref
3101
3164
  ).length > 1) {
3102
3165
  fn.ampersandBlock = false;
3103
3166
  }
@@ -4163,8 +4226,7 @@ ${js}`
4163
4226
  };
4164
4227
  pre.unshift(refDec);
4165
4228
  } else {
4166
- wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
4167
- });
4229
+ wrapIterationReturningResults(statement2, () => void 0);
4168
4230
  ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
4169
4231
  }
4170
4232
  } else {
@@ -4920,22 +4982,168 @@ ${js}`
4920
4982
  }
4921
4983
 
4922
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
+ }
4923
5111
  function forRange(open, forDeclaration, range, stepExp, close) {
4924
- const { start, end, inclusive } = range;
5112
+ const { start, end, left, right, increasing } = range;
4925
5113
  const counterRef = makeRef("i");
4926
- const infinite = end.type === "Identifier" && end.name === "Infinity";
4927
- 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;
4928
5116
  if (stepExp) {
4929
5117
  stepExp = insertTrimmingSpace(stepExp, "");
4930
5118
  stepRef = maybeRef(stepExp, "step");
4931
5119
  } else if (infinite) {
4932
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
+ }
4933
5129
  }
4934
- 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;
4935
5136
  let endRef = maybeRef(end, "end");
4936
5137
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
4937
5138
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
4938
- let ascDec = [], ascRef, asc;
5139
+ if (!left.inclusive) {
5140
+ startRef = [
5141
+ makeLeftHandSideExpression(start),
5142
+ " + ",
5143
+ stepRef
5144
+ ];
5145
+ }
5146
+ let ascDec = [], ascRef;
4939
5147
  if (stepRef) {
4940
5148
  if (!(stepRef === stepExp)) {
4941
5149
  ascDec = [", ", stepRef, " = ", stepExp];
@@ -4970,12 +5178,12 @@ ${js}`
4970
5178
  children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
4971
5179
  names: forDeclaration?.names
4972
5180
  };
4973
- const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
4974
- const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
4975
- 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];
4976
5184
  return {
4977
5185
  declaration,
4978
- children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
5186
+ children: [range.error, open, declaration, "; ", ...condition, "; ", ...increment, close],
4979
5187
  blockPrefix
4980
5188
  };
4981
5189
  }
@@ -7174,6 +7382,8 @@ ${js}`
7174
7382
  UpcomingAssignment,
7175
7383
  ArrayLiteral,
7176
7384
  _ArrayLiteral,
7385
+ RangeDots,
7386
+ RangeEnd,
7177
7387
  RangeExpression,
7178
7388
  ArrayLiteralContent,
7179
7389
  NestedElementList,
@@ -8021,86 +8231,87 @@ ${js}`
8021
8231
  var $R17 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
8022
8232
  var $R18 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8023
8233
  var $R19 = (0, import_lib4.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
8024
- var $R20 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
8025
- var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
8026
- var $R22 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
8027
- var $R23 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8028
- var $R24 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
8029
- 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"));
8030
- var $R26 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
8031
- var $R27 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
8032
- var $R28 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
8033
- var $R29 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
8034
- var $R30 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
8035
- var $R31 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
8036
- var $R32 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
8037
- var $R33 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
8038
- var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
8039
- var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
8040
- var $R36 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
8041
- var $R37 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
8042
- var $R38 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
8043
- var $R39 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
8044
- var $R40 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
8045
- var $R41 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
8046
- var $R42 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
8047
- var $R43 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
8048
- var $R44 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
8049
- var $R45 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
8050
- var $R46 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
8051
- var $R47 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
8052
- var $R48 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
8053
- var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
8054
- var $R50 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
8055
- var $R51 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
8056
- var $R52 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
8057
- var $R53 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
8058
- var $R54 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
8059
- var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8060
- var $R56 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
8061
- var $R57 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
8062
- var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
8063
- var $R59 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
8064
- var $R60 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
8065
- var $R61 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
8066
- var $R62 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
8067
- 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"));
8068
- var $R64 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
8069
- var $R65 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
8070
- var $R66 = (0, import_lib4.$R)(new RegExp(".", "suy"));
8071
- var $R67 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
8072
- var $R68 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
8073
- var $R69 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
8074
- var $R70 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
8075
- var $R71 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
8076
- var $R72 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
8077
- var $R73 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
8078
- var $R74 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
8079
- var $R75 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
8080
- var $R76 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
8081
- var $R77 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
8082
- var $R78 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8083
- var $R79 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
8084
- var $R80 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
8085
- var $R81 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
8086
- var $R82 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
8087
- var $R83 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
8088
- var $R84 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
8089
- var $R85 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
8090
- var $R86 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
8091
- var $R87 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
8092
- var $R88 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
8093
- var $R89 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
8094
- var $R90 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
8095
- var $R91 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
8096
- var $R92 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
8097
- var $R93 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
8098
- var $R94 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
8099
- var $R95 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
8100
- var $R96 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
8101
- var $R97 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
8102
- var $R98 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
8103
- 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"));
8104
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) {
8105
8316
  var reset = $1;
8106
8317
  var init = $2;
@@ -8303,7 +8514,7 @@ ${js}`
8303
8514
  function ExplicitArguments(ctx, state2) {
8304
8515
  return (0, import_lib4.$EVENT)(ctx, state2, "ExplicitArguments", ExplicitArguments$0);
8305
8516
  }
8306
- 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));
8307
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))));
8308
8519
  var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
8309
8520
  function ApplicationStart(ctx, state2) {
@@ -8472,11 +8683,15 @@ ${js}`
8472
8683
  function BinaryOpExpression(ctx, state2) {
8473
8684
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8474
8685
  }
8475
- 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) {
8476
8690
  return value[1];
8477
8691
  });
8692
+ var BinaryOpNotDedented$$ = [BinaryOpNotDedented$0, BinaryOpNotDedented$1];
8478
8693
  function BinaryOpNotDedented(ctx, state2) {
8479
- return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8694
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$$);
8480
8695
  }
8481
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) {
8482
8697
  var ws1 = $1;
@@ -8617,8 +8832,15 @@ ${js}`
8617
8832
  var postfix = $2;
8618
8833
  return prepend(ws, postfix);
8619
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];
8620
8842
  function TypePostfix(ctx, state2) {
8621
- return (0, import_lib4.$EVENT)(ctx, state2, "TypePostfix", TypePostfix$0);
8843
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "TypePostfix", TypePostfix$$);
8622
8844
  }
8623
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) {
8624
8846
  return {
@@ -9386,12 +9608,15 @@ ${js}`
9386
9608
  default:
9387
9609
  return {
9388
9610
  type: "FieldDefinition",
9611
+ id,
9389
9612
  children: [id, " = ", exp]
9390
9613
  };
9391
9614
  }
9392
9615
  });
9393
9616
  var FieldDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(InsertReadonly, ClassElementName, (0, import_lib4.$E)(TypeSuffix), __, ConstAssignment, MaybeNestedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
9394
9617
  var r = $1;
9618
+ var id = $2;
9619
+ var typeSuffix = $3;
9395
9620
  var ca = $5;
9396
9621
  r.children[0].$loc = {
9397
9622
  pos: ca.$loc.pos - 1,
@@ -9399,15 +9624,20 @@ ${js}`
9399
9624
  };
9400
9625
  return {
9401
9626
  type: "FieldDefinition",
9627
+ id,
9628
+ typeSuffix,
9402
9629
  children: $0
9403
9630
  };
9404
9631
  });
9405
9632
  var FieldDefinition$2 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)(Abstract, (0, import_lib4.$E)(_))), (0, import_lib4.$E)((0, import_lib4.$S)(Readonly, (0, import_lib4.$E)(_))), ClassElementName, (0, import_lib4.$E)(TypeSuffix), (0, import_lib4.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9406
- if ($1)
9407
- return { children: $0, ts: true };
9633
+ var id = $3;
9634
+ var typeSuffix = $4;
9408
9635
  return {
9409
9636
  type: "FieldDefinition",
9410
- children: $0
9637
+ children: $0,
9638
+ ts: $1 ? true : void 0,
9639
+ id,
9640
+ typeSuffix
9411
9641
  };
9412
9642
  });
9413
9643
  var FieldDefinition$$ = [FieldDefinition$0, FieldDefinition$1, FieldDefinition$2];
@@ -9693,23 +9923,32 @@ ${js}`
9693
9923
  function MemberBracketContent(ctx, state2) {
9694
9924
  return (0, import_lib4.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9695
9925
  }
9696
- 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) {
9697
9927
  var start = $1;
9698
9928
  var ws = $2;
9699
- var sep = $3;
9929
+ var dots = $3;
9700
9930
  var end = $4;
9701
- const inclusive = sep.token === "..";
9702
9931
  let children;
9932
+ if (!dots.left.inclusive) {
9933
+ start = ["1 + ", makeLeftHandSideExpression(start)];
9934
+ }
9703
9935
  if (end) {
9704
9936
  const inc = [];
9705
- if (inclusive) {
9937
+ if (dots.right.inclusive) {
9706
9938
  end = ["1 + ", makeLeftHandSideExpression(end)];
9707
9939
  inc.push(" || 1/0");
9708
9940
  }
9709
- children = [start, [...ws, { ...sep, token: ", " }], [end, ...inc]];
9941
+ children = [start, [...ws, dots.children[0], { token: ", ", $loc: dots.$loc }], [dots.children[1], end, ...inc]];
9710
9942
  } else {
9711
9943
  children = [start, ws];
9712
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
+ }
9713
9952
  return {
9714
9953
  type: "SliceParameters",
9715
9954
  start,
@@ -10142,7 +10381,8 @@ ${js}`
10142
10381
  typeSuffix,
10143
10382
  accessModifier,
10144
10383
  initializer,
10145
- delim
10384
+ delim,
10385
+ binding
10146
10386
  };
10147
10387
  });
10148
10388
  function ParameterElement(ctx, state2) {
@@ -11217,10 +11457,7 @@ ${js}`
11217
11457
  if (last)
11218
11458
  expressions.push(last);
11219
11459
  const maybeComment = expressions.at(-1)?.[2]?.children?.[2]?.at(-1);
11220
- let hasTrailingComment = false;
11221
- if (maybeComment?.type === "Comment" && maybeComment.token.startsWith("//")) {
11222
- hasTrailingComment = true;
11223
- }
11460
+ const hasTrailingComment = maybeComment?.type === "Comment" && maybeComment.token.startsWith("//");
11224
11461
  const children = [expressions];
11225
11462
  if (hasTrailingComment)
11226
11463
  children.push("\n");
@@ -11419,70 +11656,82 @@ ${js}`
11419
11656
  function _ArrayLiteral(ctx, state2) {
11420
11657
  return (0, import_lib4.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11421
11658
  }
11422
- 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) {
11423
- var s = $1;
11424
- var ws = $2;
11425
- var range = $3;
11426
- var e = $4;
11427
- const inclusive = range.token === "..";
11428
- range.token = ",";
11429
- if (s.type === "Literal" && e.type === "Literal") {
11430
- const start = literalValue(s);
11431
- const end = literalValue(e);
11432
- if (typeof start !== typeof end) {
11433
- throw new Error("Range start and end must be of the same type");
11434
- }
11435
- if (typeof start === "string") {
11436
- if (start.length !== 1 || end.length !== 1) {
11437
- throw new Error("String range start and end must be a single character");
11438
- }
11439
- const startCode = start.charCodeAt(0);
11440
- const endCode = end.charCodeAt(0);
11441
- const step = startCode < endCode ? 1 : -1;
11442
- const length = Math.abs(endCode - startCode) + (inclusive ? 1 : 0);
11443
- if (length <= 26) {
11444
- return {
11445
- type: "RangeExpression",
11446
- children: ["[", Array.from({ length }, (_2, i) => JSON.stringify(String.fromCharCode(startCode + i * step))).join(", "), "]"],
11447
- inclusive,
11448
- start: s,
11449
- end: e
11450
- };
11451
- } else {
11452
- const inclusiveAdjust2 = inclusive ? " + 1" : "";
11453
- 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(), ")"];
11454
- return {
11455
- type: "RangeExpression",
11456
- children: children2,
11457
- inclusive,
11458
- start: s,
11459
- end: e
11460
- };
11461
- }
11462
- } else if (typeof start === "number") {
11463
- const step = end > start ? 1 : -1;
11464
- const length = Math.abs(end - start) + (inclusive ? 1 : 0);
11465
- if (length <= 20) {
11466
- return {
11467
- type: "RangeExpression",
11468
- children: ["[", Array.from({ length }, (_2, i) => start + i * step).join(", "), "]"],
11469
- inclusive,
11470
- start: s,
11471
- end: e
11472
- };
11473
- }
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 = ">";
11474
11713
  }
11475
11714
  }
11476
- const inclusiveAdjust = inclusive ? " + 1" : "";
11477
- 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, ")"];
11478
11715
  return {
11479
- type: "RangeExpression",
11480
- children,
11481
- inclusive,
11482
- start: s,
11483
- end: e
11716
+ increasing: dir === "<",
11717
+ inclusive: equal === "=",
11718
+ raw: $0
11484
11719
  };
11485
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
+ });
11486
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) {
11487
11736
  var s = $1;
11488
11737
  var ws = $2;
@@ -11497,7 +11746,10 @@ ${js}`
11497
11746
  type: "Identifier",
11498
11747
  name: "Infinity",
11499
11748
  children: ["Infinity"]
11500
- }
11749
+ },
11750
+ left: { inclusive: true, raw: "" },
11751
+ right: { inclusive: true, raw: "" },
11752
+ increasing: true
11501
11753
  };
11502
11754
  });
11503
11755
  var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
@@ -11711,7 +11963,7 @@ ${js}`
11711
11963
  function ArrayBulletDelimiter(ctx, state2) {
11712
11964
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ArrayBulletDelimiter", ArrayBulletDelimiter$$);
11713
11965
  }
11714
- 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) {
11715
11967
  const [bullet, ws] = $1;
11716
11968
  const indent = {
11717
11969
  token: " " + ws,
@@ -11927,7 +12179,7 @@ ${js}`
11927
12179
  var prop = $2;
11928
12180
  return prepend(ws, prop);
11929
12181
  });
11930
- 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) {
11931
12183
  var ws = $1;
11932
12184
  var toggle = $2;
11933
12185
  var id = $3;
@@ -12078,7 +12330,7 @@ ${js}`
12078
12330
  var PropertyName$0 = NumericLiteral;
12079
12331
  var PropertyName$1 = ComputedPropertyName;
12080
12332
  var PropertyName$2 = StringLiteral;
12081
- 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) {
12082
12334
  return {
12083
12335
  token: `"${$1}"`,
12084
12336
  $loc
@@ -12477,7 +12729,7 @@ ${js}`
12477
12729
  var AssignmentOpSymbol$23 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
12478
12730
  return "??=";
12479
12731
  });
12480
- 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) {
12481
12733
  return value[0];
12482
12734
  });
12483
12735
  var AssignmentOpSymbol$25 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeWordAssignmentOp), function(value) {
@@ -12530,7 +12782,7 @@ ${js}`
12530
12782
  function IdentifierBinaryOp(ctx, state2) {
12531
12783
  return (0, import_lib4.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
12532
12784
  }
12533
- 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) {
12534
12786
  var op = value[1];
12535
12787
  return op;
12536
12788
  });
@@ -12675,7 +12927,7 @@ ${js}`
12675
12927
  prec: "^^"
12676
12928
  };
12677
12929
  });
12678
- 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) {
12679
12931
  return {
12680
12932
  call: getHelperRef("xnor"),
12681
12933
  special: true,
@@ -12839,24 +13091,24 @@ ${js}`
12839
13091
  function Xor(ctx, state2) {
12840
13092
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xor", Xor$$);
12841
13093
  }
12842
- 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 /!\\^\\^?/"));
12843
13095
  var Xnor$1 = (0, import_lib4.$EXPECT)($L109, 'Xnor "xnor"');
12844
13096
  var Xnor$$ = [Xnor$0, Xnor$1];
12845
13097
  function Xnor(ctx, state2) {
12846
13098
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
12847
13099
  }
12848
- 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) {
12849
13101
  return { $loc, token: $0 };
12850
13102
  });
12851
13103
  var UnaryOp$1 = AwaitOp;
12852
- 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) {
12853
13105
  var op = $1;
12854
13106
  var ws = $3;
12855
13107
  if (!ws)
12856
13108
  return [op, [" "]];
12857
13109
  return [op, ws];
12858
13110
  });
12859
- 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) {
12860
13112
  return [value[0], value[3]];
12861
13113
  });
12862
13114
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12943,7 +13195,7 @@ ${js}`
12943
13195
  function PostfixedCommaExpression(ctx, state2) {
12944
13196
  return (0, import_lib4.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12945
13197
  }
12946
- 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) {
12947
13199
  return value[1];
12948
13200
  });
12949
13201
  function PostfixStatement(ctx, state2) {
@@ -12983,7 +13235,9 @@ ${js}`
12983
13235
  }
12984
13236
  var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
12985
13237
  var ShouldExpressionize$1 = (0, import_lib4.$S)(NotDedented, Pipe);
12986
- 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];
12987
13241
  function ShouldExpressionize(ctx, state2) {
12988
13242
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
12989
13243
  }
@@ -13134,7 +13388,7 @@ ${js}`
13134
13388
  function IfClause(ctx, state2) {
13135
13389
  return (0, import_lib4.$EVENT)(ctx, state2, "IfClause", IfClause$0);
13136
13390
  }
13137
- 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) {
13138
13392
  return value[1];
13139
13393
  });
13140
13394
  function IterationStatement(ctx, state2) {
@@ -14574,7 +14828,7 @@ ${js}`
14574
14828
  function UnprocessedModuleSpecifier(ctx, state2) {
14575
14829
  return (0, import_lib4.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
14576
14830
  }
14577
- 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) {
14578
14832
  var spec = $0;
14579
14833
  return { $loc, token: `"${spec}"` };
14580
14834
  });
@@ -14834,7 +15088,7 @@ ${js}`
14834
15088
  function VariableDeclarationList(ctx, state2) {
14835
15089
  return (0, import_lib4.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
14836
15090
  }
14837
- 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) {
14838
15092
  var token = $2;
14839
15093
  return { type: "NumericLiteral", $loc, token };
14840
15094
  });
@@ -14850,36 +15104,36 @@ ${js}`
14850
15104
  function NumericLiteralKind(ctx, state2) {
14851
15105
  return (0, import_lib4.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
14852
15106
  }
14853
- 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/"));
14854
15108
  function DecimalBigIntegerLiteral(ctx, state2) {
14855
15109
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
14856
15110
  }
14857
- 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) {
14858
15112
  return $1 + ".";
14859
15113
  });
14860
- 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)));
14861
- 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)));
14862
15116
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
14863
15117
  function DecimalLiteral(ctx, state2) {
14864
15118
  return (0, import_lib4.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
14865
15119
  }
14866
- 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])*)/"));
14867
15121
  function ExponentPart(ctx, state2) {
14868
15122
  return (0, import_lib4.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
14869
15123
  }
14870
- 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?/"));
14871
15125
  function BinaryIntegerLiteral(ctx, state2) {
14872
15126
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
14873
15127
  }
14874
- 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?/"));
14875
15129
  function OctalIntegerLiteral(ctx, state2) {
14876
15130
  return (0, import_lib4.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
14877
15131
  }
14878
- 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?/"));
14879
15133
  function HexIntegerLiteral(ctx, state2) {
14880
15134
  return (0, import_lib4.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
14881
15135
  }
14882
- 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) {
14883
15137
  var token = $2;
14884
15138
  return { $loc, token };
14885
15139
  });
@@ -14895,7 +15149,7 @@ ${js}`
14895
15149
  function IntegerLiteralKind(ctx, state2) {
14896
15150
  return (0, import_lib4.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
14897
15151
  }
14898
- 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])*)/"));
14899
15153
  function DecimalIntegerLiteral(ctx, state2) {
14900
15154
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
14901
15155
  }
@@ -14919,25 +15173,25 @@ ${js}`
14919
15173
  function StringLiteral(ctx, state2) {
14920
15174
  return (0, import_lib4.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
14921
15175
  }
14922
- 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) {
14923
15177
  return { $loc, token: $0 };
14924
15178
  });
14925
15179
  function DoubleStringCharacters(ctx, state2) {
14926
15180
  return (0, import_lib4.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
14927
15181
  }
14928
- 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) {
14929
15183
  return { $loc, token: $0 };
14930
15184
  });
14931
15185
  function SingleStringCharacters(ctx, state2) {
14932
15186
  return (0, import_lib4.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
14933
15187
  }
14934
- 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) {
14935
15189
  return { $loc, token: $0 };
14936
15190
  });
14937
15191
  function TripleDoubleStringCharacters(ctx, state2) {
14938
15192
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
14939
15193
  }
14940
- 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) {
14941
15195
  return { $loc, token: $0 };
14942
15196
  });
14943
15197
  function TripleSingleStringCharacters(ctx, state2) {
@@ -14960,7 +15214,7 @@ ${js}`
14960
15214
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
14961
15215
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
14962
15216
  }
14963
- 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) {
14964
15218
  return { $loc, token: $0 };
14965
15219
  });
14966
15220
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -14980,7 +15234,7 @@ ${js}`
14980
15234
  function RegularExpressionClass(ctx, state2) {
14981
15235
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
14982
15236
  }
14983
- 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) {
14984
15238
  return { $loc, token: $0 };
14985
15239
  });
14986
15240
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -15037,7 +15291,7 @@ ${js}`
15037
15291
  var HeregexPart$2 = (0, import_lib4.$T)((0, import_lib4.$S)(TemplateSubstitution), function(value) {
15038
15292
  return { "type": "Substitution", "children": value[0] };
15039
15293
  });
15040
- 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) {
15041
15295
  let token = $0;
15042
15296
  switch ($0[1]) {
15043
15297
  case "\n":
@@ -15055,13 +15309,13 @@ ${js}`
15055
15309
  var HeregexPart$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(HeregexComment), function($skip, $loc, $0, $1) {
15056
15310
  return { $loc, token: "" };
15057
15311
  });
15058
- 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) {
15059
15313
  return { $loc, token: "" };
15060
15314
  });
15061
- 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) {
15062
15316
  return { $loc, token: "\\/" };
15063
15317
  });
15064
- 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) {
15065
15319
  return { $loc, token: $0 };
15066
15320
  });
15067
15321
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -15074,7 +15328,7 @@ ${js}`
15074
15328
  function HeregexComment(ctx, state2) {
15075
15329
  return (0, import_lib4.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
15076
15330
  }
15077
- 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));
15078
15332
  function RegularExpressionBody(ctx, state2) {
15079
15333
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
15080
15334
  }
@@ -15084,15 +15338,15 @@ ${js}`
15084
15338
  function RegExpPart(ctx, state2) {
15085
15339
  return (0, import_lib4.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
15086
15340
  }
15087
- 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])+/"));
15088
15342
  function RegExpCharacter(ctx, state2) {
15089
15343
  return (0, import_lib4.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
15090
15344
  }
15091
- 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$])*/"));
15092
15346
  function RegularExpressionFlags(ctx, state2) {
15093
15347
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
15094
15348
  }
15095
- 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) {
15096
15350
  return value[1];
15097
15351
  });
15098
15352
  function TemplateLiteral(ctx, state2) {
@@ -15132,28 +15386,28 @@ ${js}`
15132
15386
  function TemplateSubstitution(ctx, state2) {
15133
15387
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
15134
15388
  }
15135
- 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) {
15136
15390
  return { $loc, token: $0 };
15137
15391
  });
15138
15392
  function TemplateCharacters(ctx, state2) {
15139
15393
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
15140
15394
  }
15141
- 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) {
15142
15396
  return { $loc, token: $0 };
15143
15397
  });
15144
15398
  function TemplateBlockCharacters(ctx, state2) {
15145
15399
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
15146
15400
  }
15147
- 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);
15148
- var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R60, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
15149
- var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
15150
- var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
15151
- 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})/"));
15152
15406
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
15153
15407
  function ReservedWord(ctx, state2) {
15154
15408
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
15155
15409
  }
15156
- 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) {
15157
15411
  return value[1];
15158
15412
  });
15159
15413
  function Comment(ctx, state2) {
@@ -15171,7 +15425,7 @@ ${js}`
15171
15425
  function SingleLineComment(ctx, state2) {
15172
15426
  return (0, import_lib4.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
15173
15427
  }
15174
- 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) {
15175
15429
  return { type: "Comment", $loc, token: $0 };
15176
15430
  });
15177
15431
  function JSSingleLineComment(ctx, state2) {
@@ -15183,30 +15437,30 @@ ${js}`
15183
15437
  function MultiLineComment(ctx, state2) {
15184
15438
  return (0, import_lib4.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
15185
15439
  }
15186
- 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) {
15187
15441
  return { type: "Comment", $loc, token: $1 };
15188
15442
  });
15189
15443
  function JSMultiLineComment(ctx, state2) {
15190
15444
  return (0, import_lib4.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
15191
15445
  }
15192
- 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) {
15193
15447
  return { type: "Comment", $loc, token: `//${$1}` };
15194
15448
  });
15195
15449
  function CoffeeSingleLineComment(ctx, state2) {
15196
15450
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
15197
15451
  }
15198
- 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) {
15199
15453
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
15200
15454
  return { type: "Comment", $loc, token: `/*${$2}*/` };
15201
15455
  });
15202
15456
  function CoffeeMultiLineComment(ctx, state2) {
15203
15457
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
15204
15458
  }
15205
- 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 /###(?!#)/"));
15206
15460
  function CoffeeHereCommentStart(ctx, state2) {
15207
15461
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
15208
15462
  }
15209
- 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) {
15210
15464
  return { $loc, token: $0 };
15211
15465
  });
15212
15466
  function InlineComment(ctx, state2) {
@@ -15220,13 +15474,13 @@ ${js}`
15220
15474
  function TrailingComment(ctx, state2) {
15221
15475
  return (0, import_lib4.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
15222
15476
  }
15223
- 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) {
15224
15478
  return value[1];
15225
15479
  });
15226
15480
  function _(ctx, state2) {
15227
15481
  return (0, import_lib4.$EVENT)(ctx, state2, "_", _$0);
15228
15482
  }
15229
- 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) {
15230
15484
  return { $loc, token: $0 };
15231
15485
  });
15232
15486
  var NonNewlineWhitespace$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L132, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
@@ -15243,7 +15497,7 @@ ${js}`
15243
15497
  function Trimmed_(ctx, state2) {
15244
15498
  return (0, import_lib4.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
15245
15499
  }
15246
- 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) {
15247
15501
  return value[1];
15248
15502
  });
15249
15503
  var __$1 = (0, import_lib4.$EXPECT)($L0, '__ ""');
@@ -15251,7 +15505,7 @@ ${js}`
15251
15505
  function __(ctx, state2) {
15252
15506
  return (0, import_lib4.$EVENT_C)(ctx, state2, "__", __$$);
15253
15507
  }
15254
- 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) {
15255
15509
  return { $loc, token: $0 };
15256
15510
  });
15257
15511
  function Whitespace(ctx, state2) {
@@ -15289,7 +15543,7 @@ ${js}`
15289
15543
  function SemicolonDelimiter(ctx, state2) {
15290
15544
  return (0, import_lib4.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
15291
15545
  }
15292
- 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})/"));
15293
15547
  function NonIdContinue(ctx, state2) {
15294
15548
  return (0, import_lib4.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
15295
15549
  }
@@ -15407,7 +15661,7 @@ ${js}`
15407
15661
  function CoffeeSubstitutionStart(ctx, state2) {
15408
15662
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
15409
15663
  }
15410
- 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) {
15411
15665
  return { $loc, token: $1 };
15412
15666
  });
15413
15667
  function Colon(ctx, state2) {
@@ -15458,7 +15712,7 @@ ${js}`
15458
15712
  var Dot$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
15459
15713
  return { $loc, token: $1 };
15460
15714
  });
15461
- 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) {
15462
15716
  var ws = $2;
15463
15717
  return [
15464
15718
  { $loc, token: "." },
@@ -15585,7 +15839,7 @@ ${js}`
15585
15839
  function If(ctx, state2) {
15586
15840
  return (0, import_lib4.$EVENT)(ctx, state2, "If", If$0);
15587
15841
  }
15588
- 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) {
15589
15843
  return { $loc, token: $1 };
15590
15844
  });
15591
15845
  function Import(ctx, state2) {
@@ -15943,7 +16197,7 @@ ${js}`
15943
16197
  function JSXImplicitFragment(ctx, state2) {
15944
16198
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
15945
16199
  }
15946
- 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) {
15947
16201
  return value[1];
15948
16202
  });
15949
16203
  function JSXTag(ctx, state2) {
@@ -16090,7 +16344,7 @@ ${js}`
16090
16344
  function JSXElementName(ctx, state2) {
16091
16345
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
16092
16346
  }
16093
- 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$-])*/"));
16094
16348
  function JSXIdentifierName(ctx, state2) {
16095
16349
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
16096
16350
  }
@@ -16269,7 +16523,7 @@ ${js}`
16269
16523
  class: $2
16270
16524
  };
16271
16525
  });
16272
- 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) {
16273
16527
  var toggle = $1;
16274
16528
  var id = $2;
16275
16529
  const value = toggle === "+" ? "true" : "false";
@@ -16279,11 +16533,11 @@ ${js}`
16279
16533
  function JSXAttribute(ctx, state2) {
16280
16534
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
16281
16535
  }
16282
- 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>]|\\/>/"));
16283
16537
  function JSXAttributeSpace(ctx, state2) {
16284
16538
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
16285
16539
  }
16286
- 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) {
16287
16541
  return quoteString($0);
16288
16542
  });
16289
16543
  var JSXShorthandString$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -16330,7 +16584,7 @@ ${js}`
16330
16584
  }
16331
16585
  return [open, value, close];
16332
16586
  });
16333
- 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 /"[^"]*"|'[^']*'/`));
16334
16588
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
16335
16589
  function JSXAttributeValue(ctx, state2) {
16336
16590
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -16343,7 +16597,7 @@ ${js}`
16343
16597
  function InlineJSXAttributeValue(ctx, state2) {
16344
16598
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
16345
16599
  }
16346
- 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) {
16347
16601
  var op = $2;
16348
16602
  var rhs = $3;
16349
16603
  return [[], op, [], rhs];
@@ -16360,7 +16614,7 @@ ${js}`
16360
16614
  function InlineJSXUnaryExpression(ctx, state2) {
16361
16615
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
16362
16616
  }
16363
- 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) {
16364
16618
  return { $loc, token: $0 };
16365
16619
  });
16366
16620
  function InlineJSXUnaryOp(ctx, state2) {
@@ -16611,13 +16865,13 @@ ${js}`
16611
16865
  function JSXComment(ctx, state2) {
16612
16866
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
16613
16867
  }
16614
- 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) {
16615
16869
  return { $loc, token: $0.replace(/\*\//g, "* /") };
16616
16870
  });
16617
16871
  function JSXCommentContent(ctx, state2) {
16618
16872
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
16619
16873
  }
16620
- 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) {
16621
16875
  return {
16622
16876
  type: "JSXText",
16623
16877
  token: $0,
@@ -17151,7 +17405,7 @@ ${js}`
17151
17405
  function TypeProperty(ctx, state2) {
17152
17406
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
17153
17407
  }
17154
- 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)))));
17155
17409
  function TypeIndexSignature(ctx, state2) {
17156
17410
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
17157
17411
  }
@@ -17633,7 +17887,7 @@ ${js}`
17633
17887
  function TypeWithPostfix(ctx, state2) {
17634
17888
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
17635
17889
  }
17636
- 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) {
17637
17891
  return prepend($1, expressionizeTypeIf($3));
17638
17892
  });
17639
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) {
@@ -17835,8 +18089,8 @@ ${js}`
17835
18089
  return (0, import_lib4.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
17836
18090
  }
17837
18091
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
17838
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R89, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
17839
- 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$])/"));
17840
18094
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
17841
18095
  function ForbiddenImplicitTypeCalls(ctx, state2) {
17842
18096
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -17919,7 +18173,7 @@ ${js}`
17919
18173
  function TypeParameters(ctx, state2) {
17920
18174
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
17921
18175
  }
17922
- 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);
17923
18177
  function TypeParameter(ctx, state2) {
17924
18178
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
17925
18179
  }
@@ -17946,15 +18200,15 @@ ${js}`
17946
18200
  function ThisType(ctx, state2) {
17947
18201
  return (0, import_lib4.$EVENT)(ctx, state2, "ThisType", ThisType$0);
17948
18202
  }
17949
- 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);
17950
18204
  function Shebang(ctx, state2) {
17951
18205
  return (0, import_lib4.$EVENT)(ctx, state2, "Shebang", Shebang$0);
17952
18206
  }
17953
- 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) {
17954
18208
  var content = value[2];
17955
18209
  return content;
17956
18210
  });
17957
- 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) {
17958
18212
  var content = value[2];
17959
18213
  return content;
17960
18214
  });
@@ -17962,7 +18216,7 @@ ${js}`
17962
18216
  function CivetPrologue(ctx, state2) {
17963
18217
  return (0, import_lib4.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
17964
18218
  }
17965
- 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) {
17966
18220
  var options = $3;
17967
18221
  return {
17968
18222
  type: "CivetPrologue",
@@ -17973,7 +18227,7 @@ ${js}`
17973
18227
  function CivetPrologueContent(ctx, state2) {
17974
18228
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
17975
18229
  }
17976
- 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) {
17977
18231
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
17978
18232
  if (l)
17979
18233
  return l.toUpperCase();
@@ -17995,11 +18249,11 @@ ${js}`
17995
18249
  function CivetOption(ctx, state2) {
17996
18250
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
17997
18251
  }
17998
- 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);
17999
18253
  function UnknownPrologue(ctx, state2) {
18000
18254
  return (0, import_lib4.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
18001
18255
  }
18002
- 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));
18003
18257
  function TripleSlashDirective(ctx, state2) {
18004
18258
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
18005
18259
  }
@@ -18015,13 +18269,13 @@ ${js}`
18015
18269
  function PrologueString(ctx, state2) {
18016
18270
  return (0, import_lib4.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
18017
18271
  }
18018
- 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) {
18019
18273
  return value[1];
18020
18274
  });
18021
18275
  function EOS(ctx, state2) {
18022
18276
  return (0, import_lib4.$EVENT)(ctx, state2, "EOS", EOS$0);
18023
18277
  }
18024
- 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) {
18025
18279
  return { $loc, token: $0 };
18026
18280
  });
18027
18281
  function EOL(ctx, state2) {
@@ -18430,11 +18684,11 @@ ${js}`
18430
18684
  function Prologue(ctx, state2) {
18431
18685
  return (0, import_lib4.$EVENT)(ctx, state2, "Prologue", Prologue$0);
18432
18686
  }
18433
- 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 /[^]*/")));
18434
18688
  function ProloguePrefix(ctx, state2) {
18435
18689
  return (0, import_lib4.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
18436
18690
  }
18437
- 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) {
18438
18692
  const level = getIndentLevel($0, config.tab);
18439
18693
  return {
18440
18694
  $loc,