@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/main.js CHANGED
@@ -30,9 +30,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
- // node_modules/.pnpm/@danielx+hera@0.8.16/node_modules/@danielx/hera/dist/machine.js
33
+ // node_modules/@danielx/hera/dist/machine.js
34
34
  var require_machine = __commonJS({
35
- "node_modules/.pnpm/@danielx+hera@0.8.16/node_modules/@danielx/hera/dist/machine.js"(exports2, module2) {
35
+ "node_modules/@danielx/hera/dist/machine.js"(exports2, module2) {
36
36
  "use strict";
37
37
  var __defProp2 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -62,7 +62,7 @@ var require_machine = __commonJS({
62
62
  $N: () => $N2,
63
63
  $P: () => $P2,
64
64
  $Q: () => $Q2,
65
- $R: () => $R100,
65
+ $R: () => $R101,
66
66
  $R$0: () => $R$02,
67
67
  $S: () => $S2,
68
68
  $T: () => $T2,
@@ -99,7 +99,7 @@ var require_machine = __commonJS({
99
99
  return;
100
100
  };
101
101
  }
102
- function $R100(regExp) {
102
+ function $R101(regExp) {
103
103
  return function(_ctx, state2) {
104
104
  const { input, pos } = state2;
105
105
  regExp.lastIndex = state2.pos;
@@ -563,6 +563,7 @@ __export(lib_exports, {
563
563
  processForInOf: () => processForInOf,
564
564
  processProgram: () => processProgram,
565
565
  processProgramAsync: () => processProgramAsync,
566
+ processRangeExpression: () => processRangeExpression,
566
567
  processTryBlock: () => processTryBlock,
567
568
  processUnaryExpression: () => processUnaryExpression,
568
569
  processUnaryNestedExpression: () => processUnaryNestedExpression,
@@ -591,6 +592,13 @@ var assert = {
591
592
  if (a === b) {
592
593
  throw new Error(`Assertion failed [${msg}]: ${a} === ${b}`);
593
594
  }
595
+ },
596
+ notNull(a, msg) {
597
+ if (!(a != null)) {
598
+ throw new Error(`Assertion failed [${msg}]: got null`);
599
+ }
600
+ ;
601
+ return;
594
602
  }
595
603
  };
596
604
  function addParentPointers(node, parent) {
@@ -1890,6 +1898,9 @@ function gen(root, options) {
1890
1898
  let ref;
1891
1899
  if (ref = options.sourceMap) {
1892
1900
  const sourceMap = ref;
1901
+ if (node.$loc != null) {
1902
+ sourceMap.updateSourceMap("", node.$loc.pos);
1903
+ }
1893
1904
  line = sourceMap.data.srcLine + 1;
1894
1905
  column = sourceMap.data.srcColumn + 1;
1895
1906
  offset = sourceMap.data.srcOffset;
@@ -2514,7 +2525,7 @@ function assignResults(node, collect) {
2514
2525
  case "IterationStatement":
2515
2526
  case "DoStatement":
2516
2527
  case "ComptimeStatement": {
2517
- wrapIterationReturningResults(exp, outer, collect);
2528
+ wrapIterationReturningResults(exp, collect);
2518
2529
  return;
2519
2530
  }
2520
2531
  case "BlockStatement": {
@@ -2554,7 +2565,7 @@ function assignResults(node, collect) {
2554
2565
  }
2555
2566
  node[1] = collect(node[1]);
2556
2567
  }
2557
- function insertReturn(node, outerNode = node) {
2568
+ function insertReturn(node) {
2558
2569
  if (!node)
2559
2570
  return;
2560
2571
  switch (node.type) {
@@ -2662,7 +2673,7 @@ function insertReturn(node, outerNode = node) {
2662
2673
  case "IterationStatement":
2663
2674
  case "DoStatement":
2664
2675
  case "ComptimeStatement": {
2665
- wrapIterationReturningResults(exp, outer);
2676
+ wrapIterationReturningResults(exp);
2666
2677
  return;
2667
2678
  }
2668
2679
  case "BlockStatement": {
@@ -2758,11 +2769,11 @@ function processBreakContinueWith(statement) {
2758
2769
  }
2759
2770
  return changed;
2760
2771
  }
2761
- function wrapIterationReturningResults(statement, outer, collect) {
2772
+ function wrapIterationReturningResults(statement, collect) {
2762
2773
  if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
2763
2774
  let results;
2764
2775
  if (statement.type === "ComptimeStatement") {
2765
- insertReturn(statement.block, outer);
2776
+ insertReturn(statement.block);
2766
2777
  const expression = expressionizeComptime(statement);
2767
2778
  replaceNode(statement, expression);
2768
2779
  const parent = expression.parent;
@@ -2778,7 +2789,7 @@ function wrapIterationReturningResults(statement, outer, collect) {
2778
2789
  if (collect) {
2779
2790
  assignResults(results, collect);
2780
2791
  } else {
2781
- insertReturn(results, outer);
2792
+ insertReturn(results);
2782
2793
  }
2783
2794
  return;
2784
2795
  }
@@ -2788,6 +2799,27 @@ function wrapIterationReturningResults(statement, outer, collect) {
2788
2799
  "wrapIterationReturningResults should not be called twice on the same statement"
2789
2800
  );
2790
2801
  const resultsRef = statement.resultsRef = makeRef("results");
2802
+ const { declaration, breakWithOnly } = iterationDeclaration(statement);
2803
+ const { ancestor, child } = findAncestor(statement, ($4) => $4.type === "BlockStatement");
2804
+ assert.notNull(ancestor, `Could not find block containing ${statement.type}`);
2805
+ const index = findChildIndex(ancestor.expressions, child);
2806
+ const iterationTuple = ancestor.expressions[index];
2807
+ ancestor.expressions.splice(index, 0, [iterationTuple[0], declaration, ";"]);
2808
+ iterationTuple[0] = "";
2809
+ braceBlock(ancestor);
2810
+ if (!breakWithOnly) {
2811
+ assignResults(statement.block, (node) => {
2812
+ return [resultsRef, ".push(", node, ")"];
2813
+ });
2814
+ }
2815
+ if (collect) {
2816
+ statement.children.push(collect(resultsRef));
2817
+ } else {
2818
+ statement.children.push(";return ", resultsRef, ";");
2819
+ }
2820
+ }
2821
+ function iterationDeclaration(statement) {
2822
+ const { resultsRef } = statement;
2791
2823
  let decl = "const";
2792
2824
  if (statement.type === "IterationStatement" || statement.type === "ForStatement") {
2793
2825
  if (processBreakContinueWith(statement)) {
@@ -2813,17 +2845,7 @@ function wrapIterationReturningResults(statement, outer, collect) {
2813
2845
  declaration.children.push(";", resultsRef, "=[]");
2814
2846
  }
2815
2847
  }
2816
- outer.children.unshift(["", declaration, ";"]);
2817
- if (!breakWithOnly) {
2818
- assignResults(statement.block, (node) => {
2819
- return [resultsRef, ".push(", node, ")"];
2820
- });
2821
- }
2822
- if (collect) {
2823
- statement.children.push(collect(resultsRef));
2824
- } else {
2825
- statement.children.push(";return ", resultsRef, ";");
2826
- }
2848
+ return { declaration, breakWithOnly };
2827
2849
  }
2828
2850
  function processParams(f) {
2829
2851
  const { type, parameters, block } = f;
@@ -2831,12 +2853,13 @@ function processParams(f) {
2831
2853
  if (type === "ArrowFunction" && parameters && parameters.tp && parameters.tp.parameters.length === 1) {
2832
2854
  parameters.tp.parameters.push(",");
2833
2855
  }
2834
- if (!block)
2856
+ if (!block) {
2835
2857
  return;
2858
+ }
2836
2859
  const { expressions } = block;
2837
- if (!expressions)
2860
+ if (!expressions) {
2838
2861
  return;
2839
- const { blockPrefix } = parameters;
2862
+ }
2840
2863
  let indent;
2841
2864
  if (!expressions.length) {
2842
2865
  indent = "";
@@ -2846,6 +2869,44 @@ function processParams(f) {
2846
2869
  const [splices, thisAssignments] = gatherBindingCode(parameters, {
2847
2870
  injectParamProps: isConstructor
2848
2871
  });
2872
+ if (isConstructor) {
2873
+ const { ancestor } = findAncestor(f, ($5) => $5.type === "ClassExpression");
2874
+ if (ancestor != null) {
2875
+ 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));
2876
+ const classExpressions = ancestor.body.expressions;
2877
+ let index = findChildIndex(classExpressions, f);
2878
+ assert.notEqual(index, -1, "Could not find constructor in class");
2879
+ let m2;
2880
+ while (m2 = classExpressions[index - 1]?.[1], typeof m2 === "object" && m2 != null && "type" in m2 && m2.type === "MethodDefinition" && "name" in m2 && m2.name === "constructor") {
2881
+ index--;
2882
+ }
2883
+ const fStatement = classExpressions[index];
2884
+ for (let ref8 = gatherRecursive(parameters, ($9) => $9.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
2885
+ const parameter = ref8[i1];
2886
+ if (!parameter.typeSuffix) {
2887
+ continue;
2888
+ }
2889
+ for (let ref9 = gatherRecursive(parameter, ($10) => $10.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
2890
+ const binding = ref9[i2];
2891
+ const typeSuffix = binding.parent?.typeSuffix;
2892
+ if (!typeSuffix) {
2893
+ continue;
2894
+ }
2895
+ const id = binding.ref.id;
2896
+ if (fields.has(id)) {
2897
+ continue;
2898
+ }
2899
+ classExpressions.splice(index++, 0, [fStatement[0], {
2900
+ type: "FieldDefinition",
2901
+ id,
2902
+ typeSuffix,
2903
+ children: [id, typeSuffix]
2904
+ }, ";"]);
2905
+ fStatement[0] = "";
2906
+ }
2907
+ }
2908
+ }
2909
+ }
2849
2910
  const delimiter = {
2850
2911
  type: "SemicolonDelimiter",
2851
2912
  children: [";"]
@@ -2857,15 +2918,16 @@ function processParams(f) {
2857
2918
  children: [indent, ...s.children, delimiter]
2858
2919
  } : [indent, s, delimiter]
2859
2920
  );
2860
- if (!prefix.length)
2921
+ if (!prefix.length) {
2861
2922
  return;
2923
+ }
2862
2924
  if (isConstructor) {
2863
2925
  const superCalls = gatherNodes(
2864
2926
  expressions,
2865
- (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"
2927
+ (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"
2866
2928
  );
2867
2929
  if (superCalls.length) {
2868
- const { child } = findAncestor(superCalls[0], (a1) => a1 === block);
2930
+ const { child } = findAncestor(superCalls[0], (a2) => a2 === block);
2869
2931
  const index = findChildIndex(expressions, child);
2870
2932
  if (index < 0) {
2871
2933
  throw new Error("Could not find super call within top-level expressions");
@@ -2884,8 +2946,8 @@ function processSignature(f) {
2884
2946
  }
2885
2947
  if (hasYield(block) && !f.generator?.length) {
2886
2948
  if (f.type === "ArrowFunction") {
2887
- gatherRecursiveWithinFunction(block, ($4) => $4.type === "YieldExpression").forEach((y) => {
2888
- const i = y.children.findIndex(($5) => $5.type === "Yield");
2949
+ gatherRecursiveWithinFunction(block, ($11) => $11.type === "YieldExpression").forEach((y) => {
2950
+ const i = y.children.findIndex(($12) => $12.type === "Yield");
2889
2951
  return y.children.splice(i + 1, 0, {
2890
2952
  type: "Error",
2891
2953
  message: "Can't use yield inside of => arrow function"
@@ -2913,12 +2975,12 @@ function processFunctions(statements, config2) {
2913
2975
  });
2914
2976
  }
2915
2977
  function expressionizeIteration(exp) {
2916
- const { async, generator, subtype, block, children, statement } = exp;
2978
+ let { async, generator, block, children, statement } = exp;
2917
2979
  const i = children.indexOf(statement);
2918
2980
  if (i < 0) {
2919
2981
  throw new Error("Could not find iteration statement in iteration expression");
2920
2982
  }
2921
- if (subtype === "DoStatement" || subtype === "ComptimeStatement") {
2983
+ if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
2922
2984
  children.splice(i, 1, wrapIIFE([["", statement, void 0]], async, generator));
2923
2985
  updateParentPointers(exp);
2924
2986
  return;
@@ -2931,7 +2993,6 @@ function expressionizeIteration(exp) {
2931
2993
  children: ["yield ", node]
2932
2994
  };
2933
2995
  });
2934
- braceBlock(block);
2935
2996
  children.splice(
2936
2997
  i,
2937
2998
  1,
@@ -2946,17 +3007,19 @@ function expressionizeIteration(exp) {
2946
3007
  ], async, generator)
2947
3008
  );
2948
3009
  } else {
2949
- exp.resultsRef ??= makeRef("results");
2950
- const { resultsRef } = exp;
2951
- assignResults(block, (node) => {
2952
- return [resultsRef, ".push(", node, ")"];
2953
- });
2954
- braceBlock(block);
3010
+ const resultsRef = statement.resultsRef ??= makeRef("results");
3011
+ const { declaration, breakWithOnly } = iterationDeclaration(statement);
3012
+ if (!breakWithOnly) {
3013
+ assignResults(block, (node) => {
3014
+ return [resultsRef, ".push(", node, ")"];
3015
+ });
3016
+ braceBlock(block);
3017
+ }
2955
3018
  children.splice(
2956
3019
  i,
2957
3020
  1,
2958
3021
  wrapIIFE([
2959
- ["", ["const ", resultsRef, "=[]"], ";"],
3022
+ ["", declaration, ";"],
2960
3023
  ["", statement, void 0],
2961
3024
  ["", wrapWithReturn(resultsRef)]
2962
3025
  ], async)
@@ -2986,21 +3049,21 @@ function processCoffeeDo(ws, expression) {
2986
3049
  ...parameters,
2987
3050
  children: (() => {
2988
3051
  const results1 = [];
2989
- for (let ref8 = parameters.children, i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
2990
- let parameter = ref8[i1];
3052
+ for (let ref10 = parameters.children, i3 = 0, len22 = ref10.length; i3 < len22; i3++) {
3053
+ let parameter = ref10[i3];
2991
3054
  if (typeof parameter === "object" && parameter != null && "type" in parameter && parameter.type === "Parameter") {
2992
- let ref9;
2993
- if (ref9 = parameter.initializer) {
2994
- const initializer = ref9;
3055
+ let ref11;
3056
+ if (ref11 = parameter.initializer) {
3057
+ const initializer = ref11;
2995
3058
  args.push(initializer.expression, parameter.delim);
2996
3059
  parameter = {
2997
3060
  ...parameter,
2998
3061
  initializer: void 0,
2999
- children: parameter.children.filter((a2) => a2 !== initializer)
3062
+ children: parameter.children.filter((a3) => a3 !== initializer)
3000
3063
  };
3001
3064
  } else {
3002
3065
  args.push(parameter.children.filter(
3003
- (a3) => a3 !== parameter.typeSuffix
3066
+ (a4) => a4 !== parameter.typeSuffix
3004
3067
  ));
3005
3068
  }
3006
3069
  }
@@ -3012,7 +3075,7 @@ function processCoffeeDo(ws, expression) {
3012
3075
  expression = {
3013
3076
  ...expression,
3014
3077
  parameters: newParameters,
3015
- children: expression.children.map(($6) => $6 === parameters ? newParameters : $6)
3078
+ children: expression.children.map(($13) => $13 === parameters ? newParameters : $13)
3016
3079
  };
3017
3080
  }
3018
3081
  return {
@@ -3034,7 +3097,7 @@ function makeAmpersandFunction(rhs) {
3034
3097
  ref = makeRef("$");
3035
3098
  inplacePrepend(ref, body);
3036
3099
  }
3037
- if (startsWithPredicate(body, ($7) => $7.type === "ObjectExpression")) {
3100
+ if (startsWithPredicate(body, ($14) => $14.type === "ObjectExpression")) {
3038
3101
  body = makeLeftHandSideExpression(body);
3039
3102
  }
3040
3103
  const parameters = makeNode({
@@ -3073,7 +3136,7 @@ function makeAmpersandFunction(rhs) {
3073
3136
  }
3074
3137
  if (gatherRecursiveWithinFunction(
3075
3138
  block,
3076
- (a4) => a4 === ref
3139
+ (a5) => a5 === ref
3077
3140
  ).length > 1) {
3078
3141
  fn.ampersandBlock = false;
3079
3142
  }
@@ -4139,8 +4202,7 @@ function prependStatementExpressionBlock(initializer, statement) {
4139
4202
  };
4140
4203
  pre.unshift(refDec);
4141
4204
  } else {
4142
- wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
4143
- });
4205
+ wrapIterationReturningResults(statement2, () => void 0);
4144
4206
  ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
4145
4207
  }
4146
4208
  } else {
@@ -4896,22 +4958,168 @@ function processPipelineExpressions(statements) {
4896
4958
  }
4897
4959
 
4898
4960
  // source/parser/for.civet
4961
+ function processRangeExpression(start, ws1, range, end) {
4962
+ ws1 = [ws1, range.children[0]];
4963
+ const ws2 = range.children[1];
4964
+ const comma = { $loc: range.$loc, token: "," };
4965
+ let ref;
4966
+ switch (range.increasing) {
4967
+ case true: {
4968
+ ref = ($) => $;
4969
+ break;
4970
+ }
4971
+ case false: {
4972
+ ref = ($1) => -$1;
4973
+ break;
4974
+ }
4975
+ default: {
4976
+ ref = Math.abs;
4977
+ }
4978
+ }
4979
+ ;
4980
+ const abs = ref;
4981
+ const lengthAdjust = 1 - Number(!range.left.inclusive) - Number(!range.right.inclusive);
4982
+ let ref1;
4983
+ if (lengthAdjust > 0)
4984
+ ref1 = ` + ${lengthAdjust}`;
4985
+ else if (lengthAdjust < 0)
4986
+ ref1 = ` - ${-lengthAdjust}`;
4987
+ else {
4988
+ ref1 = void 0;
4989
+ }
4990
+ ;
4991
+ const lengthAdjustExpression = ref1;
4992
+ let children;
4993
+ if (typeof start === "object" && start != null && "type" in start && start.type === "Literal" && (typeof end === "object" && end != null && "type" in end && end.type === "Literal")) {
4994
+ let startValue = literalValue(start);
4995
+ let endValue = literalValue(end);
4996
+ if (typeof startValue === "string" && typeof endValue === "string") {
4997
+ if (!(startValue.length === 1 && 1 === endValue.length)) {
4998
+ throw new Error("String range start and end must be a single character");
4999
+ }
5000
+ let startCode = startValue.charCodeAt(0);
5001
+ let endCode = endValue.charCodeAt(0);
5002
+ const step = startCode <= endCode ? 1 : -1;
5003
+ const length = abs(endCode - startCode) + lengthAdjust;
5004
+ if (!range.left.inclusive) {
5005
+ startCode += step;
5006
+ }
5007
+ if (length <= 26) {
5008
+ children = [
5009
+ "[",
5010
+ Array.from({ length }, (_2, i) => {
5011
+ return JSON.stringify(String.fromCharCode(startCode + i * step));
5012
+ }).join(", "),
5013
+ "]"
5014
+ ];
5015
+ } else {
5016
+ children = [
5017
+ `Array.from({length: ${length.toString()}}, `,
5018
+ "(_, i) => String.fromCharCode(",
5019
+ startCode.toString(),
5020
+ step > 0 ? " + " : " - ",
5021
+ "i))"
5022
+ ];
5023
+ }
5024
+ if (range.error != null) {
5025
+ children.unshift(range.error);
5026
+ }
5027
+ } else if (typeof startValue === "number" && typeof endValue === "number") {
5028
+ const step = startValue <= endValue ? 1 : -1;
5029
+ const length = abs(endValue - startValue) + lengthAdjust;
5030
+ if (!range.left.inclusive) {
5031
+ startValue += step;
5032
+ }
5033
+ if (length <= 20) {
5034
+ children = [
5035
+ "[",
5036
+ Array.from({ length }, (_2, i) => startValue + i * step).join(", "),
5037
+ "]"
5038
+ ];
5039
+ if (range.error != null) {
5040
+ children.unshift(range.error);
5041
+ }
5042
+ }
5043
+ }
5044
+ }
5045
+ if (!(children != null)) {
5046
+ if (range.increasing != null) {
5047
+ const sign = range.increasing ? "+" : "-";
5048
+ end = makeLeftHandSideExpression(end);
5049
+ children = [
5050
+ "((s) => Array.from({length: ",
5051
+ range.increasing ? [ws2, end, " - s"] : ["s - ", ws2, end],
5052
+ lengthAdjustExpression,
5053
+ "}, (_, i) => s ",
5054
+ sign,
5055
+ " i))",
5056
+ "(",
5057
+ range.left.inclusive ? start : [makeLeftHandSideExpression(start), ` ${sign} 1`],
5058
+ ...ws1,
5059
+ ")"
5060
+ ];
5061
+ } else {
5062
+ children = [
5063
+ "((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)",
5064
+ lengthAdjustExpression,
5065
+ "}, (_, i) => s + i * step)})",
5066
+ "(",
5067
+ start,
5068
+ ...ws1,
5069
+ comma,
5070
+ ws2,
5071
+ end,
5072
+ ")"
5073
+ ];
5074
+ }
5075
+ }
5076
+ return {
5077
+ type: "RangeExpression",
5078
+ children,
5079
+ start,
5080
+ end,
5081
+ error: range.error,
5082
+ left: range.left,
5083
+ right: range.right,
5084
+ increasing: range.increasing
5085
+ };
5086
+ }
4899
5087
  function forRange(open, forDeclaration, range, stepExp, close) {
4900
- const { start, end, inclusive } = range;
5088
+ const { start, end, left, right, increasing } = range;
4901
5089
  const counterRef = makeRef("i");
4902
- const infinite = end.type === "Identifier" && end.name === "Infinity";
4903
- let stepRef;
5090
+ const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
5091
+ let stepRef, asc;
4904
5092
  if (stepExp) {
4905
5093
  stepExp = insertTrimmingSpace(stepExp, "");
4906
5094
  stepRef = maybeRef(stepExp, "step");
4907
5095
  } else if (infinite) {
4908
5096
  stepExp = stepRef = "1";
5097
+ } else if (increasing != null) {
5098
+ if (increasing) {
5099
+ stepExp = stepRef = "1";
5100
+ asc = true;
5101
+ } else {
5102
+ stepExp = stepRef = "-1";
5103
+ asc = false;
5104
+ }
4909
5105
  }
4910
- let startRef = maybeRef(start, "start");
5106
+ let ref2;
5107
+ if (stepRef)
5108
+ ref2 = start;
5109
+ else
5110
+ ref2 = maybeRef(start, "start");
5111
+ let startRef = ref2;
4911
5112
  let endRef = maybeRef(end, "end");
4912
5113
  const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
4913
5114
  const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
4914
- let ascDec = [], ascRef, asc;
5115
+ if (!left.inclusive) {
5116
+ startRef = [
5117
+ makeLeftHandSideExpression(start),
5118
+ " + ",
5119
+ stepRef
5120
+ ];
5121
+ }
5122
+ let ascDec = [], ascRef;
4915
5123
  if (stepRef) {
4916
5124
  if (!(stepRef === stepExp)) {
4917
5125
  ascDec = [", ", stepRef, " = ", stepExp];
@@ -4946,12 +5154,12 @@ function forRange(open, forDeclaration, range, stepExp, close) {
4946
5154
  children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
4947
5155
  names: forDeclaration?.names
4948
5156
  };
4949
- const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
4950
- const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
4951
- const increment = infinite ? [...varAssign, "++", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
5157
+ const counterPart = right.inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
5158
+ const condition = infinite ? [] : asc != null ? asc ? counterPart.slice(0, 3) : counterPart.slice(4) : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : [ascRef, " ? ", ...counterPart];
5159
+ const increment = stepRef === "1" ? [...varAssign, "++", counterRef] : stepRef === "-1" ? [...varAssign, "--", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
4952
5160
  return {
4953
5161
  declaration,
4954
- children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
5162
+ children: [range.error, open, declaration, "; ", ...condition, "; ", ...increment, close],
4955
5163
  blockPrefix
4956
5164
  };
4957
5165
  }
@@ -7150,6 +7358,8 @@ var grammar = {
7150
7358
  UpcomingAssignment,
7151
7359
  ArrayLiteral,
7152
7360
  _ArrayLiteral,
7361
+ RangeDots,
7362
+ RangeEnd,
7153
7363
  RangeExpression,
7154
7364
  ArrayLiteralContent,
7155
7365
  NestedElementList,
@@ -7997,86 +8207,87 @@ var $R16 = (0, import_lib4.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")
7997
8207
  var $R17 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
7998
8208
  var $R18 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
7999
8209
  var $R19 = (0, import_lib4.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
8000
- var $R20 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
8001
- var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
8002
- var $R22 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
8003
- var $R23 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8004
- var $R24 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
8005
- 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"));
8006
- var $R26 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
8007
- var $R27 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
8008
- var $R28 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
8009
- var $R29 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
8010
- var $R30 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
8011
- var $R31 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
8012
- var $R32 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
8013
- var $R33 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
8014
- var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
8015
- var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
8016
- var $R36 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
8017
- var $R37 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
8018
- var $R38 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
8019
- var $R39 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
8020
- var $R40 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
8021
- var $R41 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
8022
- var $R42 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
8023
- var $R43 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
8024
- var $R44 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
8025
- var $R45 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
8026
- var $R46 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
8027
- var $R47 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
8028
- var $R48 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
8029
- var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
8030
- var $R50 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
8031
- var $R51 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
8032
- var $R52 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
8033
- var $R53 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
8034
- var $R54 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
8035
- var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8036
- var $R56 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
8037
- var $R57 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
8038
- var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
8039
- var $R59 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
8040
- var $R60 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
8041
- var $R61 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
8042
- var $R62 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
8043
- 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"));
8044
- var $R64 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
8045
- var $R65 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
8046
- var $R66 = (0, import_lib4.$R)(new RegExp(".", "suy"));
8047
- var $R67 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
8048
- var $R68 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
8049
- var $R69 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
8050
- var $R70 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
8051
- var $R71 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
8052
- var $R72 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
8053
- var $R73 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
8054
- var $R74 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
8055
- var $R75 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
8056
- var $R76 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
8057
- var $R77 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
8058
- var $R78 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8059
- var $R79 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
8060
- var $R80 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
8061
- var $R81 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
8062
- var $R82 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
8063
- var $R83 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
8064
- var $R84 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
8065
- var $R85 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
8066
- var $R86 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
8067
- var $R87 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
8068
- var $R88 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
8069
- var $R89 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
8070
- var $R90 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
8071
- var $R91 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
8072
- var $R92 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
8073
- var $R93 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
8074
- var $R94 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
8075
- var $R95 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
8076
- var $R96 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
8077
- var $R97 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
8078
- var $R98 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
8079
- var $R99 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
8210
+ var $R20 = (0, import_lib4.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
8211
+ var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
8212
+ var $R22 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
8213
+ var $R23 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
8214
+ var $R24 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8215
+ var $R25 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
8216
+ 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"));
8217
+ var $R27 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
8218
+ var $R28 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
8219
+ var $R29 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
8220
+ var $R30 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
8221
+ var $R31 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
8222
+ var $R32 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
8223
+ var $R33 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
8224
+ var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
8225
+ var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
8226
+ var $R36 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
8227
+ var $R37 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
8228
+ var $R38 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
8229
+ var $R39 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
8230
+ var $R40 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
8231
+ var $R41 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
8232
+ var $R42 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
8233
+ var $R43 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
8234
+ var $R44 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
8235
+ var $R45 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
8236
+ var $R46 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
8237
+ var $R47 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
8238
+ var $R48 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
8239
+ var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
8240
+ var $R50 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
8241
+ var $R51 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
8242
+ var $R52 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
8243
+ var $R53 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
8244
+ var $R54 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
8245
+ var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
8246
+ var $R56 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
8247
+ var $R57 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
8248
+ var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
8249
+ var $R59 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
8250
+ var $R60 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
8251
+ var $R61 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
8252
+ var $R62 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
8253
+ var $R63 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
8254
+ 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"));
8255
+ var $R65 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
8256
+ var $R66 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
8257
+ var $R67 = (0, import_lib4.$R)(new RegExp(".", "suy"));
8258
+ var $R68 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
8259
+ var $R69 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
8260
+ var $R70 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
8261
+ var $R71 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
8262
+ var $R72 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
8263
+ var $R73 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
8264
+ var $R74 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
8265
+ var $R75 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
8266
+ var $R76 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
8267
+ var $R77 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
8268
+ var $R78 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
8269
+ var $R79 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
8270
+ var $R80 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
8271
+ var $R81 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
8272
+ var $R82 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
8273
+ var $R83 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
8274
+ var $R84 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
8275
+ var $R85 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
8276
+ var $R86 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
8277
+ var $R87 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
8278
+ var $R88 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
8279
+ var $R89 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
8280
+ var $R90 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
8281
+ var $R91 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
8282
+ var $R92 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
8283
+ var $R93 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
8284
+ var $R94 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
8285
+ var $R95 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
8286
+ var $R96 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
8287
+ var $R97 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
8288
+ var $R98 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
8289
+ var $R99 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
8290
+ var $R100 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
8080
8291
  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) {
8081
8292
  var reset = $1;
8082
8293
  var init = $2;
@@ -8279,7 +8490,7 @@ var ExplicitArguments$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenParen, Al
8279
8490
  function ExplicitArguments(ctx, state2) {
8280
8491
  return (0, import_lib4.$EVENT)(ctx, state2, "ExplicitArguments", ExplicitArguments$0);
8281
8492
  }
8282
- 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));
8493
+ 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));
8283
8494
  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))));
8284
8495
  var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
8285
8496
  function ApplicationStart(ctx, state2) {
@@ -8448,11 +8659,15 @@ var BinaryOpExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(UnaryExpress
8448
8659
  function BinaryOpExpression(ctx, state2) {
8449
8660
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
8450
8661
  }
8451
- var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$C)(NestedBinaryOpAllowed, (0, import_lib4.$N)(Nested)), NotDedented), function(value) {
8662
+ var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$N)(NewlineBinaryOpAllowed), (0, import_lib4.$E)(_)), function(value) {
8663
+ return value[1];
8664
+ });
8665
+ 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) {
8452
8666
  return value[1];
8453
8667
  });
8668
+ var BinaryOpNotDedented$$ = [BinaryOpNotDedented$0, BinaryOpNotDedented$1];
8454
8669
  function BinaryOpNotDedented(ctx, state2) {
8455
- return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$0);
8670
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$$);
8456
8671
  }
8457
8672
  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) {
8458
8673
  var ws1 = $1;
@@ -8593,8 +8808,15 @@ var TypePostfix$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(_, NWTypePostfix),
8593
8808
  var postfix = $2;
8594
8809
  return prepend(ws, postfix);
8595
8810
  });
8811
+ 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) {
8812
+ var indent = $2;
8813
+ var ws = $3;
8814
+ var postfix = $4;
8815
+ return prepend(ws || " ", postfix);
8816
+ });
8817
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
8596
8818
  function TypePostfix(ctx, state2) {
8597
- return (0, import_lib4.$EVENT)(ctx, state2, "TypePostfix", TypePostfix$0);
8819
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "TypePostfix", TypePostfix$$);
8598
8820
  }
8599
8821
  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) {
8600
8822
  return {
@@ -9362,12 +9584,15 @@ var FieldDefinition$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeClassesEn
9362
9584
  default:
9363
9585
  return {
9364
9586
  type: "FieldDefinition",
9587
+ id,
9365
9588
  children: [id, " = ", exp]
9366
9589
  };
9367
9590
  }
9368
9591
  });
9369
9592
  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) {
9370
9593
  var r = $1;
9594
+ var id = $2;
9595
+ var typeSuffix = $3;
9371
9596
  var ca = $5;
9372
9597
  r.children[0].$loc = {
9373
9598
  pos: ca.$loc.pos - 1,
@@ -9375,15 +9600,20 @@ var FieldDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(InsertReadonly,
9375
9600
  };
9376
9601
  return {
9377
9602
  type: "FieldDefinition",
9603
+ id,
9604
+ typeSuffix,
9378
9605
  children: $0
9379
9606
  };
9380
9607
  });
9381
9608
  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) {
9382
- if ($1)
9383
- return { children: $0, ts: true };
9609
+ var id = $3;
9610
+ var typeSuffix = $4;
9384
9611
  return {
9385
9612
  type: "FieldDefinition",
9386
- children: $0
9613
+ children: $0,
9614
+ ts: $1 ? true : void 0,
9615
+ id,
9616
+ typeSuffix
9387
9617
  };
9388
9618
  });
9389
9619
  var FieldDefinition$$ = [FieldDefinition$0, FieldDefinition$1, FieldDefinition$2];
@@ -9669,23 +9899,32 @@ var MemberBracketContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenBracke
9669
9899
  function MemberBracketContent(ctx, state2) {
9670
9900
  return (0, import_lib4.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
9671
9901
  }
9672
- 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) {
9902
+ 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) {
9673
9903
  var start = $1;
9674
9904
  var ws = $2;
9675
- var sep = $3;
9905
+ var dots = $3;
9676
9906
  var end = $4;
9677
- const inclusive = sep.token === "..";
9678
9907
  let children;
9908
+ if (!dots.left.inclusive) {
9909
+ start = ["1 + ", makeLeftHandSideExpression(start)];
9910
+ }
9679
9911
  if (end) {
9680
9912
  const inc = [];
9681
- if (inclusive) {
9913
+ if (dots.right.inclusive) {
9682
9914
  end = ["1 + ", makeLeftHandSideExpression(end)];
9683
9915
  inc.push(" || 1/0");
9684
9916
  }
9685
- children = [start, [...ws, { ...sep, token: ", " }], [end, ...inc]];
9917
+ children = [start, [...ws, dots.children[0], { token: ", ", $loc: dots.$loc }], [dots.children[1], end, ...inc]];
9686
9918
  } else {
9687
9919
  children = [start, ws];
9688
9920
  }
9921
+ if (dots.increasing === false) {
9922
+ children.push({
9923
+ type: "Error",
9924
+ message: "Slice range cannot be decreasing",
9925
+ $loc: dots.$loc
9926
+ });
9927
+ }
9689
9928
  return {
9690
9929
  type: "SliceParameters",
9691
9930
  start,
@@ -10118,7 +10357,8 @@ var ParameterElement$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib
10118
10357
  typeSuffix,
10119
10358
  accessModifier,
10120
10359
  initializer,
10121
- delim
10360
+ delim,
10361
+ binding
10122
10362
  };
10123
10363
  });
10124
10364
  function ParameterElement(ctx, state2) {
@@ -11193,10 +11433,7 @@ var SingleLineStatements$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(ForbidNewl
11193
11433
  if (last)
11194
11434
  expressions.push(last);
11195
11435
  const maybeComment = expressions.at(-1)?.[2]?.children?.[2]?.at(-1);
11196
- let hasTrailingComment = false;
11197
- if (maybeComment?.type === "Comment" && maybeComment.token.startsWith("//")) {
11198
- hasTrailingComment = true;
11199
- }
11436
+ const hasTrailingComment = maybeComment?.type === "Comment" && maybeComment.token.startsWith("//");
11200
11437
  const children = [expressions];
11201
11438
  if (hasTrailingComment)
11202
11439
  children.push("\n");
@@ -11395,70 +11632,82 @@ var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2];
11395
11632
  function _ArrayLiteral(ctx, state2) {
11396
11633
  return (0, import_lib4.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
11397
11634
  }
11398
- 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) {
11399
- var s = $1;
11400
- var ws = $2;
11401
- var range = $3;
11402
- var e = $4;
11403
- const inclusive = range.token === "..";
11404
- range.token = ",";
11405
- if (s.type === "Literal" && e.type === "Literal") {
11406
- const start = literalValue(s);
11407
- const end = literalValue(e);
11408
- if (typeof start !== typeof end) {
11409
- throw new Error("Range start and end must be of the same type");
11410
- }
11411
- if (typeof start === "string") {
11412
- if (start.length !== 1 || end.length !== 1) {
11413
- throw new Error("String range start and end must be a single character");
11414
- }
11415
- const startCode = start.charCodeAt(0);
11416
- const endCode = end.charCodeAt(0);
11417
- const step = startCode < endCode ? 1 : -1;
11418
- const length = Math.abs(endCode - startCode) + (inclusive ? 1 : 0);
11419
- if (length <= 26) {
11420
- return {
11421
- type: "RangeExpression",
11422
- children: ["[", Array.from({ length }, (_2, i) => JSON.stringify(String.fromCharCode(startCode + i * step))).join(", "), "]"],
11423
- inclusive,
11424
- start: s,
11425
- end: e
11426
- };
11427
- } else {
11428
- const inclusiveAdjust2 = inclusive ? " + 1" : "";
11429
- 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(), ")"];
11430
- return {
11431
- type: "RangeExpression",
11432
- children: children2,
11433
- inclusive,
11434
- start: s,
11435
- end: e
11436
- };
11437
- }
11438
- } else if (typeof start === "number") {
11439
- const step = end > start ? 1 : -1;
11440
- const length = Math.abs(end - start) + (inclusive ? 1 : 0);
11441
- if (length <= 20) {
11442
- return {
11443
- type: "RangeExpression",
11444
- children: ["[", Array.from({ length }, (_2, i) => start + i * step).join(", "), "]"],
11445
- inclusive,
11446
- start: s,
11447
- end: e
11448
- };
11449
- }
11635
+ var RangeDots$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(DotDotDot), function($skip, $loc, $0, $1) {
11636
+ return {
11637
+ ...$1,
11638
+ type: "RangeDots",
11639
+ left: { inclusive: true, raw: "" },
11640
+ right: { inclusive: false, raw: "." },
11641
+ increasing: void 0,
11642
+ children: []
11643
+ };
11644
+ });
11645
+ 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) {
11646
+ var left = $1;
11647
+ var ws1 = $2;
11648
+ var dots = $3;
11649
+ var ws2 = $4;
11650
+ var right = $5;
11651
+ const increasing = left.increasing ?? right.increasing;
11652
+ if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
11653
+ const error = {
11654
+ type: "Error",
11655
+ message: `${left.raw}..${right.raw} uses inconsistent < vs. >`,
11656
+ $loc: dots.$loc
11657
+ };
11658
+ return {
11659
+ ...dots,
11660
+ left,
11661
+ right,
11662
+ increasing,
11663
+ error,
11664
+ type: "RangeDots",
11665
+ children: [error]
11666
+ };
11667
+ }
11668
+ return {
11669
+ ...dots,
11670
+ left,
11671
+ right,
11672
+ increasing,
11673
+ type: "RangeDots",
11674
+ children: [ws1, ws2]
11675
+ };
11676
+ });
11677
+ var RangeDots$$ = [RangeDots$0, RangeDots$1];
11678
+ function RangeDots(ctx, state2) {
11679
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeDots", RangeDots$$);
11680
+ }
11681
+ 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) {
11682
+ let dir = $1, equal = $2, unicode = $3;
11683
+ if (unicode) {
11684
+ equal = "=";
11685
+ if (unicode === "\u2264") {
11686
+ dir = "<";
11687
+ } else if (unicode === "\u2265") {
11688
+ dir = ">";
11450
11689
  }
11451
11690
  }
11452
- const inclusiveAdjust = inclusive ? " + 1" : "";
11453
- 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, ")"];
11454
11691
  return {
11455
- type: "RangeExpression",
11456
- children,
11457
- inclusive,
11458
- start: s,
11459
- end: e
11692
+ increasing: dir === "<",
11693
+ inclusive: equal === "=",
11694
+ raw: $0
11460
11695
  };
11461
11696
  });
11697
+ var RangeEnd$1 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L0, 'RangeEnd ""'), function(value) {
11698
+ return { "increasing": void 0, "inclusive": true, "raw": "" };
11699
+ });
11700
+ var RangeEnd$$ = [RangeEnd$0, RangeEnd$1];
11701
+ function RangeEnd(ctx, state2) {
11702
+ return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeEnd", RangeEnd$$);
11703
+ }
11704
+ var RangeExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, RangeDots, Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
11705
+ var start = $1;
11706
+ var ws = $2;
11707
+ var range = $3;
11708
+ var end = $4;
11709
+ return processRangeExpression(start, ws, range, end);
11710
+ });
11462
11711
  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) {
11463
11712
  var s = $1;
11464
11713
  var ws = $2;
@@ -11473,7 +11722,10 @@ var RangeExpression$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __,
11473
11722
  type: "Identifier",
11474
11723
  name: "Infinity",
11475
11724
  children: ["Infinity"]
11476
- }
11725
+ },
11726
+ left: { inclusive: true, raw: "" },
11727
+ right: { inclusive: true, raw: "" },
11728
+ increasing: true
11477
11729
  };
11478
11730
  });
11479
11731
  var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
@@ -11687,7 +11939,7 @@ var ArrayBulletDelimiter$$ = [ArrayBulletDelimiter$0, ArrayBulletDelimiter$1];
11687
11939
  function ArrayBulletDelimiter(ctx, state2) {
11688
11940
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ArrayBulletDelimiter", ArrayBulletDelimiter$$);
11689
11941
  }
11690
- 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) {
11942
+ 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) {
11691
11943
  const [bullet, ws] = $1;
11692
11944
  const indent = {
11693
11945
  token: " " + ws,
@@ -11903,7 +12155,7 @@ var PropertyDefinition$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_l
11903
12155
  var prop = $2;
11904
12156
  return prepend(ws, prop);
11905
12157
  });
11906
- 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) {
12158
+ 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) {
11907
12159
  var ws = $1;
11908
12160
  var toggle = $2;
11909
12161
  var id = $3;
@@ -12054,7 +12306,7 @@ function SnugNamedProperty(ctx, state2) {
12054
12306
  var PropertyName$0 = NumericLiteral;
12055
12307
  var PropertyName$1 = ComputedPropertyName;
12056
12308
  var PropertyName$2 = StringLiteral;
12057
- 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) {
12309
+ 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) {
12058
12310
  return {
12059
12311
  token: `"${$1}"`,
12060
12312
  $loc
@@ -12453,7 +12705,7 @@ var AssignmentOpSymbol$22 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L71, '
12453
12705
  var AssignmentOpSymbol$23 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
12454
12706
  return "??=";
12455
12707
  });
12456
- 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) {
12708
+ 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) {
12457
12709
  return value[0];
12458
12710
  });
12459
12711
  var AssignmentOpSymbol$25 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeWordAssignmentOp), function(value) {
@@ -12506,7 +12758,7 @@ var IdentifierBinaryOp$0 = (0, import_lib4.$TV)(Identifier, function($skip, $loc
12506
12758
  function IdentifierBinaryOp(ctx, state2) {
12507
12759
  return (0, import_lib4.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
12508
12760
  }
12509
- 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) {
12761
+ 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) {
12510
12762
  var op = value[1];
12511
12763
  return op;
12512
12764
  });
@@ -12651,7 +12903,7 @@ var BinaryOpSymbol$35 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4
12651
12903
  prec: "^^"
12652
12904
  };
12653
12905
  });
12654
- 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) {
12906
+ 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) {
12655
12907
  return {
12656
12908
  call: getHelperRef("xnor"),
12657
12909
  special: true,
@@ -12815,24 +13067,24 @@ var Xor$$ = [Xor$0, Xor$1];
12815
13067
  function Xor(ctx, state2) {
12816
13068
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xor", Xor$$);
12817
13069
  }
12818
- var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R26, "Xnor /!\\^\\^?/"));
13070
+ var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R27, "Xnor /!\\^\\^?/"));
12819
13071
  var Xnor$1 = (0, import_lib4.$EXPECT)($L109, 'Xnor "xnor"');
12820
13072
  var Xnor$$ = [Xnor$0, Xnor$1];
12821
13073
  function Xnor(ctx, state2) {
12822
13074
  return (0, import_lib4.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
12823
13075
  }
12824
- 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) {
13076
+ 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) {
12825
13077
  return { $loc, token: $0 };
12826
13078
  });
12827
13079
  var UnaryOp$1 = AwaitOp;
12828
- 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) {
13080
+ 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) {
12829
13081
  var op = $1;
12830
13082
  var ws = $3;
12831
13083
  if (!ws)
12832
13084
  return [op, [" "]];
12833
13085
  return [op, ws];
12834
13086
  });
12835
- 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) {
13087
+ 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) {
12836
13088
  return [value[0], value[3]];
12837
13089
  });
12838
13090
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -12919,7 +13171,7 @@ var PostfixedCommaExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Postfi
12919
13171
  function PostfixedCommaExpression(ctx, state2) {
12920
13172
  return (0, import_lib4.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
12921
13173
  }
12922
- 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) {
13174
+ 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) {
12923
13175
  return value[1];
12924
13176
  });
12925
13177
  function PostfixStatement(ctx, state2) {
@@ -12959,7 +13211,9 @@ function Statement(ctx, state2) {
12959
13211
  }
12960
13212
  var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
12961
13213
  var ShouldExpressionize$1 = (0, import_lib4.$S)(NotDedented, Pipe);
12962
- var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1];
13214
+ var ShouldExpressionize$2 = BinaryOpRHS;
13215
+ var ShouldExpressionize$3 = UnaryPostfix;
13216
+ var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1, ShouldExpressionize$2, ShouldExpressionize$3];
12963
13217
  function ShouldExpressionize(ctx, state2) {
12964
13218
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
12965
13219
  }
@@ -13110,7 +13364,7 @@ var IfClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(If
13110
13364
  function IfClause(ctx, state2) {
13111
13365
  return (0, import_lib4.$EVENT)(ctx, state2, "IfClause", IfClause$0);
13112
13366
  }
13113
- 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) {
13367
+ 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) {
13114
13368
  return value[1];
13115
13369
  });
13116
13370
  function IterationStatement(ctx, state2) {
@@ -14550,7 +14804,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
14550
14804
  function UnprocessedModuleSpecifier(ctx, state2) {
14551
14805
  return (0, import_lib4.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
14552
14806
  }
14553
- var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R31, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
14807
+ var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
14554
14808
  var spec = $0;
14555
14809
  return { $loc, token: `"${spec}"` };
14556
14810
  });
@@ -14810,7 +15064,7 @@ var VariableDeclarationList$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Lexical
14810
15064
  function VariableDeclarationList(ctx, state2) {
14811
15065
  return (0, import_lib4.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
14812
15066
  }
14813
- 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) {
15067
+ 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) {
14814
15068
  var token = $2;
14815
15069
  return { type: "NumericLiteral", $loc, token };
14816
15070
  });
@@ -14826,36 +15080,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
14826
15080
  function NumericLiteralKind(ctx, state2) {
14827
15081
  return (0, import_lib4.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
14828
15082
  }
14829
- var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R33, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
15083
+ var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
14830
15084
  function DecimalBigIntegerLiteral(ctx, state2) {
14831
15085
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
14832
15086
  }
14833
- 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) {
15087
+ 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) {
14834
15088
  return $1 + ".";
14835
15089
  });
14836
- 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)));
14837
- 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)));
15090
+ 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)));
15091
+ 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)));
14838
15092
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
14839
15093
  function DecimalLiteral(ctx, state2) {
14840
15094
  return (0, import_lib4.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
14841
15095
  }
14842
- var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R37, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
15096
+ var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
14843
15097
  function ExponentPart(ctx, state2) {
14844
15098
  return (0, import_lib4.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
14845
15099
  }
14846
- var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
15100
+ var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
14847
15101
  function BinaryIntegerLiteral(ctx, state2) {
14848
15102
  return (0, import_lib4.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
14849
15103
  }
14850
- var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
15104
+ var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
14851
15105
  function OctalIntegerLiteral(ctx, state2) {
14852
15106
  return (0, import_lib4.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
14853
15107
  }
14854
- 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?/"));
15108
+ 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?/"));
14855
15109
  function HexIntegerLiteral(ctx, state2) {
14856
15110
  return (0, import_lib4.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
14857
15111
  }
14858
- 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) {
15112
+ 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) {
14859
15113
  var token = $2;
14860
15114
  return { $loc, token };
14861
15115
  });
@@ -14871,7 +15125,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
14871
15125
  function IntegerLiteralKind(ctx, state2) {
14872
15126
  return (0, import_lib4.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
14873
15127
  }
14874
- var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R42, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
15128
+ var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
14875
15129
  function DecimalIntegerLiteral(ctx, state2) {
14876
15130
  return (0, import_lib4.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
14877
15131
  }
@@ -14895,25 +15149,25 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
14895
15149
  function StringLiteral(ctx, state2) {
14896
15150
  return (0, import_lib4.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
14897
15151
  }
14898
- 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) {
15152
+ 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) {
14899
15153
  return { $loc, token: $0 };
14900
15154
  });
14901
15155
  function DoubleStringCharacters(ctx, state2) {
14902
15156
  return (0, import_lib4.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
14903
15157
  }
14904
- 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) {
15158
+ 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) {
14905
15159
  return { $loc, token: $0 };
14906
15160
  });
14907
15161
  function SingleStringCharacters(ctx, state2) {
14908
15162
  return (0, import_lib4.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
14909
15163
  }
14910
- 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) {
15164
+ 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) {
14911
15165
  return { $loc, token: $0 };
14912
15166
  });
14913
15167
  function TripleDoubleStringCharacters(ctx, state2) {
14914
15168
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
14915
15169
  }
14916
- 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) {
15170
+ 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) {
14917
15171
  return { $loc, token: $0 };
14918
15172
  });
14919
15173
  function TripleSingleStringCharacters(ctx, state2) {
@@ -14936,7 +15190,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib4.$TS)((0, import_lib
14936
15190
  function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
14937
15191
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
14938
15192
  }
14939
- 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) {
15193
+ 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) {
14940
15194
  return { $loc, token: $0 };
14941
15195
  });
14942
15196
  function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
@@ -14956,7 +15210,7 @@ var RegularExpressionClass$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, i
14956
15210
  function RegularExpressionClass(ctx, state2) {
14957
15211
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
14958
15212
  }
14959
- 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) {
15213
+ 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) {
14960
15214
  return { $loc, token: $0 };
14961
15215
  });
14962
15216
  function RegularExpressionClassCharacters(ctx, state2) {
@@ -15013,7 +15267,7 @@ var HeregexPart$1 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeStringSubstitu
15013
15267
  var HeregexPart$2 = (0, import_lib4.$T)((0, import_lib4.$S)(TemplateSubstitution), function(value) {
15014
15268
  return { "type": "Substitution", "children": value[0] };
15015
15269
  });
15016
- 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) {
15270
+ 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) {
15017
15271
  let token = $0;
15018
15272
  switch ($0[1]) {
15019
15273
  case "\n":
@@ -15031,13 +15285,13 @@ var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R49, "Heregex
15031
15285
  var HeregexPart$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(HeregexComment), function($skip, $loc, $0, $1) {
15032
15286
  return { $loc, token: "" };
15033
15287
  });
15034
- 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) {
15288
+ 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) {
15035
15289
  return { $loc, token: "" };
15036
15290
  });
15037
- 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) {
15291
+ 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) {
15038
15292
  return { $loc, token: "\\/" };
15039
15293
  });
15040
- 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) {
15294
+ 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) {
15041
15295
  return { $loc, token: $0 };
15042
15296
  });
15043
15297
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -15050,7 +15304,7 @@ var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
15050
15304
  function HeregexComment(ctx, state2) {
15051
15305
  return (0, import_lib4.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
15052
15306
  }
15053
- 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));
15307
+ 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));
15054
15308
  function RegularExpressionBody(ctx, state2) {
15055
15309
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
15056
15310
  }
@@ -15060,15 +15314,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
15060
15314
  function RegExpPart(ctx, state2) {
15061
15315
  return (0, import_lib4.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
15062
15316
  }
15063
- var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R54, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
15317
+ var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
15064
15318
  function RegExpCharacter(ctx, state2) {
15065
15319
  return (0, import_lib4.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
15066
15320
  }
15067
- var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
15321
+ var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
15068
15322
  function RegularExpressionFlags(ctx, state2) {
15069
15323
  return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
15070
15324
  }
15071
- var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R56, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
15325
+ var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
15072
15326
  return value[1];
15073
15327
  });
15074
15328
  function TemplateLiteral(ctx, state2) {
@@ -15108,28 +15362,28 @@ var TemplateSubstitution$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Substituti
15108
15362
  function TemplateSubstitution(ctx, state2) {
15109
15363
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
15110
15364
  }
15111
- 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) {
15365
+ 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) {
15112
15366
  return { $loc, token: $0 };
15113
15367
  });
15114
15368
  function TemplateCharacters(ctx, state2) {
15115
15369
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
15116
15370
  }
15117
- 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) {
15371
+ 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) {
15118
15372
  return { $loc, token: $0 };
15119
15373
  });
15120
15374
  function TemplateBlockCharacters(ctx, state2) {
15121
15375
  return (0, import_lib4.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
15122
15376
  }
15123
- 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);
15124
- var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R60, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
15125
- var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
15126
- var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
15127
- 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})/"));
15377
+ 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);
15378
+ var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
15379
+ var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
15380
+ var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
15381
+ 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})/"));
15128
15382
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
15129
15383
  function ReservedWord(ctx, state2) {
15130
15384
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
15131
15385
  }
15132
- var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R64, "Comment /(?=\\/|#)/"), _Comment), function(value) {
15386
+ var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
15133
15387
  return value[1];
15134
15388
  });
15135
15389
  function Comment(ctx, state2) {
@@ -15147,7 +15401,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
15147
15401
  function SingleLineComment(ctx, state2) {
15148
15402
  return (0, import_lib4.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
15149
15403
  }
15150
- 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) {
15404
+ 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) {
15151
15405
  return { type: "Comment", $loc, token: $0 };
15152
15406
  });
15153
15407
  function JSSingleLineComment(ctx, state2) {
@@ -15159,30 +15413,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
15159
15413
  function MultiLineComment(ctx, state2) {
15160
15414
  return (0, import_lib4.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
15161
15415
  }
15162
- 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) {
15416
+ 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) {
15163
15417
  return { type: "Comment", $loc, token: $1 };
15164
15418
  });
15165
15419
  function JSMultiLineComment(ctx, state2) {
15166
15420
  return (0, import_lib4.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
15167
15421
  }
15168
- 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) {
15422
+ 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) {
15169
15423
  return { type: "Comment", $loc, token: `//${$1}` };
15170
15424
  });
15171
15425
  function CoffeeSingleLineComment(ctx, state2) {
15172
15426
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
15173
15427
  }
15174
- 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) {
15428
+ 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) {
15175
15429
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
15176
15430
  return { type: "Comment", $loc, token: `/*${$2}*/` };
15177
15431
  });
15178
15432
  function CoffeeMultiLineComment(ctx, state2) {
15179
15433
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
15180
15434
  }
15181
- var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R69, "CoffeeHereCommentStart /###(?!#)/"));
15435
+ var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
15182
15436
  function CoffeeHereCommentStart(ctx, state2) {
15183
15437
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
15184
15438
  }
15185
- 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) {
15439
+ 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) {
15186
15440
  return { $loc, token: $0 };
15187
15441
  });
15188
15442
  function InlineComment(ctx, state2) {
@@ -15196,13 +15450,13 @@ var TrailingComment$0 = (0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_l
15196
15450
  function TrailingComment(ctx, state2) {
15197
15451
  return (0, import_lib4.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
15198
15452
  }
15199
- 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) {
15453
+ 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) {
15200
15454
  return value[1];
15201
15455
  });
15202
15456
  function _(ctx, state2) {
15203
15457
  return (0, import_lib4.$EVENT)(ctx, state2, "_", _$0);
15204
15458
  }
15205
- 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) {
15459
+ 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) {
15206
15460
  return { $loc, token: $0 };
15207
15461
  });
15208
15462
  var NonNewlineWhitespace$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L132, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
@@ -15219,7 +15473,7 @@ var Trimmed_$0 = (0, import_lib4.$TV)(_, function($skip, $loc, $0, $1) {
15219
15473
  function Trimmed_(ctx, state2) {
15220
15474
  return (0, import_lib4.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
15221
15475
  }
15222
- 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) {
15476
+ 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) {
15223
15477
  return value[1];
15224
15478
  });
15225
15479
  var __$1 = (0, import_lib4.$EXPECT)($L0, '__ ""');
@@ -15227,7 +15481,7 @@ var __$$ = [__$0, __$1];
15227
15481
  function __(ctx, state2) {
15228
15482
  return (0, import_lib4.$EVENT_C)(ctx, state2, "__", __$$);
15229
15483
  }
15230
- 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) {
15484
+ 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) {
15231
15485
  return { $loc, token: $0 };
15232
15486
  });
15233
15487
  function Whitespace(ctx, state2) {
@@ -15265,7 +15519,7 @@ var SemicolonDelimiter$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_l
15265
15519
  function SemicolonDelimiter(ctx, state2) {
15266
15520
  return (0, import_lib4.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
15267
15521
  }
15268
- var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R73, "NonIdContinue /(?!\\p{ID_Continue})/"));
15522
+ var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
15269
15523
  function NonIdContinue(ctx, state2) {
15270
15524
  return (0, import_lib4.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
15271
15525
  }
@@ -15383,7 +15637,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L
15383
15637
  function CoffeeSubstitutionStart(ctx, state2) {
15384
15638
  return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
15385
15639
  }
15386
- 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) {
15640
+ 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) {
15387
15641
  return { $loc, token: $1 };
15388
15642
  });
15389
15643
  function Colon(ctx, state2) {
@@ -15434,7 +15688,7 @@ function Do(ctx, state2) {
15434
15688
  var Dot$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
15435
15689
  return { $loc, token: $1 };
15436
15690
  });
15437
- 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) {
15691
+ 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) {
15438
15692
  var ws = $2;
15439
15693
  return [
15440
15694
  { $loc, token: "." },
@@ -15561,7 +15815,7 @@ var If$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, i
15561
15815
  function If(ctx, state2) {
15562
15816
  return (0, import_lib4.$EVENT)(ctx, state2, "If", If$0);
15563
15817
  }
15564
- 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) {
15818
+ 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) {
15565
15819
  return { $loc, token: $1 };
15566
15820
  });
15567
15821
  function Import(ctx, state2) {
@@ -15919,7 +16173,7 @@ var JSXImplicitFragment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(JSXTag, (0,
15919
16173
  function JSXImplicitFragment(ctx, state2) {
15920
16174
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
15921
16175
  }
15922
- var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R77, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
16176
+ var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
15923
16177
  return value[1];
15924
16178
  });
15925
16179
  function JSXTag(ctx, state2) {
@@ -16066,7 +16320,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
16066
16320
  function JSXElementName(ctx, state2) {
16067
16321
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
16068
16322
  }
16069
- var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R78, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
16323
+ var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
16070
16324
  function JSXIdentifierName(ctx, state2) {
16071
16325
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
16072
16326
  }
@@ -16245,7 +16499,7 @@ var JSXAttribute$6 = (0, import_lib4.$TS)((0, import_lib4.$S)(Dot, JSXShorthandS
16245
16499
  class: $2
16246
16500
  };
16247
16501
  });
16248
- 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) {
16502
+ 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) {
16249
16503
  var toggle = $1;
16250
16504
  var id = $2;
16251
16505
  const value = toggle === "+" ? "true" : "false";
@@ -16255,11 +16509,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
16255
16509
  function JSXAttribute(ctx, state2) {
16256
16510
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
16257
16511
  }
16258
- var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R80, "JSXAttributeSpace /[\\s>]|\\/>/"));
16512
+ var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
16259
16513
  function JSXAttributeSpace(ctx, state2) {
16260
16514
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
16261
16515
  }
16262
- 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) {
16516
+ 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) {
16263
16517
  return quoteString($0);
16264
16518
  });
16265
16519
  var JSXShorthandString$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -16306,7 +16560,7 @@ var JSXAttributeValue$3 = (0, import_lib4.$TS)((0, import_lib4.$S)(InsertInlineO
16306
16560
  }
16307
16561
  return [open, value, close];
16308
16562
  });
16309
- var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R82, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
16563
+ var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
16310
16564
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
16311
16565
  function JSXAttributeValue(ctx, state2) {
16312
16566
  return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
@@ -16319,7 +16573,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(InlineJ
16319
16573
  function InlineJSXAttributeValue(ctx, state2) {
16320
16574
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
16321
16575
  }
16322
- 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) {
16576
+ 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) {
16323
16577
  var op = $2;
16324
16578
  var rhs = $3;
16325
16579
  return [[], op, [], rhs];
@@ -16336,7 +16590,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, im
16336
16590
  function InlineJSXUnaryExpression(ctx, state2) {
16337
16591
  return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
16338
16592
  }
16339
- 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) {
16593
+ 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) {
16340
16594
  return { $loc, token: $0 };
16341
16595
  });
16342
16596
  function InlineJSXUnaryOp(ctx, state2) {
@@ -16587,13 +16841,13 @@ var JSXComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXP
16587
16841
  function JSXComment(ctx, state2) {
16588
16842
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
16589
16843
  }
16590
- 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) {
16844
+ 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) {
16591
16845
  return { $loc, token: $0.replace(/\*\//g, "* /") };
16592
16846
  });
16593
16847
  function JSXCommentContent(ctx, state2) {
16594
16848
  return (0, import_lib4.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
16595
16849
  }
16596
- 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) {
16850
+ 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) {
16597
16851
  return {
16598
16852
  type: "JSXText",
16599
16853
  token: $0,
@@ -17127,7 +17381,7 @@ var TypeProperty$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)
17127
17381
  function TypeProperty(ctx, state2) {
17128
17382
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
17129
17383
  }
17130
- 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)))));
17384
+ 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)))));
17131
17385
  function TypeIndexSignature(ctx, state2) {
17132
17386
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
17133
17387
  }
@@ -17609,7 +17863,7 @@ var TypeWithPostfix$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(TypeConditional
17609
17863
  function TypeWithPostfix(ctx, state2) {
17610
17864
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
17611
17865
  }
17612
- 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) {
17866
+ 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) {
17613
17867
  return prepend($1, expressionizeTypeIf($3));
17614
17868
  });
17615
17869
  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) {
@@ -17811,8 +18065,8 @@ function TypeApplicationStart(ctx, state2) {
17811
18065
  return (0, import_lib4.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
17812
18066
  }
17813
18067
  var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
17814
- var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R89, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
17815
- var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
18068
+ var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
18069
+ var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
17816
18070
  var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
17817
18071
  function ForbiddenImplicitTypeCalls(ctx, state2) {
17818
18072
  return (0, import_lib4.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
@@ -17895,7 +18149,7 @@ var TypeParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenAngleBracket
17895
18149
  function TypeParameters(ctx, state2) {
17896
18150
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
17897
18151
  }
17898
- 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);
18152
+ 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);
17899
18153
  function TypeParameter(ctx, state2) {
17900
18154
  return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
17901
18155
  }
@@ -17922,15 +18176,15 @@ var ThisType$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$E)(_),
17922
18176
  function ThisType(ctx, state2) {
17923
18177
  return (0, import_lib4.$EVENT)(ctx, state2, "ThisType", ThisType$0);
17924
18178
  }
17925
- var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R92, "Shebang /#![^\\r\\n]*/")), EOL);
18179
+ var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R93, "Shebang /#![^\\r\\n]*/")), EOL);
17926
18180
  function Shebang(ctx, state2) {
17927
18181
  return (0, import_lib4.$EVENT)(ctx, state2, "Shebang", Shebang$0);
17928
18182
  }
17929
- 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) {
18183
+ 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) {
17930
18184
  var content = value[2];
17931
18185
  return content;
17932
18186
  });
17933
- 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) {
18187
+ 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) {
17934
18188
  var content = value[2];
17935
18189
  return content;
17936
18190
  });
@@ -17938,7 +18192,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
17938
18192
  function CivetPrologue(ctx, state2) {
17939
18193
  return (0, import_lib4.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
17940
18194
  }
17941
- 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) {
18195
+ 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) {
17942
18196
  var options = $3;
17943
18197
  return {
17944
18198
  type: "CivetPrologue",
@@ -17949,7 +18203,7 @@ var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import
17949
18203
  function CivetPrologueContent(ctx, state2) {
17950
18204
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
17951
18205
  }
17952
- 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) {
18206
+ 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) {
17953
18207
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
17954
18208
  if (l)
17955
18209
  return l.toUpperCase();
@@ -17971,11 +18225,11 @@ var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R95, "CivetOp
17971
18225
  function CivetOption(ctx, state2) {
17972
18226
  return (0, import_lib4.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
17973
18227
  }
17974
- 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);
18228
+ 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);
17975
18229
  function UnknownPrologue(ctx, state2) {
17976
18230
  return (0, import_lib4.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
17977
18231
  }
17978
- 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));
18232
+ 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));
17979
18233
  function TripleSlashDirective(ctx, state2) {
17980
18234
  return (0, import_lib4.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
17981
18235
  }
@@ -17991,13 +18245,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
17991
18245
  function PrologueString(ctx, state2) {
17992
18246
  return (0, import_lib4.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
17993
18247
  }
17994
- 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) {
18248
+ 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) {
17995
18249
  return value[1];
17996
18250
  });
17997
18251
  function EOS(ctx, state2) {
17998
18252
  return (0, import_lib4.$EVENT)(ctx, state2, "EOS", EOS$0);
17999
18253
  }
18000
- 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) {
18254
+ 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) {
18001
18255
  return { $loc, token: $0 };
18002
18256
  });
18003
18257
  function EOL(ctx, state2) {
@@ -18406,11 +18660,11 @@ var Prologue$0 = (0, import_lib4.$Q)((0, import_lib4.$C)(TripleSlashDirective, (
18406
18660
  function Prologue(ctx, state2) {
18407
18661
  return (0, import_lib4.$EVENT)(ctx, state2, "Prologue", Prologue$0);
18408
18662
  }
18409
- var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R99, "ProloguePrefix /[^]*/")));
18663
+ var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R100, "ProloguePrefix /[^]*/")));
18410
18664
  function ProloguePrefix(ctx, state2) {
18411
18665
  return (0, import_lib4.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
18412
18666
  }
18413
- 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) {
18667
+ 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) {
18414
18668
  const level = getIndentLevel($0, config.tab);
18415
18669
  return {
18416
18670
  $loc,