solve-engine 1.0.0-beta.2 → 1.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/{Lexer-BJdhlnej.d.cts → Lexer-Dkt7KGaU.d.ts} +18 -2
  2. package/dist/{Lexer-D9l4Yrk2.d.ts → Lexer-y8uY6n6t.d.cts} +18 -2
  3. package/dist/{PackageRegistry-D-Tv_7ca.d.cts → PackageRegistry-CblRmrHc.d.cts} +60 -4
  4. package/dist/{PackageRegistry-DaH4aIKP.d.ts → PackageRegistry-wUQyVEyw.d.ts} +60 -4
  5. package/dist/{Parselet-CK8cQu2a.d.cts → Parselet-C974vhZG.d.cts} +1 -1
  6. package/dist/{Parselet-ConOIdRO.d.ts → Parselet-CsmtM3It.d.ts} +1 -1
  7. package/dist/{Token-0jpvUdPY.d.cts → Token-DnU2hwFY.d.cts} +14 -0
  8. package/dist/{Token-0jpvUdPY.d.ts → Token-DnU2hwFY.d.ts} +14 -0
  9. package/dist/TokenNormalizer-B8zmhO5X.d.ts +377 -0
  10. package/dist/TokenNormalizer-CqBCrYkR.d.cts +377 -0
  11. package/dist/{chunk-M5LX5AOO.js → chunk-23MFG6GG.js} +21 -8
  12. package/dist/chunk-23MFG6GG.js.map +1 -0
  13. package/dist/{chunk-SDGRK7EP.js → chunk-2A3VOGVG.js} +4 -4
  14. package/dist/{chunk-SDGRK7EP.js.map → chunk-2A3VOGVG.js.map} +1 -1
  15. package/dist/{chunk-NMD5VRN4.cjs → chunk-2R7SVDDB.cjs} +68 -67
  16. package/dist/chunk-2R7SVDDB.cjs.map +1 -0
  17. package/dist/{chunk-RIN643A3.js → chunk-626UW5RU.js} +2 -2
  18. package/dist/chunk-626UW5RU.js.map +1 -0
  19. package/dist/{chunk-CLL7RUQV.cjs → chunk-7J2Q77OH.cjs} +34 -13
  20. package/dist/chunk-7J2Q77OH.cjs.map +1 -0
  21. package/dist/{chunk-HWSZJQCI.js → chunk-AF5AE52C.js} +33 -12
  22. package/dist/chunk-AF5AE52C.js.map +1 -0
  23. package/dist/{chunk-RZCWSXTA.cjs → chunk-BOAVE4FC.cjs} +129 -129
  24. package/dist/{chunk-RZCWSXTA.cjs.map → chunk-BOAVE4FC.cjs.map} +1 -1
  25. package/dist/{chunk-EBSPLUW4.cjs → chunk-CGIDYRAX.cjs} +19 -9
  26. package/dist/chunk-CGIDYRAX.cjs.map +1 -0
  27. package/dist/{chunk-C4XZV6E7.cjs → chunk-EEJSQEHC.cjs} +20 -20
  28. package/dist/{chunk-C4XZV6E7.cjs.map → chunk-EEJSQEHC.cjs.map} +1 -1
  29. package/dist/{chunk-LR7YASZF.cjs → chunk-F7G7ZFIZ.cjs} +3 -3
  30. package/dist/chunk-F7G7ZFIZ.cjs.map +1 -0
  31. package/dist/{chunk-GW32KPCU.cjs → chunk-FI4WDYSL.cjs} +2 -2
  32. package/dist/chunk-FI4WDYSL.cjs.map +1 -0
  33. package/dist/{chunk-EIGTWK5N.js → chunk-KFRBAXKW.js} +3 -3
  34. package/dist/chunk-KFRBAXKW.js.map +1 -0
  35. package/dist/{chunk-64W6GLLZ.js → chunk-OJ6LW7VQ.js} +15 -5
  36. package/dist/chunk-OJ6LW7VQ.js.map +1 -0
  37. package/dist/{chunk-3PPFLFH4.js → chunk-OWXIOHQB.js} +6 -6
  38. package/dist/{chunk-3PPFLFH4.js.map → chunk-OWXIOHQB.js.map} +1 -1
  39. package/dist/{chunk-JBSYC7BB.cjs → chunk-PG2K5BL6.cjs} +41 -28
  40. package/dist/chunk-PG2K5BL6.cjs.map +1 -0
  41. package/dist/{chunk-XVWCOTR6.js → chunk-VM5ZKDLH.js} +5 -4
  42. package/dist/chunk-VM5ZKDLH.js.map +1 -0
  43. package/dist/{chunk-NMCRQP3Z.cjs → chunk-ZH2PCJ4V.cjs} +68 -68
  44. package/dist/{chunk-NMCRQP3Z.cjs.map → chunk-ZH2PCJ4V.cjs.map} +1 -1
  45. package/dist/{chunk-5YEMOYSE.js → chunk-ZS6CRJZP.js} +3 -3
  46. package/dist/{chunk-5YEMOYSE.js.map → chunk-ZS6CRJZP.js.map} +1 -1
  47. package/dist/constants.cjs +4 -4
  48. package/dist/constants.js +1 -1
  49. package/dist/engine.cjs +19 -19
  50. package/dist/engine.d.cts +6 -6
  51. package/dist/engine.d.ts +6 -6
  52. package/dist/engine.js +9 -9
  53. package/dist/index.cjs +18 -18
  54. package/dist/index.d.cts +6 -6
  55. package/dist/index.d.ts +6 -6
  56. package/dist/index.js +10 -10
  57. package/dist/language.cjs +63 -1
  58. package/dist/language.cjs.map +1 -1
  59. package/dist/language.d.cts +6 -6
  60. package/dist/language.d.ts +6 -6
  61. package/dist/language.js +63 -1
  62. package/dist/language.js.map +1 -1
  63. package/dist/lexer.cjs +14 -14
  64. package/dist/lexer.d.cts +3 -3
  65. package/dist/lexer.d.ts +3 -3
  66. package/dist/lexer.js +3 -3
  67. package/dist/normalizer.cjs +9 -9
  68. package/dist/normalizer.d.cts +4 -210
  69. package/dist/normalizer.d.ts +4 -210
  70. package/dist/normalizer.js +3 -3
  71. package/dist/packages.cjs +28 -28
  72. package/dist/packages.d.cts +5 -5
  73. package/dist/packages.d.ts +5 -5
  74. package/dist/packages.js +5 -5
  75. package/dist/parser.cjs +11 -11
  76. package/dist/parser.d.cts +2 -2
  77. package/dist/parser.d.ts +2 -2
  78. package/dist/parser.js +3 -3
  79. package/dist/resolvers.d.cts +1 -1
  80. package/dist/resolvers.d.ts +1 -1
  81. package/dist/uom.d.cts +1 -1
  82. package/dist/uom.d.ts +1 -1
  83. package/package.json +2 -1
  84. package/dist/NormalizerRule-BrVoVjmP.d.cts +0 -163
  85. package/dist/NormalizerRule-CEjf1FyD.d.ts +0 -163
  86. package/dist/chunk-64W6GLLZ.js.map +0 -1
  87. package/dist/chunk-CLL7RUQV.cjs.map +0 -1
  88. package/dist/chunk-EBSPLUW4.cjs.map +0 -1
  89. package/dist/chunk-EIGTWK5N.js.map +0 -1
  90. package/dist/chunk-GW32KPCU.cjs.map +0 -1
  91. package/dist/chunk-HWSZJQCI.js.map +0 -1
  92. package/dist/chunk-JBSYC7BB.cjs.map +0 -1
  93. package/dist/chunk-LR7YASZF.cjs.map +0 -1
  94. package/dist/chunk-M5LX5AOO.js.map +0 -1
  95. package/dist/chunk-NMD5VRN4.cjs.map +0 -1
  96. package/dist/chunk-RIN643A3.js.map +0 -1
  97. package/dist/chunk-XVWCOTR6.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkC4XZV6E7_cjs = require('./chunk-C4XZV6E7.cjs');
4
- var chunkEBSPLUW4_cjs = require('./chunk-EBSPLUW4.cjs');
3
+ var chunkEEJSQEHC_cjs = require('./chunk-EEJSQEHC.cjs');
4
+ var chunkCGIDYRAX_cjs = require('./chunk-CGIDYRAX.cjs');
5
5
  var chunkN5YFR4UP_cjs = require('./chunk-N5YFR4UP.cjs');
6
6
  var chunkWQTTOGXC_cjs = require('./chunk-WQTTOGXC.cjs');
7
7
  var chunkZ2XP767T_cjs = require('./chunk-Z2XP767T.cjs');
@@ -10,8 +10,8 @@ var chunkVEKIWQ3F_cjs = require('./chunk-VEKIWQ3F.cjs');
10
10
  var chunkOT6OJY7C_cjs = require('./chunk-OT6OJY7C.cjs');
11
11
  var chunkOC6LTXYS_cjs = require('./chunk-OC6LTXYS.cjs');
12
12
  var chunkQNJ4ACRT_cjs = require('./chunk-QNJ4ACRT.cjs');
13
- var chunkNMD5VRN4_cjs = require('./chunk-NMD5VRN4.cjs');
14
- var chunkGW32KPCU_cjs = require('./chunk-GW32KPCU.cjs');
13
+ var chunk2R7SVDDB_cjs = require('./chunk-2R7SVDDB.cjs');
14
+ var chunkFI4WDYSL_cjs = require('./chunk-FI4WDYSL.cjs');
15
15
  var chunk3YNVWKR2_cjs = require('./chunk-3YNVWKR2.cjs');
16
16
  var chunkEHAHVROS_cjs = require('./chunk-EHAHVROS.cjs');
17
17
  var chunkM4N5GA5Z_cjs = require('./chunk-M4N5GA5Z.cjs');
@@ -155,7 +155,7 @@ function largeNumberSuffixNormalizerRule(priority = 65) {
155
155
  const scaled = scaleDecimalString(numberToken.text, magnitude);
156
156
  return {
157
157
  consumed: 2,
158
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("NUMBER", scaled, tokens.slice(pos, pos + 2))],
158
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("NUMBER", scaled, tokens.slice(pos, pos + 2))],
159
159
  ruleName: "arithmetic:large-number-suffix"
160
160
  };
161
161
  }
@@ -178,21 +178,21 @@ var ARITHMETIC_PACKAGE = {
178
178
  { tokenType: "BIT_NOT", parselet: new PrefixOpParselet(36 /* BIT_NOT */) }
179
179
  ],
180
180
  infixParselets: [
181
- { tokenType: "PLUS", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 20 /* ADD */) },
182
- { tokenType: "MINUS", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 21 /* SUB */) },
183
- { tokenType: "STAR", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 22 /* MUL */) },
184
- { tokenType: "SLASH", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 23 /* DIV */) },
185
- { tokenType: "MOD", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 24 /* MOD */) },
186
- { tokenType: "CARET", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Exponent, 25 /* EXP */) },
187
- { tokenType: "TIMES_BY", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 22 /* MUL */) },
188
- { tokenType: "MULTIPLY_BY", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 22 /* MUL */) },
189
- { tokenType: "DIVIDE_BY", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 23 /* DIV */) },
190
- { tokenType: "LSHIFT", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 30 /* LSHIFT */) },
191
- { tokenType: "RSHIFT", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 31 /* RSHIFT */) },
192
- { tokenType: "URSHIFT", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 32 /* URSHIFT */) },
193
- { tokenType: "BIT_AND", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Product, 33 /* BIT_AND */) },
194
- { tokenType: "BIT_OR", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.Sum, 34 /* BIT_OR */) },
195
- { tokenType: "BIT_XOR", parselet: new BinaryOpParselet(chunkC4XZV6E7_cjs.BindingPower.BitwiseXor, 35 /* BIT_XOR */) }
181
+ { tokenType: "PLUS", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 20 /* ADD */) },
182
+ { tokenType: "MINUS", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 21 /* SUB */) },
183
+ { tokenType: "STAR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
184
+ { tokenType: "SLASH", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 23 /* DIV */) },
185
+ { tokenType: "MOD", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 24 /* MOD */) },
186
+ { tokenType: "CARET", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Exponent, 25 /* EXP */) },
187
+ { tokenType: "TIMES_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
188
+ { tokenType: "MULTIPLY_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 22 /* MUL */) },
189
+ { tokenType: "DIVIDE_BY", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 23 /* DIV */) },
190
+ { tokenType: "LSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 30 /* LSHIFT */) },
191
+ { tokenType: "RSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 31 /* RSHIFT */) },
192
+ { tokenType: "URSHIFT", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 32 /* URSHIFT */) },
193
+ { tokenType: "BIT_AND", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Product, 33 /* BIT_AND */) },
194
+ { tokenType: "BIT_OR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.Sum, 34 /* BIT_OR */) },
195
+ { tokenType: "BIT_XOR", parselet: new BinaryOpParselet(chunkEEJSQEHC_cjs.BindingPower.BitwiseXor, 35 /* BIT_XOR */) }
196
196
  ],
197
197
  normalizerRules: [largeNumberSuffixNormalizerRule()]
198
198
  };
@@ -201,7 +201,7 @@ var ARITHMETIC_PACKAGE = {
201
201
  var PercentParselet = class {
202
202
  constructor() {
203
203
  this.category = "Percentage";
204
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Prefix;
204
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Prefix;
205
205
  }
206
206
  parse(parser, left, token, builder) {
207
207
  builder.emitOpcode(10 /* PUSH_NUMBER */);
@@ -214,7 +214,7 @@ var PercentParselet = class {
214
214
  var OfParselet = class {
215
215
  constructor() {
216
216
  this.category = "Percentage";
217
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Product;
217
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
218
218
  }
219
219
  parse(parser, left, token, builder) {
220
220
  parser.parseExpression(this.bindingPower, builder);
@@ -226,7 +226,7 @@ var OfParselet = class {
226
226
  var OfWhatIsParselet = class {
227
227
  constructor() {
228
228
  this.category = "Percentage";
229
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Product;
229
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
230
230
  }
231
231
  parse(parser, left, token, builder) {
232
232
  parser.parseExpression(this.bindingPower, builder);
@@ -240,7 +240,7 @@ var OnOffWhatIsParselet = class {
240
240
  constructor(sign) {
241
241
  this.sign = sign;
242
242
  this.category = "Percentage";
243
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Product;
243
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Product;
244
244
  }
245
245
  parse(parser, left, token, builder) {
246
246
  builder.emitOpcode(10 /* PUSH_NUMBER */);
@@ -283,7 +283,7 @@ var IncreaseByParselet = class {
283
283
  constructor(multiplier) {
284
284
  this.multiplier = multiplier;
285
285
  this.category = "Percentage";
286
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
286
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
287
287
  }
288
288
  parse(parser, left, token, builder) {
289
289
  parser.parseExpression(this.bindingPower, builder);
@@ -299,7 +299,7 @@ var IncreaseByParselet = class {
299
299
  var PercentageChangeParselet = class {
300
300
  constructor() {
301
301
  this.category = "Percentage";
302
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
302
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
303
303
  }
304
304
  parse(parser, left, token, builder) {
305
305
  if (left.type === "UNIT") {
@@ -456,10 +456,10 @@ var FunctionCallParselet = class {
456
456
  parser.consume("LPAREN");
457
457
  let argCount = 0;
458
458
  if (parser.peek()?.type !== "RPAREN") {
459
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
459
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
460
460
  argCount++;
461
461
  while (parser.match("COMMA")) {
462
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
462
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
463
463
  argCount++;
464
464
  }
465
465
  }
@@ -763,9 +763,9 @@ var DurationBetweenParselet = class {
763
763
  }
764
764
  parse(parser, token, builder) {
765
765
  const unit = token.value;
766
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
766
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
767
767
  parser.consume("PLUS");
768
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
768
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
769
769
  builder.emitOpcode(50 /* CALL_PLUGIN */);
770
770
  builder.emitIndex(SPAN_BETWEEN_FN_IDX);
771
771
  builder.emitIndex(2);
@@ -780,7 +780,7 @@ var DayTypePredicateParselet = class {
780
780
  constructor(functionIndex) {
781
781
  this.functionIndex = functionIndex;
782
782
  this.category = "Date/Time";
783
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
783
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
784
784
  }
785
785
  parse(parser, left, token, builder) {
786
786
  builder.emitOpcode(50 /* CALL_PLUGIN */);
@@ -806,7 +806,7 @@ var CurrentTimestampParselet = class {
806
806
  var ToDateParselet = class {
807
807
  constructor() {
808
808
  this.category = "Date/Time";
809
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
809
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
810
810
  }
811
811
  parse(parser, left, token, builder) {
812
812
  builder.emitOpcode(50 /* CALL_PLUGIN */);
@@ -819,7 +819,7 @@ var ToDateParselet = class {
819
819
  var ToTimestampParselet = class {
820
820
  constructor() {
821
821
  this.category = "Date/Time";
822
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
822
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
823
823
  }
824
824
  parse(parser, left, token, builder) {
825
825
  builder.emitOpcode(50 /* CALL_PLUGIN */);
@@ -853,7 +853,7 @@ function untilSinceNormalizerRule(priority = 60) {
853
853
  const fusedType = keywordToken.type === "UNTIL" ? "UNTIL_UNIT" : "SINCE_UNIT";
854
854
  return {
855
855
  consumed: 2,
856
- replacement: [chunkEBSPLUW4_cjs.createFusedToken(fusedType, unitToken.value, [unitToken, keywordToken])],
856
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken(fusedType, unitToken.value, [unitToken, keywordToken])],
857
857
  ruleName: `datetime:${keywordToken.type.toLowerCase()}`
858
858
  };
859
859
  }
@@ -890,7 +890,7 @@ function betweenUnitNormalizerRule(priority = 60) {
890
890
  }
891
891
  return {
892
892
  consumed: howManyLength + 2,
893
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("BETWEEN_UNIT", unitToken.value, sources)],
893
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("BETWEEN_UNIT", unitToken.value, sources)],
894
894
  ruleName: "datetime:between"
895
895
  };
896
896
  }
@@ -911,7 +911,7 @@ function workdayRateDenominatorNormalizerRule(priority = 70) {
911
911
  const syntheticOne = {
912
912
  ...unit,
913
913
  type: "NUMBER",
914
- typeId: chunkGW32KPCU_cjs.tokenTypeId("NUMBER"),
914
+ typeId: chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"),
915
915
  value: "1",
916
916
  text: "1"
917
917
  };
@@ -926,7 +926,7 @@ function workdayRateDenominatorNormalizerRule(priority = 70) {
926
926
 
927
927
  // src/packages/datetime/normalizer/DateLiteralNormalizerRule.ts
928
928
  var DATETIME_LITERAL_TYPE = "DATETIME_LITERAL";
929
- var DATETIME_LITERAL_TYPE_ID = chunkGW32KPCU_cjs.tokenTypeId(DATETIME_LITERAL_TYPE);
929
+ var DATETIME_LITERAL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId(DATETIME_LITERAL_TYPE);
930
930
  var PLAIN_INTEGER = /^\d+$/;
931
931
  var DOT_DAY_MONTH = /^\d{1,2}\.\d{1,2}$/;
932
932
  var DOT_LEADING_YEAR = /^\.(\d{2}|\d{4})$/;
@@ -946,7 +946,7 @@ function buildDateToken(day, month, year, sourceTokens, ruleName) {
946
946
  }
947
947
  const first = sourceTokens[0];
948
948
  const text = sourceTokens.map((t) => t.value).join("");
949
- const fusedToken = new chunkNMD5VRN4_cjs.LexerToken(
949
+ const fusedToken = new chunk2R7SVDDB_cjs.LexerToken(
950
950
  DATETIME_LITERAL_TYPE,
951
951
  DATETIME_LITERAL_TYPE_ID,
952
952
  String(date.getTime()),
@@ -1747,7 +1747,7 @@ function clockTimeNormalizerRule(priority = 65) {
1747
1747
  name: "time:clock-time",
1748
1748
  priority,
1749
1749
  match(tokens, pos) {
1750
- if (chunkEBSPLUW4_cjs.isInsideRangeContext(tokens, pos)) return null;
1750
+ if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
1751
1751
  const hourToken = tokens[pos];
1752
1752
  if (hourToken.type !== "NUMBER") return null;
1753
1753
  const hour = parseInt(hourToken.value, 10);
@@ -1763,7 +1763,7 @@ function clockTimeNormalizerRule(priority = 65) {
1763
1763
  const consumed = hasAmPm ? 4 : 3;
1764
1764
  return {
1765
1765
  consumed,
1766
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + consumed))],
1766
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + consumed))],
1767
1767
  ruleName: "time:clock-time"
1768
1768
  };
1769
1769
  }
@@ -1773,7 +1773,7 @@ function clockTimeNormalizerRule(priority = 65) {
1773
1773
  if (totalMinutes === null) return null;
1774
1774
  return {
1775
1775
  consumed: 2,
1776
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + 2))],
1776
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME", String(totalMinutes), tokens.slice(pos, pos + 2))],
1777
1777
  ruleName: "time:clock-time"
1778
1778
  };
1779
1779
  }
@@ -1796,7 +1796,7 @@ function clockTimeIntervalNormalizerRule(priority = 66) {
1796
1796
  if (end?.type !== "CLOCK_TIME") return null;
1797
1797
  return {
1798
1798
  consumed: 3,
1799
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("CLOCK_TIME_INTERVAL", `${start.value}:${end.value}`, tokens.slice(pos, pos + 3))],
1799
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("CLOCK_TIME_INTERVAL", `${start.value}:${end.value}`, tokens.slice(pos, pos + 3))],
1800
1800
  ruleName: "time:clock-time-interval"
1801
1801
  };
1802
1802
  }
@@ -1815,7 +1815,7 @@ function fpsRateNormalizerRule(priority = 65) {
1815
1815
  if (fpsToken?.type !== "IDENT" || fpsToken.value.toLowerCase() !== "fps") return null;
1816
1816
  return {
1817
1817
  consumed: 2,
1818
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("FPS_RATE", numberToken.value, tokens.slice(pos, pos + 2))],
1818
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("FPS_RATE", numberToken.value, tokens.slice(pos, pos + 2))],
1819
1819
  ruleName: "time:fps-rate"
1820
1820
  };
1821
1821
  }
@@ -1828,7 +1828,7 @@ function laptimeNormalizerRule(priority = 70) {
1828
1828
  name: "time:laptime",
1829
1829
  priority,
1830
1830
  match(tokens, pos) {
1831
- if (chunkEBSPLUW4_cjs.isInsideRangeContext(tokens, pos)) return null;
1831
+ if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
1832
1832
  const h = tokens[pos];
1833
1833
  const c1 = tokens[pos + 1];
1834
1834
  const m = tokens[pos + 2];
@@ -1847,7 +1847,7 @@ function laptimeNormalizerRule(priority = 70) {
1847
1847
  const totalSeconds = hours * 3600 + minutes * 60 + seconds;
1848
1848
  return {
1849
1849
  consumed: 5,
1850
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("LAPTIME", String(totalSeconds), tokens.slice(pos, pos + 5))],
1850
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("LAPTIME", String(totalSeconds), tokens.slice(pos, pos + 5))],
1851
1851
  ruleName: "time:laptime"
1852
1852
  };
1853
1853
  }
@@ -1860,7 +1860,7 @@ function videoTimecodeNormalizerRule(priority = 75) {
1860
1860
  name: "time:video-timecode",
1861
1861
  priority,
1862
1862
  match(tokens, pos) {
1863
- if (chunkEBSPLUW4_cjs.isInsideRangeContext(tokens, pos)) return null;
1863
+ if (chunkCGIDYRAX_cjs.isInsideRangeContext(tokens, pos)) return null;
1864
1864
  const h = tokens[pos];
1865
1865
  const c1 = tokens[pos + 1];
1866
1866
  const m = tokens[pos + 2];
@@ -1886,7 +1886,7 @@ function videoTimecodeNormalizerRule(priority = 75) {
1886
1886
  return {
1887
1887
  consumed: 7,
1888
1888
  replacement: [
1889
- chunkEBSPLUW4_cjs.createFusedToken("VIDEO_TIMECODE", `${hours},${minutes},${seconds},${frames}`, tokens.slice(pos, pos + 7))
1889
+ chunkCGIDYRAX_cjs.createFusedToken("VIDEO_TIMECODE", `${hours},${minutes},${seconds},${frames}`, tokens.slice(pos, pos + 7))
1890
1890
  ],
1891
1891
  ruleName: "time:video-timecode"
1892
1892
  };
@@ -1906,7 +1906,7 @@ function frameCountNormalizerRule(priority = 65) {
1906
1906
  if (framesToken?.type !== "IDENT" || framesToken.value.toLowerCase() !== "frames") return null;
1907
1907
  return {
1908
1908
  consumed: 2,
1909
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("FRAME_COUNT", numberToken.value, tokens.slice(pos, pos + 2))],
1909
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("FRAME_COUNT", numberToken.value, tokens.slice(pos, pos + 2))],
1910
1910
  ruleName: "time:frame-count"
1911
1911
  };
1912
1912
  }
@@ -2012,7 +2012,7 @@ var keywordLedRollPattern = definePhrasePattern({
2012
2012
  {
2013
2013
  slots: [
2014
2014
  { kind: "keyword", tokenTypes: ["BETWEEN"] },
2015
- { kind: "expr", bindingPower: chunkC4XZV6E7_cjs.BindingPower.Product },
2015
+ { kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
2016
2016
  // The word "and" lexes as PLUS, not a dedicated AND token, en.ts's
2017
2017
  // keywordMap maps `and: "PLUS"` (a synonym for arithmetic "+").
2018
2018
  // The original hand-written parselet never actually checked the
@@ -2027,7 +2027,7 @@ var keywordLedRollPattern = definePhrasePattern({
2027
2027
  {
2028
2028
  slots: [
2029
2029
  { kind: "keyword", tokenTypes: ["FROM"] },
2030
- { kind: "expr", bindingPower: chunkC4XZV6E7_cjs.BindingPower.Product },
2030
+ { kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
2031
2031
  { kind: "keyword", tokenTypes: ["TO"] },
2032
2032
  { kind: "expr" }
2033
2033
  ],
@@ -2235,7 +2235,7 @@ function resolveUnitAlias(rawUnit) {
2235
2235
  var UomLiteralParselet = class {
2236
2236
  constructor() {
2237
2237
  this.category = "UoM";
2238
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Postfix;
2238
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Postfix;
2239
2239
  }
2240
2240
  parse(parser, left, token, builder) {
2241
2241
  const unit = resolveUnitAlias(token.value);
@@ -2275,7 +2275,7 @@ var ConvertParselet = class {
2275
2275
  this.category = "UoM";
2276
2276
  }
2277
2277
  parse(parser, token, builder) {
2278
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Postfix, builder);
2278
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Postfix, builder);
2279
2279
  const nextToken = parser.peek();
2280
2280
  if (nextToken && nextToken.type === "UNIT") {
2281
2281
  parser.consume();
@@ -2340,7 +2340,7 @@ function uomPossibilitiesNormalizerRule(priority = 60) {
2340
2340
  if (questionToken.type !== "QUESTION") return null;
2341
2341
  return {
2342
2342
  consumed: 3,
2343
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("UOM_POSSIBILITIES_QUERY", unitToken.value, [unitToken, toToken, questionToken])],
2343
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("UOM_POSSIBILITIES_QUERY", unitToken.value, [unitToken, toToken, questionToken])],
2344
2344
  ruleName: "uom:possibilities"
2345
2345
  };
2346
2346
  }
@@ -2533,7 +2533,7 @@ function ingredientNameNormalizerRule(priority = 68) {
2533
2533
  const candidate = candidateTokens.map((t) => t.value.toLowerCase()).join(" ");
2534
2534
  return {
2535
2535
  consumed: wordCount,
2536
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("INGREDIENT_NAME", candidate, candidateTokens)],
2536
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("INGREDIENT_NAME", candidate, candidateTokens)],
2537
2537
  ruleName: "uom-cooking:ingredient-name"
2538
2538
  };
2539
2539
  }
@@ -2569,7 +2569,7 @@ var CurrencySymbolParselet = class {
2569
2569
  }
2570
2570
  parse(parser, token, builder) {
2571
2571
  const currency = chunkOT6OJY7C_cjs.resolveCurrencyAlias(token.value) ?? token.value.toUpperCase();
2572
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Prefix, builder);
2572
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Prefix, builder);
2573
2573
  if (parser.peek()?.type === "UNIT") {
2574
2574
  parser.consume();
2575
2575
  }
@@ -2712,7 +2712,7 @@ var MatrixLiteralParselet = class {
2712
2712
  var MatrixIndexParselet = class {
2713
2713
  constructor() {
2714
2714
  this.category = "Matrix";
2715
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Postfix;
2715
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Postfix;
2716
2716
  }
2717
2717
  parse(parser, _left, _token, builder) {
2718
2718
  const isSlice = this.hasTopLevelColon(parser);
@@ -2815,8 +2815,8 @@ function parseTransform(parser, builder) {
2815
2815
  }
2816
2816
  return { kind: 2, name };
2817
2817
  }
2818
- const transformBuilder = new chunkC4XZV6E7_cjs.BytecodeBuilder();
2819
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, transformBuilder);
2818
+ const transformBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
2819
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, transformBuilder);
2820
2820
  parser.setBuilder(builder);
2821
2821
  const program = transformBuilder.build();
2822
2822
  if (program.hasAsync) {
@@ -2902,7 +2902,7 @@ var ReduceParselet = class {
2902
2902
  parseCollectionExpr(parser, builder);
2903
2903
  let hasInitial = 0;
2904
2904
  if (parser.match("COMMA")) {
2905
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
2905
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
2906
2906
  hasInitial = 1;
2907
2907
  }
2908
2908
  parser.consume("RPAREN");
@@ -2917,10 +2917,10 @@ var SumParselet = class {
2917
2917
  }
2918
2918
  parse(parser, _token, builder) {
2919
2919
  parser.consume("LPAREN");
2920
- const bodyBuilder = new chunkC4XZV6E7_cjs.BytecodeBuilder();
2920
+ const bodyBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
2921
2921
  bodyBuilder.emitOpcode(60 /* LOAD_VAR */);
2922
2922
  bodyBuilder.emitString("acc");
2923
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, bodyBuilder);
2923
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, bodyBuilder);
2924
2924
  parser.setBuilder(builder);
2925
2925
  bodyBuilder.emitOpcode(20 /* ADD */);
2926
2926
  const bodyProgram = bodyBuilder.build();
@@ -2944,10 +2944,10 @@ var ProdParselet = class {
2944
2944
  }
2945
2945
  parse(parser, _token, builder) {
2946
2946
  parser.consume("LPAREN");
2947
- const bodyBuilder = new chunkC4XZV6E7_cjs.BytecodeBuilder();
2947
+ const bodyBuilder = new chunkEEJSQEHC_cjs.BytecodeBuilder();
2948
2948
  bodyBuilder.emitOpcode(60 /* LOAD_VAR */);
2949
2949
  bodyBuilder.emitString("acc");
2950
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, bodyBuilder);
2950
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, bodyBuilder);
2951
2951
  parser.setBuilder(builder);
2952
2952
  bodyBuilder.emitOpcode(22 /* MUL */);
2953
2953
  const bodyProgram = bodyBuilder.build();
@@ -2995,7 +2995,7 @@ function mapReduceCallNormalizerRule(priority = 80) {
2995
2995
  return {
2996
2996
  consumed: 1,
2997
2997
  replacement: [
2998
- new chunkNMD5VRN4_cjs.LexerToken(tokenType, chunkGW32KPCU_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
2998
+ new chunk2R7SVDDB_cjs.LexerToken(tokenType, chunkFI4WDYSL_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
2999
2999
  ],
3000
3000
  ruleName: "mapreduce:call"
3001
3001
  };
@@ -3037,7 +3037,7 @@ var ExpandParselet = class {
3037
3037
  }
3038
3038
  parse(parser, _token, builder) {
3039
3039
  parser.consume("LPAREN");
3040
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3040
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3041
3041
  parser.consume("RPAREN");
3042
3042
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3043
3043
  builder.emitIndex(SYMBOLIC_BUILTIN_EXPAND);
@@ -3052,7 +3052,7 @@ var FactorParselet = class {
3052
3052
  }
3053
3053
  parse(parser, _token, builder) {
3054
3054
  parser.consume("LPAREN");
3055
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3055
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3056
3056
  parser.consume("RPAREN");
3057
3057
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3058
3058
  builder.emitIndex(SYMBOLIC_BUILTIN_FACTOR);
@@ -3067,9 +3067,9 @@ var SolveParselet = class {
3067
3067
  }
3068
3068
  parse(parser, _token, builder) {
3069
3069
  parser.consume("LPAREN");
3070
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3070
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3071
3071
  if (parser.match("EQUALS")) {
3072
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3072
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3073
3073
  } else {
3074
3074
  builder.emitOpcode(10 /* PUSH_NUMBER */);
3075
3075
  builder.emitNumber(0);
@@ -3115,11 +3115,11 @@ var DerParselet = class {
3115
3115
  }
3116
3116
  parse(parser, _token, builder) {
3117
3117
  parser.consume("LPAREN");
3118
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3118
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3119
3119
  parser.consume("COMMA");
3120
3120
  consumeVariableName(parser, builder, "der");
3121
3121
  if (parser.match("COMMA")) {
3122
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3122
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3123
3123
  } else {
3124
3124
  builder.emitOpcode(10 /* PUSH_NUMBER */);
3125
3125
  builder.emitNumber(1);
@@ -3138,7 +3138,7 @@ var IntegralParselet = class {
3138
3138
  }
3139
3139
  parse(parser, _token, builder) {
3140
3140
  parser.consume("LPAREN");
3141
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3141
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3142
3142
  parser.consume("COMMA");
3143
3143
  consumeVariableName(parser, builder, "integral");
3144
3144
  parser.consume("RPAREN");
@@ -3155,13 +3155,13 @@ var TaylorParselet = class {
3155
3155
  }
3156
3156
  parse(parser, _token, builder) {
3157
3157
  parser.consume("LPAREN");
3158
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3158
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3159
3159
  parser.consume("COMMA");
3160
3160
  consumeVariableName(parser, builder, "taylor");
3161
3161
  parser.consume("EQUALS");
3162
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3162
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3163
3163
  parser.consume("COMMA");
3164
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3164
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3165
3165
  parser.consume("RPAREN");
3166
3166
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3167
3167
  builder.emitIndex(SYMBOLIC_BUILTIN_TAYLOR);
@@ -3178,7 +3178,7 @@ var JacobianParselet = class {
3178
3178
  parser.consume("LPAREN");
3179
3179
  let count = 0;
3180
3180
  do {
3181
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3181
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3182
3182
  count++;
3183
3183
  } while (parser.match("COMMA"));
3184
3184
  parser.consume("RPAREN");
@@ -3209,7 +3209,7 @@ var ConjParselet = class {
3209
3209
  }
3210
3210
  parse(parser, _token, builder) {
3211
3211
  parser.consume("LPAREN");
3212
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3212
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3213
3213
  parser.consume("RPAREN");
3214
3214
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3215
3215
  builder.emitIndex(SYMBOLIC_BUILTIN_CONJ);
@@ -3224,7 +3224,7 @@ var ReParselet = class {
3224
3224
  }
3225
3225
  parse(parser, _token, builder) {
3226
3226
  parser.consume("LPAREN");
3227
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3227
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3228
3228
  parser.consume("RPAREN");
3229
3229
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3230
3230
  builder.emitIndex(SYMBOLIC_BUILTIN_RE);
@@ -3239,7 +3239,7 @@ var ImParselet = class {
3239
3239
  }
3240
3240
  parse(parser, _token, builder) {
3241
3241
  parser.consume("LPAREN");
3242
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3242
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3243
3243
  parser.consume("RPAREN");
3244
3244
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3245
3245
  builder.emitIndex(SYMBOLIC_BUILTIN_IM);
@@ -3254,7 +3254,7 @@ var CancelParselet = class {
3254
3254
  }
3255
3255
  parse(parser, _token, builder) {
3256
3256
  parser.consume("LPAREN");
3257
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3257
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3258
3258
  parser.consume("RPAREN");
3259
3259
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3260
3260
  builder.emitIndex(SYMBOLIC_BUILTIN_CANCEL);
@@ -3269,7 +3269,7 @@ var ApartParselet = class {
3269
3269
  }
3270
3270
  parse(parser, _token, builder) {
3271
3271
  parser.consume("LPAREN");
3272
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3272
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3273
3273
  parser.consume("RPAREN");
3274
3274
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3275
3275
  builder.emitIndex(SYMBOLIC_BUILTIN_APART);
@@ -3292,9 +3292,9 @@ function imaginaryLiteralNormalizerRule(priority = 75) {
3292
3292
  return {
3293
3293
  consumed: 2,
3294
3294
  replacement: [
3295
- new chunkNMD5VRN4_cjs.LexerToken(
3295
+ new chunk2R7SVDDB_cjs.LexerToken(
3296
3296
  "IMAGINARY",
3297
- chunkGW32KPCU_cjs.tokenTypeId("IMAGINARY"),
3297
+ chunkFI4WDYSL_cjs.tokenTypeId("IMAGINARY"),
3298
3298
  number.value,
3299
3299
  number.value,
3300
3300
  number.offset,
@@ -3338,7 +3338,7 @@ function symbolicCallNormalizerRule(priority = 80) {
3338
3338
  return {
3339
3339
  consumed: 1,
3340
3340
  replacement: [
3341
- new chunkNMD5VRN4_cjs.LexerToken(tokenType, chunkGW32KPCU_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
3341
+ new chunk2R7SVDDB_cjs.LexerToken(tokenType, chunkFI4WDYSL_cjs.tokenTypeId(tokenType), token.value, token.value, token.offset, 0, token.line, token.col)
3342
3342
  ],
3343
3343
  ruleName: "symbolic:call"
3344
3344
  };
@@ -3510,7 +3510,7 @@ var ComparisonParselet = class {
3510
3510
  constructor(opcode) {
3511
3511
  this.opcode = opcode;
3512
3512
  this.category = "Conditionals";
3513
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
3513
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
3514
3514
  }
3515
3515
  parse(parser, left, token, builder) {
3516
3516
  parser.parseExpression(this.bindingPower, builder);
@@ -3573,9 +3573,9 @@ var CONDITIONALS_PACKAGE = {
3573
3573
  { tokenType: "GT", parselet: new ComparisonParselet(44 /* GT */) },
3574
3574
  { tokenType: "LTE", parselet: new ComparisonParselet(43 /* LTE */) },
3575
3575
  { tokenType: "GTE", parselet: new ComparisonParselet(45 /* GTE */) },
3576
- { tokenType: "OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkC4XZV6E7_cjs.BindingPower.LogicalOr) },
3577
- { tokenType: "LOGICAL_AND", parselet: new LogicalParselet(130 /* LOGICAL_AND */, chunkC4XZV6E7_cjs.BindingPower.LogicalAnd) },
3578
- { tokenType: "LOGICAL_OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkC4XZV6E7_cjs.BindingPower.LogicalOr) }
3576
+ { tokenType: "OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkEEJSQEHC_cjs.BindingPower.LogicalOr) },
3577
+ { tokenType: "LOGICAL_AND", parselet: new LogicalParselet(130 /* LOGICAL_AND */, chunkEEJSQEHC_cjs.BindingPower.LogicalAnd) },
3578
+ { tokenType: "LOGICAL_OR", parselet: new LogicalParselet(131 /* LOGICAL_OR */, chunkEEJSQEHC_cjs.BindingPower.LogicalOr) }
3579
3579
  ]
3580
3580
  };
3581
3581
 
@@ -3599,7 +3599,7 @@ var BUILTIN_CONVERTERS = {
3599
3599
  var AsConverterParselet = class {
3600
3600
  constructor() {
3601
3601
  this.category = "Converters";
3602
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
3602
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
3603
3603
  }
3604
3604
  parse(parser, left, token, builder) {
3605
3605
  const nextToken = parser.peek();
@@ -3643,10 +3643,10 @@ var VariadicAggregateParselet = class {
3643
3643
  }
3644
3644
  parse(parser, token, builder) {
3645
3645
  let argCount = 0;
3646
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3646
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3647
3647
  argCount++;
3648
3648
  while (parser.match("COMMA")) {
3649
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3649
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3650
3650
  argCount++;
3651
3651
  }
3652
3652
  builder.emitOpcode(51 /* CALL_BUILTIN */);
@@ -3660,9 +3660,9 @@ function largerSmallerParselet(builtinIndex) {
3660
3660
  return {
3661
3661
  category: "MathPhrases",
3662
3662
  parse(parser, token, builder) {
3663
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
3663
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
3664
3664
  parser.consume("PLUS");
3665
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3665
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3666
3666
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3667
3667
  builder.emitIndex(builtinIndex);
3668
3668
  builder.emitIndex(2);
@@ -3674,7 +3674,7 @@ function largerSmallerParselet(builtinIndex) {
3674
3674
  var halfParselet = {
3675
3675
  category: "MathPhrases",
3676
3676
  parse(parser, token, builder) {
3677
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3677
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3678
3678
  builder.emitOpcode(10 /* PUSH_NUMBER */);
3679
3679
  builder.emitNumber(2);
3680
3680
  builder.emitOpcode(23 /* DIV */);
@@ -3685,9 +3685,9 @@ var halfParselet = {
3685
3685
  var midpointParselet = {
3686
3686
  category: "MathPhrases",
3687
3687
  parse(parser, token, builder) {
3688
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
3688
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
3689
3689
  parser.consume("PLUS");
3690
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3690
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3691
3691
  builder.emitOpcode(20 /* ADD */);
3692
3692
  builder.emitOpcode(10 /* PUSH_NUMBER */);
3693
3693
  builder.emitNumber(2);
@@ -3702,7 +3702,7 @@ var randomNumberParselet = definePhrasePattern({
3702
3702
  {
3703
3703
  slots: [
3704
3704
  { kind: "keyword", tokenTypes: ["BETWEEN"] },
3705
- { kind: "expr", bindingPower: chunkC4XZV6E7_cjs.BindingPower.Product },
3705
+ { kind: "expr", bindingPower: chunkEEJSQEHC_cjs.BindingPower.Product },
3706
3706
  { kind: "keyword", tokenTypes: ["PLUS"] },
3707
3707
  { kind: "expr" }
3708
3708
  ],
@@ -3722,18 +3722,18 @@ var ClampParselet = class {
3722
3722
  this.category = "MathPhrases";
3723
3723
  }
3724
3724
  parse(parser, token, builder) {
3725
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3725
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3726
3726
  const mid = parser.peek();
3727
3727
  if (mid?.type === "BETWEEN") {
3728
3728
  parser.consume();
3729
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
3729
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
3730
3730
  parser.consume("PLUS");
3731
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3731
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3732
3732
  } else if (mid?.type === "FROM") {
3733
3733
  parser.consume();
3734
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3734
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3735
3735
  parser.consume("TO");
3736
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3736
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3737
3737
  } else {
3738
3738
  throw chunkM4N5GA5Z_cjs.ErrorFactory.parsing(
3739
3739
  "CLAMP_EXPECTED_BETWEEN_OR_FROM",
@@ -3751,7 +3751,7 @@ var PROPORTION_BUILTIN_INDEX = 46;
3751
3751
  var ProportionParselet = class {
3752
3752
  constructor() {
3753
3753
  this.category = "MathPhrases";
3754
- this.bindingPower = chunkC4XZV6E7_cjs.BindingPower.Conditional;
3754
+ this.bindingPower = chunkEEJSQEHC_cjs.BindingPower.Conditional;
3755
3755
  }
3756
3756
  parse(parser, left, token, builder) {
3757
3757
  parser.parseExpression(this.bindingPower, builder);
@@ -3816,11 +3816,11 @@ var CompoundInterestParselet = class {
3816
3816
  this.category = "Finance";
3817
3817
  }
3818
3818
  parse(parser, _token, builder) {
3819
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3819
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3820
3820
  parser.consume("OVER");
3821
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3821
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3822
3822
  parser.consume("RATE_AT");
3823
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3823
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3824
3824
  builder.emitOpcode(2 /* SWAP */);
3825
3825
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3826
3826
  builder.emitIndex(this.builtinIndex);
@@ -3836,11 +3836,11 @@ var LoanRepaymentParselet = class {
3836
3836
  this.category = "Finance";
3837
3837
  }
3838
3838
  parse(parser, _token, builder) {
3839
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3839
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3840
3840
  parser.consume("OVER");
3841
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3841
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3842
3842
  parser.consume("RATE_AT");
3843
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3843
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3844
3844
  builder.emitOpcode(2 /* SWAP */);
3845
3845
  builder.emitOpcode(10 /* PUSH_NUMBER */);
3846
3846
  builder.emitNumber(this.periodsPerYear);
@@ -3857,9 +3857,9 @@ var SalesTaxParselet = class {
3857
3857
  this.category = "Finance";
3858
3858
  }
3859
3859
  parse(parser, _token, builder) {
3860
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3860
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3861
3861
  parser.consume("RATE_AT");
3862
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3862
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3863
3863
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3864
3864
  builder.emitIndex(this.builtinIndex);
3865
3865
  builder.emitIndex(2);
@@ -3913,10 +3913,10 @@ var InflationQueryParselet = class {
3913
3913
  this.category = "Finance";
3914
3914
  }
3915
3915
  parse(parser, _token, builder) {
3916
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
3916
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
3917
3917
  if (this.variant === "what-was") {
3918
3918
  parser.consume("WORTH_IN");
3919
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3919
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3920
3920
  builder.emitOpcode(50 /* CALL_PLUGIN */);
3921
3921
  builder.emitIndex(INFLATION_TO_YEAR_FROM_PRESENT_IDX);
3922
3922
  builder.emitIndex(2);
@@ -3925,7 +3925,7 @@ var InflationQueryParselet = class {
3925
3925
  const next = parser.peek();
3926
3926
  if (next?.type === "FROM") {
3927
3927
  parser.consume();
3928
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3928
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3929
3929
  builder.emitOpcode(50 /* CALL_PLUGIN */);
3930
3930
  builder.emitIndex(INFLATION_FROM_YEAR_TO_PRESENT_IDX);
3931
3931
  builder.emitIndex(2);
@@ -3933,9 +3933,9 @@ var InflationQueryParselet = class {
3933
3933
  }
3934
3934
  if (next?.type === "IN") {
3935
3935
  parser.consume();
3936
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3936
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3937
3937
  parser.consume("WORTH_IN");
3938
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3938
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3939
3939
  builder.emitOpcode(51 /* CALL_BUILTIN */);
3940
3940
  builder.emitIndex(INFLATION_ADJUST_BUILTIN_IDX);
3941
3941
  builder.emitIndex(3);
@@ -3955,11 +3955,11 @@ var InflationFutureValueParselet = class {
3955
3955
  this.category = "Finance";
3956
3956
  }
3957
3957
  parse(parser, _token, builder) {
3958
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
3958
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
3959
3959
  parser.consume("IN");
3960
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3960
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3961
3961
  parser.consume("ASSUMING");
3962
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Lowest, builder);
3962
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Lowest, builder);
3963
3963
  const inflationToken = parser.peek();
3964
3964
  const inflationWord = inflationToken && inflationToken.type === "IDENT" ? inflationToken.value.toLowerCase() : void 0;
3965
3965
  if (inflationWord !== "inflation") {
@@ -4008,7 +4008,7 @@ function inYearDollarsNormalizerRule(priority = 70) {
4008
4008
  if (word !== "dollars" && word !== "dollar") return null;
4009
4009
  return {
4010
4010
  consumed: 3,
4011
- replacement: [chunkEBSPLUW4_cjs.createFusedToken("IN_YEAR_DOLLARS", yearToken.value, tokens.slice(pos, pos + 3))],
4011
+ replacement: [chunkCGIDYRAX_cjs.createFusedToken("IN_YEAR_DOLLARS", yearToken.value, tokens.slice(pos, pos + 3))],
4012
4012
  ruleName: "finance:in-year-dollars"
4013
4013
  };
4014
4014
  }
@@ -4550,7 +4550,7 @@ var MAJOR_TICKERS = /* @__PURE__ */ new Set([
4550
4550
 
4551
4551
  // src/packages/stocks/normalizer/StockTickerNormalizerRule.ts
4552
4552
  var STOCK_TICKER_TYPE = "STOCK_TICKER";
4553
- var STOCK_TICKER_TYPE_ID = chunkGW32KPCU_cjs.tokenTypeId(STOCK_TICKER_TYPE);
4553
+ var STOCK_TICKER_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId(STOCK_TICKER_TYPE);
4554
4554
  function stockTickerNormalizerRule() {
4555
4555
  return {
4556
4556
  name: "stocks:bare-ticker",
@@ -4560,7 +4560,7 @@ function stockTickerNormalizerRule() {
4560
4560
  if (!token || token.type !== "IDENT") return null;
4561
4561
  if (!MAJOR_TICKERS.has(token.value)) return null;
4562
4562
  if (pos > 0 && tokens[pos - 1].type === "COLON") return null;
4563
- const fusedToken = new chunkNMD5VRN4_cjs.LexerToken(
4563
+ const fusedToken = new chunk2R7SVDDB_cjs.LexerToken(
4564
4564
  STOCK_TICKER_TYPE,
4565
4565
  STOCK_TICKER_TYPE_ID,
4566
4566
  token.value,
@@ -4629,7 +4629,7 @@ function finishStockExpression(parser, builder, ticker, currentFnIdx, historical
4629
4629
  const suffix = tryParseDateSuffix(parser);
4630
4630
  if (sawStar && !suffix) {
4631
4631
  emitStockQuery(builder, ticker, null, currentFnIdx, historicalFnIdx);
4632
- parser.parseExpression(chunkC4XZV6E7_cjs.BindingPower.Product, builder);
4632
+ parser.parseExpression(chunkEEJSQEHC_cjs.BindingPower.Product, builder);
4633
4633
  builder.emitOpcode(22 /* MUL */);
4634
4634
  return;
4635
4635
  }
@@ -4966,9 +4966,9 @@ var AboveAggregateParselet = class {
4966
4966
  };
4967
4967
 
4968
4968
  // src/packages/lines/normalizer/LineRefNormalizerRule.ts
4969
- var LINE_REF_TYPE_ID = chunkGW32KPCU_cjs.tokenTypeId("LINE_REF");
4970
- var SUM_RANGE_CALL_TYPE_ID = chunkGW32KPCU_cjs.tokenTypeId("SUM_RANGE_CALL");
4971
- var AVERAGE_RANGE_CALL_TYPE_ID = chunkGW32KPCU_cjs.tokenTypeId("AVERAGE_RANGE_CALL");
4969
+ var LINE_REF_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("LINE_REF");
4970
+ var SUM_RANGE_CALL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("SUM_RANGE_CALL");
4971
+ var AVERAGE_RANGE_CALL_TYPE_ID = chunkFI4WDYSL_cjs.tokenTypeId("AVERAGE_RANGE_CALL");
4972
4972
  function lineRefNormalizerRule() {
4973
4973
  return {
4974
4974
  name: "lines:line-ref",
@@ -5005,7 +5005,7 @@ function lineRefNormalizerRule() {
5005
5005
  };
5006
5006
  }
5007
5007
  function makeLineRefToken(lineNumberText, sourceToken) {
5008
- return new chunkNMD5VRN4_cjs.LexerToken(
5008
+ return new chunk2R7SVDDB_cjs.LexerToken(
5009
5009
  "LINE_REF",
5010
5010
  LINE_REF_TYPE_ID,
5011
5011
  lineNumberText,
@@ -5031,7 +5031,7 @@ function rangeCallNormalizerRule() {
5031
5031
  return {
5032
5032
  consumed: 1,
5033
5033
  replacement: [
5034
- new chunkNMD5VRN4_cjs.LexerToken(tokenType, typeId, token.value, token.value, token.offset, 0, token.line, token.col)
5034
+ new chunk2R7SVDDB_cjs.LexerToken(tokenType, typeId, token.value, token.value, token.offset, 0, token.line, token.col)
5035
5035
  ],
5036
5036
  ruleName: "lines:range-call"
5037
5037
  };
@@ -5118,5 +5118,5 @@ exports.WEATHER_PACKAGE = WEATHER_PACKAGE;
5118
5118
  exports.containsSymbolicCall = containsSymbolicCall;
5119
5119
  exports.createKnowledgePackage = createKnowledgePackage;
5120
5120
  exports.createStocksPackage = createStocksPackage;
5121
- //# sourceMappingURL=chunk-RZCWSXTA.cjs.map
5122
- //# sourceMappingURL=chunk-RZCWSXTA.cjs.map
5121
+ //# sourceMappingURL=chunk-BOAVE4FC.cjs.map
5122
+ //# sourceMappingURL=chunk-BOAVE4FC.cjs.map