@sheetxl/sdk 0.4.20 → 0.4.22

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 (105) hide show
  1. package/browser/cjs/7IXJLhV4t0ot3XB5.cjs +7 -0
  2. package/browser/cjs/{CHIrWDL1wDd2pj7r.cjs → 88wgo6pjVpM9y5ul.cjs} +1 -1
  3. package/browser/cjs/{CgISg2QUFvnxelIg.cjs → B1FA-mZrhIhB8VoC.cjs} +1 -1
  4. package/browser/cjs/{HoZidg9qBDX62oNO.cjs → BFSSWIb-BPsXlS8k.cjs} +1 -1
  5. package/browser/cjs/{lTo12h7XrLmPRVhi.cjs → BG_fhZO0IruefQYx.cjs} +1 -1
  6. package/browser/cjs/{aBAvcAfOvtWy7o9B.cjs → BHMiYQTwGjWzRdGf.cjs} +1 -1
  7. package/browser/cjs/{We0naT5G_vQo6RkK.cjs → BSj9kpCBxyd5EZvX.cjs} +1 -1
  8. package/browser/cjs/{B8nuUUIsnE-6vbAQ.cjs → BYwSD92n1THKdj9V.cjs} +1 -1
  9. package/browser/cjs/{CW9IcRQqCCBSJ1g0.cjs → Bein9-S48RBhhxLW.cjs} +1 -1
  10. package/browser/cjs/{C4KbNJbRD0LfrFFV.cjs → CFE-vojYpMggdKVQ.cjs} +1 -1
  11. package/browser/cjs/{BTPJz0JSs5PWhtbO.cjs → CGslljb6hC8DcpsE.cjs} +1 -1
  12. package/browser/cjs/{gn5aPOY6C-poXjky.cjs → CV_Kse7BQ7sBx0S2.cjs} +1 -1
  13. package/browser/cjs/{BfMzZ_GULllzBk6l.cjs → CW7Kbm45TFbAZYO3.cjs} +1 -1
  14. package/browser/cjs/{ZJeHuklpnM-x2Uor.cjs → Cx69pnzjeLfQMYgm.cjs} +1 -1
  15. package/browser/cjs/{BVwLRpPOJOkPiLVI.cjs → D1ZVN_gmSiXwUeCX.cjs} +1 -1
  16. package/browser/cjs/D1uvbAWH1atUhVUP.cjs +53 -0
  17. package/browser/cjs/{BvS85P-7zLIudyqb.cjs → D2eWn6G2QvkYzR0D.cjs} +1 -1
  18. package/browser/cjs/{CYueUIoDZwYE9fRk.cjs → D3ZDdkSutmtUfAG2.cjs} +1 -1
  19. package/browser/cjs/{BTa_vDbaAzt6YXV1.cjs → DItG5mSJNZ40zltg.cjs} +1 -1
  20. package/browser/cjs/{XxdMKuC0y29VOQ05.cjs → DMROSNSDJaUVqfoW.cjs} +1 -1
  21. package/browser/cjs/{Bw07AlLqg6ZIoMRL.cjs → DWG2lOB7T0SRr5Ni.cjs} +1 -1
  22. package/browser/cjs/Dub6MS5nk4D_Iv7p.cjs +124 -0
  23. package/browser/cjs/{BHa5nV8AH6dlgs29.cjs → Ko4UgjHi20zmyEpu.cjs} +1 -1
  24. package/browser/cjs/{CxXM6xsDd2bFDSNd.cjs → OgnqbIZEb37S4Hcz.cjs} +1 -1
  25. package/browser/cjs/{BkFMWwFWaisNXSf2.cjs → SkNXytY6UX9i6WhY.cjs} +2 -2
  26. package/browser/cjs/{CFwigDisNJzRlbSY.cjs → ZyyHV9ugA--j9V3Q.cjs} +1 -1
  27. package/browser/cjs/index.cjs +2 -2
  28. package/browser/cjs/{D9SMcp02EIWqiYk0.cjs → rPn2U0Q2Eagh41Xd.cjs} +1 -1
  29. package/browser/esm/{DK_FQ6Q7AZUprApR.mjs → -z0NclKcw0SSbo2L.mjs} +7603 -8898
  30. package/browser/esm/{DuvsEieHOiBb-GPZ.mjs → 45xuwq8di_97VrOg.mjs} +1 -1
  31. package/browser/esm/{CDbE_dl8edWRC33Z.mjs → B5M_o8HB4RRWBd_Y.mjs} +1 -1
  32. package/browser/esm/{9tFMamEgahdtRDzr.mjs → BANL0IBU0th0Z0aE.mjs} +1 -1
  33. package/browser/esm/{DOK9VvFQyTAsf7SL.mjs → BE-hRu2cYg4ljCeu.mjs} +1 -1
  34. package/browser/esm/{BNS7zLc3zoynBPYO.mjs → BcSVj-rRzZCTKFUS.mjs} +6 -4
  35. package/browser/esm/{DIePzm-XT-alFdDB.mjs → BsPKTSv0eCvPH73D.mjs} +1 -1
  36. package/{node/esm/Bqc8bvJoWC0_qUKU.mjs → browser/esm/C1VWw92RN5017GH2.mjs} +1 -1
  37. package/{node/esm/iYqJLAQld4jtK1Be.mjs → browser/esm/C1m7sGNTYP1bb_Uu.mjs} +1 -1
  38. package/{node/esm/DdDDFLZKFx1DAkKM.mjs → browser/esm/CB1_HpaA6RdaxTgB.mjs} +1 -1
  39. package/browser/esm/{DV9p0Ai4HUPYjT-H.mjs → CESAJuxgB8SgHaC0.mjs} +2 -2
  40. package/browser/esm/{_q37vK_NIykwwqbg.mjs → CF-2-aQTgc-DoXzn.mjs} +1 -1
  41. package/{node/esm/CivKgcEQiXpDFLHE.mjs → browser/esm/CIOhVshLBBACTKw4.mjs} +1 -1
  42. package/{node/esm/DlNI2fuUSYxsUPt8.mjs → browser/esm/CMSKXl6rbx5miTNQ.mjs} +1 -1
  43. package/{node/esm/D3YTY3N6YHU69ymA.mjs → browser/esm/CiTlupx_cuXQySFz.mjs} +1 -1
  44. package/browser/esm/{DoIENSc8L0Rof6Kz.mjs → D3P3XCQVij2nAmi9.mjs} +46 -44
  45. package/{node/esm/bIOUtGNQ6YQktkYZ.mjs → browser/esm/D6IgoU0LlIv_Vb4m.mjs} +1 -1
  46. package/{node/esm/DaJrKgrSikJvUv0q.mjs → browser/esm/DDHWZD7Y6pihyVio.mjs} +1 -1
  47. package/browser/esm/{mxJXDPqwl0wNxd66.mjs → DEAxRkKlMDxHooJB.mjs} +1 -1
  48. package/browser/esm/{BcUYcXaMbk6W8AWk.mjs → DI52n-xcpb7jEqop.mjs} +1 -1
  49. package/{node/esm/DP9RiXAeb1fiRFpG.mjs → browser/esm/Dd2ZeNLusT_ZXcoE.mjs} +1 -1
  50. package/browser/esm/{fP2GLQ5W7VVbn5TA.mjs → E-RGQA1dKJwkkonk.mjs} +1 -1
  51. package/{node/esm/aF3uflTbayaEj07D.mjs → browser/esm/NvmvIR3jfjlY98jJ.mjs} +1 -1
  52. package/browser/esm/{BoB-LPOX1uKjZhKH.mjs → OABZjfPgUYHzd5rY.mjs} +1 -1
  53. package/browser/esm/{BNURhfAYTEVJWTYT.mjs → XxsAmmMnL6UJ_NtN.mjs} +1 -1
  54. package/browser/esm/{io70M3K8dlSe5V-4.mjs → ease-qEarwjnTOzw.mjs} +1 -1
  55. package/browser/esm/index.mjs +54 -82
  56. package/{node/esm/HTDFLMWuQb82Y-GF.mjs → browser/esm/pyVBYhEMGgaVvnd1.mjs} +1 -1
  57. package/licenses/dependencies.txt +0 -66
  58. package/node/esm/{9tFMamEgahdtRDzr.mjs → BANL0IBU0th0Z0aE.mjs} +1 -1
  59. package/node/esm/{DOK9VvFQyTAsf7SL.mjs → BE-hRu2cYg4ljCeu.mjs} +1 -1
  60. package/node/esm/{BpBhk74DpxGo00aZ.mjs → BFQWsItEwIA8MHSr.mjs} +1 -1
  61. package/{browser/esm/Bqc8bvJoWC0_qUKU.mjs → node/esm/C1VWw92RN5017GH2.mjs} +1 -1
  62. package/{browser/esm/iYqJLAQld4jtK1Be.mjs → node/esm/C1m7sGNTYP1bb_Uu.mjs} +1 -1
  63. package/node/esm/{B7ZcsKf8cxOEMq7p.mjs → C2cb5mfR_vAlX9Fe.mjs} +1 -1
  64. package/node/esm/{CDjHCv3dEEOY9Foy.mjs → C5pshc3Ik9rfVQTG.mjs} +1 -1
  65. package/{browser/esm/DdDDFLZKFx1DAkKM.mjs → node/esm/CB1_HpaA6RdaxTgB.mjs} +1 -1
  66. package/node/esm/{MrOJ8ENTixputV8_.mjs → CE5UUdZ8bidtZxVI.mjs} +362 -360
  67. package/{browser/esm/CivKgcEQiXpDFLHE.mjs → node/esm/CIOhVshLBBACTKw4.mjs} +1 -1
  68. package/{browser/esm/DlNI2fuUSYxsUPt8.mjs → node/esm/CMSKXl6rbx5miTNQ.mjs} +1 -1
  69. package/node/esm/{Tl8jbxaeK1y9aMPJ.mjs → CNmI4DKpe0t8gN4o.mjs} +1 -1
  70. package/node/esm/{BXc12GgwQ08R7S8e.mjs → CPs770aIZwPh6mF0.mjs} +1 -1
  71. package/node/esm/{rpVHlxg6GM8pJL5c.mjs → Cb6FcT6gppjhiDSw.mjs} +253 -251
  72. package/{browser/esm/D3YTY3N6YHU69ymA.mjs → node/esm/CiTlupx_cuXQySFz.mjs} +1 -1
  73. package/{browser/esm/bIOUtGNQ6YQktkYZ.mjs → node/esm/D6IgoU0LlIv_Vb4m.mjs} +1 -1
  74. package/{browser/esm/DaJrKgrSikJvUv0q.mjs → node/esm/DDHWZD7Y6pihyVio.mjs} +1 -1
  75. package/node/esm/{mxJXDPqwl0wNxd66.mjs → DEAxRkKlMDxHooJB.mjs} +1 -1
  76. package/{browser/esm/DP9RiXAeb1fiRFpG.mjs → node/esm/Dd2ZeNLusT_ZXcoE.mjs} +1 -1
  77. package/node/esm/{C6lX28OYg20N0MeO.mjs → DzsYVdrM0pVVPfdv.mjs} +1 -1
  78. package/{browser/esm/aF3uflTbayaEj07D.mjs → node/esm/NvmvIR3jfjlY98jJ.mjs} +1 -1
  79. package/node/esm/{BNURhfAYTEVJWTYT.mjs → XxsAmmMnL6UJ_NtN.mjs} +1 -1
  80. package/node/esm/{io70M3K8dlSe5V-4.mjs → ease-qEarwjnTOzw.mjs} +1 -1
  81. package/node/esm/index.mjs +12252 -13543
  82. package/{browser/esm/HTDFLMWuQb82Y-GF.mjs → node/esm/pyVBYhEMGgaVvnd1.mjs} +1 -1
  83. package/node/esm/{CHnRYVDwiNY7YZxQ.mjs → xlM5nOnBp3h54uCb.mjs} +1 -1
  84. package/package.json +4 -4
  85. package/browser/cjs/BRvrxzKBJ-g1N73t.cjs +0 -1501
  86. package/browser/cjs/Ba3X8U1ch1pBFv_a.cjs +0 -124
  87. package/browser/cjs/C2DyH3SwPIgmFosH.cjs +0 -7
  88. package/browser/cjs/CEW45o7VnarqfsgH.cjs +0 -6
  89. package/browser/cjs/CZ4_zpdkkZ0zH7aN.cjs +0 -6
  90. package/browser/cjs/CbYFnsibjJUHV0xm.cjs +0 -6
  91. package/browser/cjs/D_zdscoLJ72sNgWv.cjs +0 -32
  92. package/browser/cjs/mf_wa0ubPjGaRkSW.cjs +0 -13
  93. package/browser/cjs/wcsUsHAbDuK3rvVp.cjs +0 -60
  94. package/browser/esm/B0RFp5vlJWj9U4Wn.mjs +0 -29
  95. package/browser/esm/BikAM7lQn1NrVPNP.mjs +0 -21
  96. package/browser/esm/C0d1-jgvvUt3Bpg9.mjs +0 -472
  97. package/browser/esm/CqYcEZmhnI3bq0wV.mjs +0 -820
  98. package/browser/esm/DbvBy4EEBdPhE-8G.mjs +0 -24
  99. package/browser/esm/DhIglmQyhLXPjrbo.mjs +0 -1575
  100. package/node/esm/BI2k0XM8cAqRUH3e.mjs +0 -80
  101. package/node/esm/BPSX88j1UHZNFlgn.mjs +0 -14
  102. package/node/esm/BcQcJWzyihj46-gX.mjs +0 -454
  103. package/node/esm/C4d62D9fLTRjV7rI.mjs +0 -29
  104. package/node/esm/D_13otLly5j8n5Gg.mjs +0 -813
  105. package/node/esm/Dsf-AEKpZlzGOrcG.mjs +0 -16
@@ -1,10 +1,12 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.20
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.22
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
6
6
  */
7
- import { FormulaError as e, CoordUtils as t, c as n, ScalarType as r, t as s, g as i, CommonUtils as o, a, b as l, d as u, e as c, r as p, m as f, f as h } from "./index.mjs";
7
+ import { c as e, t, g as n, a as r, b as s, d as i, e as o, r as a, m as l, f as u } from "./index.mjs";
8
+ import { FormulaError as c, ScalarType as p } from "@sheetxl/primitives";
9
+ import { CoordUtils as f, CommonUtils as h } from "@sheetxl/utils";
8
10
  import { Lexer as g, createToken as d, EmbeddedActionsParser as m } from "chevrotain";
9
11
  const E = d({ name: "WhiteSpace", pattern: /\s+/, group: g.SKIPPED }), A = d({ name: "String", pattern: /"(""|[^"])*"/ }), N = d({ name: "SingleQuotedString", pattern: /'(''|[^'])*'/ }), I = d({ name: "SheetQuoted", pattern: /'((?![\\/[\]*?:]).)+?'!/ }), O = d({ name: "FunctionToken", pattern: /[A-Za-z_]+[A-Za-z_0-9.]*\(/ }), x = d({ name: "NamedTableReference", pattern: /[A-Za-z_]+[A-Za-z_0-9.]*\[/ }), S = d({ name: "BracketedString", pattern: /\[([^[\]]*)\]/, longer_alt: [x, A] }), L = d({ name: "LiteralError", pattern: /#PARSE!|#NULL!|#DIV\/0!|#VALUE!|#NUM!|#FIELD!|#N\/A|#GETTING_DATA|#SPILL!|#CONNECT!|#BLOCKED!|#UNKNOWN!|#FIELD!|#CALC!|#BUSY!|#PYTHON!|#TIMEOUT!/ }), T = d({ name: "RefError", pattern: /#REF!|#NAME\?/ }), R = d({ name: "Sheet", pattern: /[A-Za-z_.\d\u007F-\uFFFF]+!/ }), v = /^[a-zA-Z_][a-zA-Z0-9_.?]*:?/, U = d({ name: "Name", pattern: { exec: (e2, t2) => {
10
12
  try {
@@ -64,60 +66,60 @@ const ue = { boolean: 3, string: 2, number: 1 }, ce = (e2, t2) => {
64
66
  }, Oe = (e2 = null, t2 = null) => {
65
67
  const n2 = typeof e2, r2 = typeof t2;
66
68
  return n2 === r2 ? e2 <= t2 : ue[n2] <= ue[r2];
67
- }, xe = { type: r.Number, coerce: true, includeBoolean: true, includeMistyped: true, mismatchFill: e.BuiltIn.NA }, Se = { type: r.String, coerce: true, includeMistyped: true, mismatchFill: e.BuiltIn.NA }, Le = { type: null, coerce: true, includeMistyped: true, mismatchFill: e.BuiltIn.NA }, Te = (t2, i2, o2, a2) => {
68
- if (null !== i2 && void 0 !== i2.colStart && (i2 = t2.getValueAt(i2.rowStart, i2.colStart)), null !== o2 && void 0 !== o2.colStart && (o2 = t2.getValueAt(o2.rowStart, o2.colStart)), "number" == typeof i2 && "number" == typeof o2) return a2(i2, o2);
69
- let l2, u2;
70
- if (i2?.isIRange ? l2 = i2 : o2?.isIRange && (u2 = o2), !l2 && !u2) {
71
- const t3 = false;
72
- return i2 = n(i2, s(i2, true), r.Number, true, t3), o2 = n(o2, s(o2, true), r.Number, true, t3), i2 instanceof e.Value ? i2 : o2 instanceof e.Value ? o2 : a2(i2, o2);
69
+ }, xe = { type: p.Number, coerce: true, includeBoolean: true, includeMistyped: true, mismatchFill: c.BuiltIn.NA }, Se = { type: p.String, coerce: true, includeMistyped: true, mismatchFill: c.BuiltIn.NA }, Le = { type: null, coerce: true, includeMistyped: true, mismatchFill: c.BuiltIn.NA }, Te = (n2, r2, s2, i2) => {
70
+ if (null !== r2 && void 0 !== r2.colStart && (r2 = n2.getValueAt(r2.rowStart, r2.colStart)), null !== s2 && void 0 !== s2.colStart && (s2 = n2.getValueAt(s2.rowStart, s2.colStart)), "number" == typeof r2 && "number" == typeof s2) return i2(r2, s2);
71
+ let o2, a2;
72
+ if (r2?.isIRange ? o2 = r2 : s2?.isIRange && (a2 = s2), !o2 && !a2) {
73
+ const n3 = false;
74
+ return r2 = e(r2, t(r2, true), p.Number, true, n3), s2 = e(s2, t(s2, true), p.Number, true, n3), r2 instanceof c.Value ? r2 : s2 instanceof c.Value ? s2 : i2(r2, s2);
73
75
  }
74
- return l2 || (l2 = t2.getRange(i2)), l2.broadcast(o2, a2, xe).fillEmpty(0);
76
+ return o2 || (o2 = n2.getRange(r2)), o2.broadcast(s2, i2, xe).fillEmpty(0);
75
77
  }, Re = (e2, t2, n2, r2) => {
76
78
  let s2, i2;
77
79
  return null !== t2 && void 0 !== t2.colStart && (t2 = e2.getValueAt(t2.rowStart, t2.colStart)), null !== n2 && void 0 !== n2.colStart && (n2 = e2.getValueAt(n2.rowStart, n2.colStart)), t2?.isIRange ? (s2 = t2, i2 = n2) : n2?.isIRange && (s2 = n2, i2 = t2), s2 ? s2.broadcast(i2, r2, Le) : r2(t2, n2);
78
- }, ve = (t2, i2) => {
79
- null == i2 && (i2 = 0);
80
- let o2, a2 = 1;
81
- if ("+" === t2) return i2;
82
- if ("-" !== t2) throw new e.Value(`Unrecognized prefix: ${t2}`);
83
- return a2 = -a2, i2?.isIRange && (o2 = i2), o2 ? o2.broadcast(a2, fe, Le) : "number" != typeof (i2 = n(i2, s(i2, true), r.Number)) || isNaN(i2) ? e.BuiltIn.Value : i2 * a2;
84
- }, Ue = (t2, n2, r2, s2) => {
85
- if (!n2) return e.BuiltIn.Ref;
86
- if (n2.isIReferenceRange && (n2 = n2.getCoords()), void 0 === n2.colStart) return e.BuiltIn.Ref;
87
- if (r2.isIReferenceRange && (r2 = r2.getCoords()), void 0 === r2.colStart) return e.BuiltIn.Ref;
88
- const i2 = s2(n2, r2);
89
- return i2 ? t2.getReference(i2) : e.BuiltIn.Null;
90
- }, ye = { "+": (e2, t2, n2) => Te(e2, t2, n2, ce), "-": (e2, t2, n2) => Te(e2, t2, n2, pe), "*": (e2, t2, n2) => Te(e2, t2, n2, fe), "/": (e2, t2, n2) => Te(e2, t2, n2, he), "^": (e2, t2, n2) => Te(e2, t2, n2, ge), " ": (e2, n2, r2, s2) => Ue(e2, n2, r2, t.intersectRanges), ":": (e2, n2, r2, s2) => Ue(e2, n2, r2, t.unionRanges), ".:.": (e2, n2, r2, s2) => {
91
- const i2 = Ue(e2, n2, r2, t.unionRanges);
92
- return e2.getFunction("TRIMRANGE").execute(i2, 3, 3);
93
- }, ".:": (e2, n2, r2, s2) => {
94
- const i2 = Ue(e2, n2, r2, t.unionRanges);
95
- return e2.getFunction("TRIMRANGE").execute(i2, 1, 1);
96
- }, ":.": (e2, n2, r2, s2) => {
97
- const i2 = Ue(e2, n2, r2, t.unionRanges);
98
- return e2.getFunction("TRIMRANGE").execute(i2, 2, 2);
99
- }, "&": (e2, t2, i2) => ((e3, t3, i3, o2) => {
100
- if (null !== t3 && void 0 !== t3.colStart && (t3 = e3.getValueAt(t3.rowStart, t3.colStart)), null !== i3 && void 0 !== i3.colStart && (i3 = e3.getValueAt(i3.rowStart, i3.colStart)), "string" == typeof t3 && "string" == typeof i3) return o2(t3, i3);
101
- let a2, l2;
102
- return t3?.isIRange ? a2 = t3 : i3?.isIRange && (l2 = i3), a2 || l2 ? (a2 || (a2 = e3.getRange(t3)), a2.broadcast(i3, o2, Se)) : o2(t3 = n(t3, s(t3, true), r.String), i3 = n(i3, s(i3, true), r.String));
103
- })(e2, t2, i2, de), "=": (e2, t2, n2) => Re(e2, t2, n2, me), "<>": (e2, t2, n2) => Re(e2, t2, n2, Ee), ">": (e2, t2, n2) => Re(e2, t2, n2, Ae), "<": (e2, t2, n2) => Re(e2, t2, n2, Ie), ">=": (e2, t2, n2) => Re(e2, t2, n2, Ne), "<=": (e2, t2, n2) => Re(e2, t2, n2, Oe) }, we = { "-": (e2, t2) => ve("-", t2), "+": (e2, t2) => ve("+", t2), "@": (t2, n2) => {
104
- if (!n2 || !n2.isIReferenceRange) return n2;
105
- const r2 = n2.getCoords(), s2 = n2, i2 = t2.getPosition(), o2 = s2.getHeight(), a2 = s2.getWidth();
106
- if (a2 > 1 && o2 > 1) return e.BuiltIn.Value;
107
- if (o2 > 1) {
108
- const e2 = i2.rowIndex - r2.rowStart;
109
- if (e2 >= 0 && e2 < o2) return s2.getValueAt(e2, 0);
80
+ }, ve = (n2, r2) => {
81
+ null == r2 && (r2 = 0);
82
+ let s2, i2 = 1;
83
+ if ("+" === n2) return r2;
84
+ if ("-" !== n2) throw new c.Value(`Unrecognized prefix: ${n2}`);
85
+ return i2 = -i2, r2?.isIRange && (s2 = r2), s2 ? s2.broadcast(i2, fe, Le) : "number" != typeof (r2 = e(r2, t(r2, true), p.Number)) || isNaN(r2) ? c.BuiltIn.Value : r2 * i2;
86
+ }, Ue = (e2, t2, n2, r2) => {
87
+ if (!t2) return c.BuiltIn.Ref;
88
+ if (t2.isIReferenceRange && (t2 = t2.getCoords()), void 0 === t2.colStart) return c.BuiltIn.Ref;
89
+ if (n2.isIReferenceRange && (n2 = n2.getCoords()), void 0 === n2.colStart) return c.BuiltIn.Ref;
90
+ const s2 = r2(t2, n2);
91
+ return s2 ? e2.getReference(s2) : c.BuiltIn.Null;
92
+ }, ye = { "+": (e2, t2, n2) => Te(e2, t2, n2, ce), "-": (e2, t2, n2) => Te(e2, t2, n2, pe), "*": (e2, t2, n2) => Te(e2, t2, n2, fe), "/": (e2, t2, n2) => Te(e2, t2, n2, he), "^": (e2, t2, n2) => Te(e2, t2, n2, ge), " ": (e2, t2, n2, r2) => Ue(e2, t2, n2, f.intersectRanges), ":": (e2, t2, n2, r2) => Ue(e2, t2, n2, f.unionRanges), ".:.": (e2, t2, n2, r2) => {
93
+ const s2 = Ue(e2, t2, n2, f.unionRanges);
94
+ return e2.getFunction("TRIMRANGE").execute(s2, 3, 3);
95
+ }, ".:": (e2, t2, n2, r2) => {
96
+ const s2 = Ue(e2, t2, n2, f.unionRanges);
97
+ return e2.getFunction("TRIMRANGE").execute(s2, 1, 1);
98
+ }, ":.": (e2, t2, n2, r2) => {
99
+ const s2 = Ue(e2, t2, n2, f.unionRanges);
100
+ return e2.getFunction("TRIMRANGE").execute(s2, 2, 2);
101
+ }, "&": (n2, r2, s2) => ((n3, r3, s3, i2) => {
102
+ if (null !== r3 && void 0 !== r3.colStart && (r3 = n3.getValueAt(r3.rowStart, r3.colStart)), null !== s3 && void 0 !== s3.colStart && (s3 = n3.getValueAt(s3.rowStart, s3.colStart)), "string" == typeof r3 && "string" == typeof s3) return i2(r3, s3);
103
+ let o2, a2;
104
+ return r3?.isIRange ? o2 = r3 : s3?.isIRange && (a2 = s3), o2 || a2 ? (o2 || (o2 = n3.getRange(r3)), o2.broadcast(s3, i2, Se)) : i2(r3 = e(r3, t(r3, true), p.String), s3 = e(s3, t(s3, true), p.String));
105
+ })(n2, r2, s2, de), "=": (e2, t2, n2) => Re(e2, t2, n2, me), "<>": (e2, t2, n2) => Re(e2, t2, n2, Ee), ">": (e2, t2, n2) => Re(e2, t2, n2, Ae), "<": (e2, t2, n2) => Re(e2, t2, n2, Ie), ">=": (e2, t2, n2) => Re(e2, t2, n2, Ne), "<=": (e2, t2, n2) => Re(e2, t2, n2, Oe) }, we = { "-": (e2, t2) => ve("-", t2), "+": (e2, t2) => ve("+", t2), "@": (e2, t2) => {
106
+ if (!t2 || !t2.isIReferenceRange) return t2;
107
+ const n2 = t2.getCoords(), r2 = t2, s2 = e2.getPosition(), i2 = r2.getHeight(), o2 = r2.getWidth();
108
+ if (o2 > 1 && i2 > 1) return c.BuiltIn.Value;
109
+ if (i2 > 1) {
110
+ const e3 = s2.rowIndex - n2.rowStart;
111
+ if (e3 >= 0 && e3 < i2) return r2.getValueAt(e3, 0);
110
112
  } else {
111
- if (!(a2 > 1)) return s2.getValueAt(0, 0);
113
+ if (!(o2 > 1)) return r2.getValueAt(0, 0);
112
114
  {
113
- const e2 = i2.colIndex - r2.colStart;
114
- if (e2 >= 0 && e2 < a2) return s2.getValueAt(0, e2);
115
+ const e3 = s2.colIndex - n2.colStart;
116
+ if (e3 >= 0 && e3 < o2) return r2.getValueAt(0, e3);
115
117
  }
116
118
  }
117
- return e.BuiltIn.Value;
118
- } }, Ce = { "%": (e2, t2) => Te(e2, t2, 100, he), "#": (t2, n2) => {
119
- const r2 = t2.getSpillAt(n2.rowStart, n2.colStart);
120
- return r2 || e.BuiltIn.Ref;
119
+ return c.BuiltIn.Value;
120
+ } }, Ce = { "%": (e2, t2) => Te(e2, t2, 100, he), "#": (e2, t2) => {
121
+ const n2 = e2.getSpillAt(t2.rowStart, t2.colStart);
122
+ return n2 || c.BuiltIn.Ref;
121
123
  } };
122
124
  function _e(e2) {
123
125
  const t2 = (e2 = e2.toUpperCase()).length;
@@ -172,11 +174,11 @@ function Ge(e2) {
172
174
  function qe(e2) {
173
175
  return { type: "boolean", value: "TRUE" === e2 || "TRUE" === e2.toUpperCase(), isLiteral: true };
174
176
  }
175
- function je(t2) {
176
- return { type: "error", value: e.getBuiltInByLabel(t2.toUpperCase()), isLiteral: true };
177
+ function je(e2) {
178
+ return { type: "error", value: c.getBuiltInByLabel(e2.toUpperCase()), isLiteral: true };
177
179
  }
178
- function Ye(t2) {
179
- return { type: "error", value: t2 ? e.getBuiltInByLabel(t2.toUpperCase()) : e.BuiltIn.Ref, inputs: null, isReference: true };
180
+ function Ye(e2) {
181
+ return { type: "error", value: e2 ? c.getBuiltInByLabel(e2.toUpperCase()) : c.BuiltIn.Ref, inputs: null, isReference: true };
180
182
  }
181
183
  function De(e2, t2) {
182
184
  const n2 = function e3(n3, r2) {
@@ -195,74 +197,74 @@ function De(e2, t2) {
195
197
  return n2 || this;
196
198
  }
197
199
  function Ze(e2, t2) {
198
- let n2 = 0, r2 = De(e2, (e3) => {
200
+ let r2 = 0, s2 = De(e2, (e3) => {
199
201
  const t3 = { ...e3 };
200
- return t3.evalIndex = n2++, t3;
202
+ return t3.evalIndex = r2++, t3;
201
203
  });
202
- const s2 = new Array(n2), o2 = /* @__PURE__ */ new Set(), a2 = /* @__PURE__ */ new Map();
204
+ const i2 = new Array(r2), o2 = /* @__PURE__ */ new Set(), a2 = /* @__PURE__ */ new Map();
203
205
  let l2;
204
206
  const u2 = /* @__PURE__ */ new Map(), c2 = [], p2 = [];
205
- r2 = De(r2, (e3, t3) => {
206
- const n3 = e3.type, r3 = e3.evalIndex;
207
- if (s2[r3] = null, e3.isReference) {
208
- const t4 = e3, r4 = { node: e3, index: u2.size, op: null, value: null, inputs: null };
209
- if (u2.set(t4, r4), "cell" === n3) {
210
- const n4 = t4.value;
211
- return n4.$colIndex && (r4.hasHorizontalAbs = true), n4.$rowIndex && (r4.hasVerticalAbs = true), r4.value = a2.size, a2.set(t4, a2.size), o2.add(r4), e3.refIndex = p2.length, void p2.push(r4.index);
207
+ s2 = De(s2, (e3, t3) => {
208
+ const r3 = e3.type, s3 = e3.evalIndex;
209
+ if (i2[s3] = null, e3.isReference) {
210
+ const t4 = e3, n2 = { node: e3, index: u2.size, op: null, value: null, inputs: null };
211
+ if (u2.set(t4, n2), "cell" === r3) {
212
+ const r4 = t4.value;
213
+ return r4.$colIndex && (n2.hasHorizontalAbs = true), r4.$rowIndex && (n2.hasVerticalAbs = true), n2.value = a2.size, a2.set(t4, a2.size), o2.add(n2), e3.refIndex = p2.length, void p2.push(n2.index);
212
214
  }
213
- if ("infix" === n3 || "prefix" === n3 || "postfix" === n3 || "spill" === n3) {
214
- const n4 = t4.inputs, s3 = n4.length, i2 = e3.value;
215
- r4.op = i2;
216
- const a3 = new Array(s3);
217
- r4.inputs = a3;
218
- for (let e4 = 0; e4 < s3; e4++) {
219
- const t5 = n4[e4], s4 = u2.get(t5);
220
- s4 && (s4.hasHorizontalAbs && (r4.hasHorizontalAbs = true), s4.hasVerticalAbs && (r4.hasVerticalAbs = true)), a3[e4] = s4 ? s4.index : -1, o2.delete(s4);
215
+ if ("infix" === r3 || "prefix" === r3 || "postfix" === r3 || "spill" === r3) {
216
+ const r4 = t4.inputs, s4 = r4.length, i3 = e3.value;
217
+ n2.op = i3;
218
+ const a3 = new Array(s4);
219
+ n2.inputs = a3;
220
+ for (let e4 = 0; e4 < s4; e4++) {
221
+ const t5 = r4[e4], s5 = u2.get(t5);
222
+ s5 && (s5.hasHorizontalAbs && (n2.hasHorizontalAbs = true), s5.hasVerticalAbs && (n2.hasVerticalAbs = true)), a3[e4] = s5 ? s5.index : -1, o2.delete(s5);
221
223
  }
222
- if (o2.add(r4), Je.includes(i2)) {
223
- const t5 = n4[0], s4 = !!t5 && "cell" === t5.type, i3 = n4[1], o3 = !!i3 && "cell" === i3.type;
224
- s4 && o3 && (p2.splice(i3.refIndex, 1), i3.refIndex = t5.refIndex, e3.refIndex = t5.refIndex, p2[t5.refIndex] = r4.index);
225
- } else "#" === i2 && (e3.refIndex = n4[0].refIndex);
224
+ if (o2.add(n2), Je.includes(i3)) {
225
+ const t5 = r4[0], s5 = !!t5 && "cell" === t5.type, i4 = r4[1], o3 = !!i4 && "cell" === i4.type;
226
+ s5 && o3 && (p2.splice(i4.refIndex, 1), i4.refIndex = t5.refIndex, e3.refIndex = t5.refIndex, p2[t5.refIndex] = n2.index);
227
+ } else "#" === i3 && (e3.refIndex = r4[0].refIndex);
226
228
  return void c2.push(e3);
227
229
  }
228
- if ("error" === n3 || "named" === n3) {
230
+ if ("error" === r3 || "named" === r3) {
229
231
  l2 || (l2 = /* @__PURE__ */ new Map());
230
- const s3 = t4.value;
231
- let i2 = l2.get(s3);
232
- return r4.op = n3, void 0 === i2 && (i2 = l2.size, l2.set(s3, i2)), r4.value = i2, o2.add(r4), e3.refIndex = p2.length, void p2.push(r4.index);
232
+ const s4 = t4.value;
233
+ let i3 = l2.get(s4);
234
+ return n2.op = r3, void 0 === i3 && (i3 = l2.size, l2.set(s4, i3)), n2.value = i3, o2.add(n2), e3.refIndex = p2.length, void p2.push(n2.index);
233
235
  }
234
- "tableReference" === n3 && (r4.op = n3), "tableSpecifier" === n3 && (r4.op = n3), "structuredArg" === n3 && (r4.op = n3);
236
+ "tableReference" === r3 && (n2.op = r3), "tableSpecifier" === r3 && (n2.op = r3), "structuredArg" === r3 && (n2.op = r3);
235
237
  } else if (t3 && t3.isReference) {
236
- const t4 = e3, n4 = { node: e3, index: u2.size, op: "function", value: e3.value, inputs: null };
237
- u2.set(t4, n4);
238
+ const t4 = e3, n2 = { node: e3, index: u2.size, op: "function", value: e3.value, inputs: null };
239
+ u2.set(t4, n2);
238
240
  }
239
- if (e3.isLiteral) if ("array" !== n3) s2[r3] = e3.value;
241
+ if (e3.isLiteral) if ("array" !== r3) i2[s3] = e3.value;
240
242
  else {
241
- const t4 = e3.value, n4 = t4.length, o3 = new Array(n4);
242
- for (let e4 = 0; e4 < n4; e4++) {
243
- const n5 = t4[e4].value, r4 = n5.length, s3 = new Array(r4);
244
- for (let e5 = 0; e5 < r4; e5++) {
245
- const t5 = n5[e5];
246
- let r5 = t5.value;
243
+ const t4 = e3.value, r4 = t4.length, o3 = new Array(r4);
244
+ for (let e4 = 0; e4 < r4; e4++) {
245
+ const n2 = t4[e4].value, r5 = n2.length, s4 = new Array(r5);
246
+ for (let e5 = 0; e5 < r5; e5++) {
247
+ const t5 = n2[e5];
248
+ let r6 = t5.value;
247
249
  if ("prefix" === t5.type) {
248
250
  const e6 = t5.value;
249
- r5 = t5.inputs[0].value, "-" === e6 && (r5 = -r5);
251
+ r6 = t5.inputs[0].value, "-" === e6 && (r6 = -r6);
250
252
  }
251
- s3[e5] = r5;
253
+ s4[e5] = r6;
252
254
  }
253
- o3[e4] = s3;
255
+ o3[e4] = s4;
254
256
  }
255
- s2[r3] = i(o3);
257
+ i2[s3] = n(o3);
256
258
  }
257
259
  else {
258
- if ("empty" !== n3) return c2.push(e3), e3;
259
- s2[r3] = void 0;
260
+ if ("empty" !== r3) return c2.push(e3), e3;
261
+ i2[s3] = void 0;
260
262
  }
261
263
  });
262
264
  const f2 = new Array(a2.size);
263
265
  a2.forEach((e3, t3) => {
264
- const n3 = t3.value, r3 = n3.colIndex, s3 = n3.rowIndex, i2 = n3.$colIndex, o3 = n3.$rowIndex, a3 = { colStart: r3, rowStart: s3, colEnd: r3, rowEnd: s3, $colStart: i2, $rowStart: o3, $colEnd: i2, $rowEnd: o3 };
265
- r3 === Number.MIN_SAFE_INTEGER && (a3.colEnd = Number.MAX_SAFE_INTEGER), s3 === Number.MIN_SAFE_INTEGER && (a3.rowEnd = Number.MAX_SAFE_INTEGER), n3.sheetName && (a3.sheetName = n3.sheetName), f2[e3] = a3;
266
+ const n2 = t3.value, r3 = n2.colIndex, s3 = n2.rowIndex, i3 = n2.$colIndex, o3 = n2.$rowIndex, a3 = { colStart: r3, rowStart: s3, colEnd: r3, rowEnd: s3, $colStart: i3, $rowStart: o3, $colEnd: i3, $rowEnd: o3 };
267
+ r3 === Number.MIN_SAFE_INTEGER && (a3.colEnd = Number.MAX_SAFE_INTEGER), s3 === Number.MIN_SAFE_INTEGER && (a3.rowEnd = Number.MAX_SAFE_INTEGER), n2.sheetName && (a3.sheetName = n2.sheetName), f2[e3] = a3;
266
268
  });
267
269
  const h2 = f2.length, g2 = new Array(h2);
268
270
  for (let e3 = 0; e3 < h2; e3++) g2[e3] = { colStart: 0, rowStart: 0, colEnd: 0, rowEnd: 0, sheetName: null };
@@ -279,113 +281,113 @@ function Ze(e2, t2) {
279
281
  });
280
282
  const A2 = c2.length;
281
283
  for (let e3 = 0; e3 < A2; e3++) {
282
- const t3 = c2[e3], n3 = t3.type;
283
- if ("infix" === n3) {
284
+ const t3 = c2[e3], n2 = t3.type;
285
+ if ("infix" === n2) {
284
286
  const e4 = t3.value;
285
287
  t3.fn = ye[e4];
286
- } else if ("prefix" === n3) {
288
+ } else if ("prefix" === n2) {
287
289
  const e4 = t3.value;
288
290
  t3.fn = we[e4];
289
- } else if ("postfix" === n3) {
291
+ } else if ("postfix" === n2) {
290
292
  const e4 = t3.value;
291
293
  t3.fn = Ce[e4];
292
294
  }
293
295
  }
294
296
  const N2 = function(e3) {
295
- const t3 = [], n3 = (e4, n4) => {
297
+ const t3 = [], n2 = (e4, n3) => {
296
298
  const r4 = { type: e4.type, value: e4.value };
297
- void 0 !== e4.evalIndex && (r4.evalIndex = e4.evalIndex), void 0 !== e4.refIndex && (r4.refIndex = e4.refIndex), n4 && (r4.ctx = n4), t3.push(r4);
298
- }, r3 = (e4, n4, r4, s4) => {
299
- if (null == n4) return;
299
+ void 0 !== e4.evalIndex && (r4.evalIndex = e4.evalIndex), void 0 !== e4.refIndex && (r4.refIndex = e4.refIndex), n3 && (r4.ctx = n3), t3.push(r4);
300
+ }, r3 = (e4, n3, r4, s4) => {
301
+ if (null == n3) return;
300
302
  if (t3.length > 1 && "whitespace" === e4 && "whitespace" === t3[t3.length - 1].type) return;
301
- const i2 = { type: e4, value: n4 };
302
- r4 && (i2.ctx = r4), void 0 !== s4 && (i2.evalIndex = s4), t3.push(i2);
303
+ const i3 = { type: e4, value: n3 };
304
+ r4 && (i3.ctx = r4), void 0 !== s4 && (i3.evalIndex = s4), t3.push(i3);
303
305
  };
304
- !function e4(t4, s4, i2) {
305
- const o3 = t4.evalIndex ?? i2 ?? 0, a3 = t4.type, l3 = (t5, n4, s5) => {
306
+ !function e4(t4, s4, i3) {
307
+ const o3 = t4.evalIndex ?? i3 ?? 0, a3 = t4.type, l3 = (t5, n3, s5) => {
306
308
  if (!t5) return;
307
- const i3 = t5.length;
308
- for (let o4 = 0; o4 < i3; o4++) e4(t5[o4], n4, s5), o4 < i3 - 1 && r3("comma", ",", n4);
309
+ const i4 = t5.length;
310
+ for (let o4 = 0; o4 < i4; o4++) e4(t5[o4], n3, s5), o4 < i4 - 1 && r3("comma", ",", n3);
309
311
  };
310
312
  if (t4.isLiteral) {
311
313
  if (r3("whitespace", t4.wsBefore, s4), "array" === a3) {
312
314
  r3("type", "{", s4);
313
- const n4 = t4.value, i3 = n4.length;
314
- for (let t5 = 0; t5 < i3; t5++) {
315
- const a4 = n4[t5], l4 = a4.value, u3 = l4.length;
315
+ const n3 = t4.value, i4 = n3.length;
316
+ for (let t5 = 0; t5 < i4; t5++) {
317
+ const a4 = n3[t5], l4 = a4.value, u3 = l4.length;
316
318
  for (let t6 = 0; t6 < u3; t6++) {
317
- const n5 = l4[t6];
318
- r3("whitespace", n5.wsBefore, s4), e4(n5, s4, o3), r3("whitespace", n5.wsAfter, s4), t6 < u3 - 1 && r3("comma", ",", s4);
319
+ const n4 = l4[t6];
320
+ r3("whitespace", n4.wsBefore, s4), e4(n4, s4, o3), r3("whitespace", n4.wsAfter, s4), t6 < u3 - 1 && r3("comma", ",", s4);
319
321
  }
320
- t5 < i3 - 1 && (r3("whitespace", a4.wsBefore, s4), r3("comma", ";", s4), r3("whitespace", a4.wsAfter, s4));
322
+ t5 < i4 - 1 && (r3("whitespace", a4.wsBefore, s4), r3("comma", ";", s4), r3("whitespace", a4.wsAfter, s4));
321
323
  }
322
324
  t4.error || r3("type", "}", s4);
323
- } else "quotedString" === a3 ? (t4 = { type: a3, value: '"' + t4.value + '"' }, n3(t4, s4)) : n3(t4, s4);
325
+ } else "quotedString" === a3 ? (t4 = { type: a3, value: '"' + t4.value + '"' }, n2(t4, s4)) : n2(t4, s4);
324
326
  r3("whitespace", t4.wsAfter, s4);
325
- } else if ("infix" === a3) e4(t4.inputs[0], s4, o3), r3("whitespace", t4.wsBefore, s4), n3(t4, s4), r3("whitespace", t4.wsAfter, s4), e4(t4.inputs[1], s4, o3);
326
- else if ("prefix" === a3) r3("whitespace", t4.wsBefore, s4), n3(t4, s4), r3("whitespace", t4.wsAfter, s4), e4(t4.inputs[0], s4, o3);
327
- else if ("postfix" === a3) e4(t4.inputs[0], s4, o3), r3("whitespace", t4.wsBefore, s4), n3(t4, s4), r3("whitespace", t4.wsAfter, s4);
327
+ } else if ("infix" === a3) e4(t4.inputs[0], s4, o3), r3("whitespace", t4.wsBefore, s4), n2(t4, s4), r3("whitespace", t4.wsAfter, s4), e4(t4.inputs[1], s4, o3);
328
+ else if ("prefix" === a3) r3("whitespace", t4.wsBefore, s4), n2(t4, s4), r3("whitespace", t4.wsAfter, s4), e4(t4.inputs[0], s4, o3);
329
+ else if ("postfix" === a3) e4(t4.inputs[0], s4, o3), r3("whitespace", t4.wsBefore, s4), n2(t4, s4), r3("whitespace", t4.wsAfter, s4);
328
330
  else {
329
331
  r3("whitespace", t4.wsBefore, s4);
330
- const i3 = t4.inputs;
332
+ const i4 = t4.inputs;
331
333
  switch (a3) {
332
334
  case "function":
333
- n3(t4, s4);
335
+ n2(t4, s4);
334
336
  const u3 = { name: String(t4.value), argIndex: -1 };
335
- if (r3("paren", "(", u3, t4.evalIndex), i3) {
336
- const t5 = i3.length;
337
- for (let n4 = 0; n4 < t5; n4++) {
338
- const s5 = { ...u3, argIndex: n4 };
339
- e4(i3[n4], s5, o3), n4 < t5 - 1 && r3("comma", ",", s5);
337
+ if (r3("paren", "(", u3, t4.evalIndex), i4) {
338
+ const t5 = i4.length;
339
+ for (let n3 = 0; n3 < t5; n3++) {
340
+ const s5 = { ...u3, argIndex: n3 };
341
+ e4(i4[n3], s5, o3), n3 < t5 - 1 && r3("comma", ",", s5);
340
342
  }
341
343
  }
342
344
  t4.error || r3("paren", ")", u3, t4.evalIndex);
343
345
  break;
344
346
  case "cell":
345
- n3(t4, s4);
347
+ n2(t4, s4);
346
348
  break;
347
349
  case "paren":
348
- r3(a3, "(", s4, o3), l3(i3, s4, o3), t4.error || r3(a3, ")", s4, o3);
350
+ r3(a3, "(", s4, o3), l3(i4, s4, o3), t4.error || r3(a3, ")", s4, o3);
349
351
  break;
350
352
  case "squareParen":
351
- r3(a3, "[", s4, o3), l3(i3, s4, o3), t4.error || r3(a3, "]", s4, o3);
353
+ r3(a3, "[", s4, o3), l3(i4, s4, o3), t4.error || r3(a3, "]", s4, o3);
352
354
  break;
353
355
  case "tableReference":
354
- n3(t4, s4);
356
+ n2(t4, s4);
355
357
  const c3 = { name: String(t4.value), argIndex: -1 };
356
- if (r3("paren", "[", c3), i3) {
357
- const t5 = i3.length;
358
- for (let n4 = 0; n4 < t5; n4++) {
359
- const s5 = { ...c3, argIndex: n4 };
360
- e4(i3[n4], s5, o3), n4 < t5 - 1 && r3("comma", ",", s5);
358
+ if (r3("paren", "[", c3), i4) {
359
+ const t5 = i4.length;
360
+ for (let n3 = 0; n3 < t5; n3++) {
361
+ const s5 = { ...c3, argIndex: n3 };
362
+ e4(i4[n3], s5, o3), n3 < t5 - 1 && r3("comma", ",", s5);
361
363
  }
362
364
  }
363
365
  t4.error || r3("paren", "]", c3);
364
366
  break;
365
367
  default:
366
- void 0 !== t4.value && n3(t4, s4), i3 && i3.forEach((t5) => e4(t5, s4, o3));
368
+ void 0 !== t4.value && n2(t4, s4), i4 && i4.forEach((t5) => e4(t5, s4, o3));
367
369
  }
368
370
  r3("whitespace", t4.wsAfter, s4);
369
371
  }
370
372
  }(e3);
371
373
  const s3 = t3.length;
372
374
  for (let e4 = 0; e4 < s3; e4++) {
373
- const n4 = t3[e4];
374
- if ("whitespace" === n4.type && void 0 === n4.evalIndex) {
375
+ const n3 = t3[e4];
376
+ if ("whitespace" === n3.type && void 0 === n3.evalIndex) {
375
377
  const r4 = t3[e4 + 1];
376
- r4 && void 0 !== r4.evalIndex && (n4.evalIndex = r4.evalIndex);
378
+ r4 && void 0 !== r4.evalIndex && (n3.evalIndex = r4.evalIndex);
377
379
  }
378
380
  }
379
381
  return t3;
380
- }(r2);
381
- return { ast: r2, evaluations: s2, executions: c2, precedentsAbsolute: g2, precedentsExecute: d2, precedentsNamed: m2, precedentsRelative: f2, precedentsRoot: E2, references: p2, tokens: N2, error: t2 };
382
+ }(s2);
383
+ return { ast: s2, evaluations: i2, executions: c2, precedentsAbsolute: g2, precedentsExecute: d2, precedentsNamed: m2, precedentsRelative: f2, precedentsRoot: E2, references: p2, tokens: N2, error: t2 };
382
384
  }
383
- function He(t2, n2) {
384
- let r2, s2 = -1, i2 = "";
385
- Number.isSafeInteger(t2.previousToken?.startLine) ? (s2 = t2.previousToken.startLine, r2 = t2.previousToken.endColumn + 1) : Number.isSafeInteger(t2.token?.startLine) && (s2 = t2.token.startLine, r2 = t2.token.startColumn), -1 !== s2 ? (i2 += "\n" + n2.split("\n")[s2 - 1] + "\n", i2 += Array(r2 - 1).fill(" ").join("") + "^\n", i2 += `Error at position ${s2}:${r2}
386
- ` + t2.message, t2.errorLocation = { line: s2, column: r2 }) : i2 = n2 + "\n" + t2.message;
387
- const o2 = new e.Parse(i2);
388
- return o2.details = t2, o2;
385
+ function He(e2, t2) {
386
+ let n2, r2 = -1, s2 = "";
387
+ Number.isSafeInteger(e2.previousToken?.startLine) ? (r2 = e2.previousToken.startLine, n2 = e2.previousToken.endColumn + 1) : Number.isSafeInteger(e2.token?.startLine) && (r2 = e2.token.startLine, n2 = e2.token.startColumn), -1 !== r2 ? (s2 += "\n" + t2.split("\n")[r2 - 1] + "\n", s2 += Array(n2 - 1).fill(" ").join("") + "^\n", s2 += `Error at position ${r2}:${n2}
388
+ ` + e2.message, e2.errorLocation = { line: r2, column: n2 }) : s2 = t2 + "\n" + e2.message;
389
+ const i2 = new c.Parse(s2);
390
+ return i2.details = e2, i2;
389
391
  }
390
392
  const Ke = function(e2, t2) {
391
393
  return t2.wsBefore && (e2.wsBefore = t2.wsBefore), t2.wsAfter && (e2.wsAfter = t2.wsAfter), t2.image && (e2.image = t2.image), e2;
@@ -672,66 +674,66 @@ class Dt extends m {
672
674
  }
673
675
  return e2;
674
676
  }
675
- _createAST(t2, n2) {
676
- const r2 = function(t3) {
677
- const n3 = ae.tokenize(t3);
678
- if (n3.errors.length > 0) {
679
- const r3 = n3.errors[0], s3 = r3.line, i3 = r3.column;
680
- let o3 = "\n" + t3.split("\n")[s3 - 1] + "\n";
681
- throw o3 += Array(i3 - 1).fill(" ").join("") + "^\n", r3.message = o3 + `Error at position ${s3}:${i3}
682
- ` + r3.message, r3.errorLocation = { line: s3, column: i3 }, new e.Parse(r3.message, { line: s3, column: i3, offset: r3.offset, length: r3.length });
677
+ _createAST(e2, t2) {
678
+ const n2 = function(e3) {
679
+ const t3 = ae.tokenize(e3);
680
+ if (t3.errors.length > 0) {
681
+ const n3 = t3.errors[0], r3 = n3.line, s3 = n3.column;
682
+ let i3 = "\n" + e3.split("\n")[r3 - 1] + "\n";
683
+ throw i3 += Array(s3 - 1).fill(" ").join("") + "^\n", n3.message = i3 + `Error at position ${r3}:${s3}
684
+ ` + n3.message, n3.errorLocation = { line: r3, column: s3 }, new c.Parse(n3.message, { line: r3, column: s3, offset: n3.offset, length: n3.length });
683
685
  }
684
- return n3;
685
- }(n2);
686
- let s2;
687
- if (!r2) return s2 = { type: "text", value: n2 }, s2;
688
- const i2 = r2.tokens;
689
- this.input = i2, this.inputTextLength = n2.length;
690
- const o2 = t2.getPosition();
691
- return this.position = o2, this.astErrors = [], this.reset(), s2 = this.intersectOp(), s2 = De(s2, (e2, t3) => {
692
- let n3 = e2.type;
693
- if ("function" === n3 && e2.value && e2.value.toUpperCase().startsWith(Qe)) {
694
- const t4 = e2.value.substring(6);
695
- let r4 = e2.image.substring(6), s3 = e2;
696
- "ANCHORARRAY" === t4 ? (s3 = We("#", e2.inputs[0], true), r4 = "#") : "SINGLE" === t4 ? (s3 = ze("@", e2.inputs[0], true), r4 = "@") : s3 = Pe(t4, e2.inputs), Ke(s3, e2), s3.image = r4, n3 = (e2 = s3).type;
686
+ return t3;
687
+ }(t2);
688
+ let r2;
689
+ if (!n2) return r2 = { type: "text", value: t2 }, r2;
690
+ const s2 = n2.tokens;
691
+ this.input = s2, this.inputTextLength = t2.length;
692
+ const i2 = e2.getPosition();
693
+ return this.position = i2, this.astErrors = [], this.reset(), r2 = this.intersectOp(), r2 = De(r2, (e3, t3) => {
694
+ let n3 = e3.type;
695
+ if ("function" === n3 && e3.value && e3.value.toUpperCase().startsWith(Qe)) {
696
+ const t4 = e3.value.substring(6);
697
+ let r4 = e3.image.substring(6), s3 = e3;
698
+ "ANCHORARRAY" === t4 ? (s3 = We("#", e3.inputs[0], true), r4 = "#") : "SINGLE" === t4 ? (s3 = ze("@", e3.inputs[0], true), r4 = "@") : s3 = Pe(t4, e3.inputs), Ke(s3, e3), s3.image = r4, n3 = (e3 = s3).type;
697
699
  }
698
700
  const r3 = t3?.isReference;
699
701
  if (r3) {
700
702
  const n4 = t3.value;
701
- if ((":" === n4 || ".:." === n4 || ".:" === n4 || ":." === n4) && Number.isInteger(e2.value)) {
702
- const n5 = t3.inputs[0] === e2 ? t3.inputs[1] : t3.inputs[0];
703
+ if ((":" === n4 || ".:." === n4 || ".:" === n4 || ":." === n4) && Number.isInteger(e3.value)) {
704
+ const n5 = t3.inputs[0] === e3 ? t3.inputs[1] : t3.inputs[0];
703
705
  if (n5 && Number.isInteger(n5.value)) {
704
- const t4 = be(e2.image, o2);
705
- return Ke(t4, e2), t4;
706
+ const t4 = be(e3.image, i2);
707
+ return Ke(t4, e3), t4;
706
708
  }
707
709
  }
708
710
  } else if ("cell" === n3) {
709
- const t4 = e2.value;
711
+ const t4 = e3.value;
710
712
  if (t4.rowIndex === Number.MIN_SAFE_INTEGER || t4.colIndex >= 16384) {
711
- const t5 = ke(e2.image);
712
- return Ke(t5, e2), t5;
713
+ const t5 = ke(e3.image);
714
+ return Ke(t5, e3), t5;
713
715
  }
714
716
  }
715
- return e2;
716
- }), s2;
717
+ return e3;
718
+ }), r2;
717
719
  }
718
- build(t2, n2) {
719
- if (0 === n2.length) throw Error("Input must not be empty.");
720
- let r2, s2, i2;
720
+ build(e2, t2) {
721
+ if (0 === t2.length) throw Error("Input must not be empty.");
722
+ let n2, r2, s2;
721
723
  try {
722
- r2 = this._createAST(t2, n2);
723
- } catch (t3) {
724
- i2 = t3 instanceof e.Parse ? t3 : new e.Parse(t3.message, t3);
724
+ n2 = this._createAST(e2, t2);
725
+ } catch (e3) {
726
+ s2 = e3 instanceof c.Parse ? e3 : new c.Parse(e3.message, e3);
725
727
  }
726
- const a2 = this.errors;
727
- if (a2.length > 0) {
728
- i2 = He(a2[0], n2);
728
+ const i2 = this.errors;
729
+ if (i2.length > 0) {
730
+ s2 = He(i2[0], t2);
729
731
  }
730
- const l2 = this.astErrors;
731
- if (l2.length > 0) {
732
- i2 = He(l2[0], n2);
732
+ const o2 = this.astErrors;
733
+ if (o2.length > 0) {
734
+ s2 = He(o2[0], t2);
733
735
  }
734
- return s2 = r2 ? Ze(r2, i2) : { ast: null, evaluations: o.EmptyArray, executions: o.EmptyArray, precedentsAbsolute: o.EmptyArray, precedentsExecute: o.EmptyArray, precedentsNamed: null, precedentsRelative: o.EmptyArray, precedentsRoot: o.EmptyArray, references: o.EmptyArray, tokens: o.EmptyArray, error: i2 }, s2;
736
+ return r2 = n2 ? Ze(n2, s2) : { ast: null, evaluations: h.EmptyArray, executions: h.EmptyArray, precedentsAbsolute: h.EmptyArray, precedentsExecute: h.EmptyArray, precedentsNamed: null, precedentsRelative: h.EmptyArray, precedentsRoot: h.EmptyArray, references: h.EmptyArray, tokens: h.EmptyArray, error: s2 }, r2;
735
737
  }
736
738
  }
737
739
  class Zt {
@@ -739,7 +741,7 @@ class Zt {
739
741
  this._options = e2, this._compiled = t2;
740
742
  }
741
743
  getTextAt(e2, t2, n2 = false) {
742
- return n2 ? l(this._compiled.tokens) : a(this._compiled.tokens, e2, t2);
744
+ return n2 ? s(this._compiled.tokens) : r(this._compiled.tokens, e2, t2);
743
745
  }
744
746
  getTokens() {
745
747
  return this._compiled.tokens;
@@ -752,11 +754,11 @@ class Zt {
752
754
  if (this === e2) return true;
753
755
  const t2 = this._compiled.tokens, n2 = e2._compiled.tokens;
754
756
  if (t2.length !== n2.length) return false;
755
- return l(t2) === l(n2);
757
+ return s(t2) === s(n2);
756
758
  }
757
759
  getReferences() {
758
760
  const e2 = this._compiled, t2 = e2.references, n2 = t2.length;
759
- if (0 === n2) return o.EmptyArray;
761
+ if (0 === n2) return h.EmptyArray;
760
762
  const r2 = e2.precedentsExecute, s2 = e2.precedentsRelative, i2 = new Array(n2);
761
763
  for (let o2 = 0; o2 < n2; o2++) {
762
764
  const n3 = r2[t2[o2]], a2 = n3.inputs;
@@ -773,40 +775,40 @@ class Zt {
773
775
  }
774
776
  return i2;
775
777
  }
776
- setReferenceAt(e2, n2) {
777
- const r2 = this._compiled, s2 = r2.references;
778
- if (0 === s2.length) return o.EmptyArray;
779
- const i2 = r2.precedentsExecute, a2 = s2[e2];
780
- if (void 0 === a2) throw new Error(`Invalid reference index: ${e2}`);
781
- const l2 = i2[a2], u2 = l2.node, c2 = u2.inputs ?? o.EmptyArray;
782
- let p2, f2, h2 = false;
783
- n2 && (p2 = { colIndex: n2.colStart, rowIndex: n2.rowStart, $colIndex: n2.$colStart ?? false, $rowIndex: n2.$rowStart ?? false }, n2.sheetName && (p2.sheetName = n2.sheetName), h2 = !t.isSingleCell(n2), h2 && (f2 = { colIndex: n2.colEnd, rowIndex: n2.rowEnd, $colIndex: n2.$colEnd ?? false, $rowIndex: n2.$rowEnd ?? false }, n2.colEnd === Number.MAX_SAFE_INTEGER && (f2.colIndex = Number.MIN_SAFE_INTEGER), n2.rowEnd === Number.MAX_SAFE_INTEGER && (f2.rowIndex = Number.MIN_SAFE_INTEGER)));
784
- const g2 = 2 === c2.length;
778
+ setReferenceAt(e2, t2) {
779
+ const n2 = this._compiled, r2 = n2.references;
780
+ if (0 === r2.length) return h.EmptyArray;
781
+ const s2 = n2.precedentsExecute, i2 = r2[e2];
782
+ if (void 0 === i2) throw new Error(`Invalid reference index: ${e2}`);
783
+ const o2 = s2[i2], a2 = o2.node, l2 = a2.inputs ?? h.EmptyArray;
784
+ let u2, c2, p2 = false;
785
+ t2 && (u2 = { colIndex: t2.colStart, rowIndex: t2.rowStart, $colIndex: t2.$colStart ?? false, $rowIndex: t2.$rowStart ?? false }, t2.sheetName && (u2.sheetName = t2.sheetName), p2 = !f.isSingleCell(t2), p2 && (c2 = { colIndex: t2.colEnd, rowIndex: t2.rowEnd, $colIndex: t2.$colEnd ?? false, $rowIndex: t2.$rowEnd ?? false }, t2.colEnd === Number.MAX_SAFE_INTEGER && (c2.colIndex = Number.MIN_SAFE_INTEGER), t2.rowEnd === Number.MAX_SAFE_INTEGER && (c2.rowIndex = Number.MIN_SAFE_INTEGER)));
786
+ const g2 = 2 === l2.length;
785
787
  let d2 = -1, m2 = -1;
786
- if (g2) d2 = c2[0].evalIndex, m2 = c2[1].evalIndex;
788
+ if (g2) d2 = l2[0].evalIndex, m2 = l2[1].evalIndex;
787
789
  else {
788
- if ("cell" !== u2.type) throw "named" === l2.op ? new Error("Cannot setReference for a named reference") : new Error(`Invalidate reference index: ${e2}`);
789
- d2 = u2.evalIndex;
790
+ if ("cell" !== a2.type) throw "named" === o2.op ? new Error("Cannot setReference for a named reference") : new Error(`Invalidate reference index: ${e2}`);
791
+ d2 = a2.evalIndex;
790
792
  }
791
793
  const E2 = this._compiled.ast, A2 = De(E2, (e3) => {
792
794
  if (!e3 || !e3.isReference) return;
793
- const t2 = e3.type;
794
- if (!n2 && Je.includes(e3.value)) {
795
- const e4 = c2[0], t3 = c2[1];
796
- let n3 = e4.evalIndex === d2, r4 = t3.evalIndex === m2;
797
- if (n3 || r4) {
795
+ const n3 = e3.type;
796
+ if (!t2 && Je.includes(e3.value)) {
797
+ const e4 = l2[0], t3 = l2[1];
798
+ let n4 = e4.evalIndex === d2, r4 = t3.evalIndex === m2;
799
+ if (n4 || r4) {
798
800
  const e5 = Ye();
799
801
  return e5.image = "#REF!", e5;
800
802
  }
801
803
  }
802
- if (!("cell" === t2 || "error" === t2)) return;
804
+ if (!("cell" === n3 || "error" === n3)) return;
803
805
  const r3 = e3.evalIndex;
804
806
  let s3, i3 = r3 === d2;
805
807
  if (i3 || r3 === m2) {
806
- if (n2) if (g2 === h2) {
807
- let t3 = i3 ? p2 : f2;
808
+ if (t2) if (g2 === p2) {
809
+ let t3 = i3 ? u2 : c2;
808
810
  s3 = { ...e3 }, s3.value = t3, s3.image = null;
809
- } else s3 = h2 ? $e(":", Me(p2), Me(f2), true) : Me(p2);
811
+ } else s3 = p2 ? $e(":", Me(u2), Me(c2), true) : Me(u2);
810
812
  else s3 = Ye(), s3.image = "#REF!";
811
813
  return s3;
812
814
  }
@@ -815,147 +817,147 @@ class Zt {
815
817
  const N2 = Ze(A2, this._compiled.error), I2 = this._options;
816
818
  return new Zt(I2, N2);
817
819
  }
818
- _resolveNamed(t2, n2, r2, s2) {
819
- const i2 = this._options?.getNamed;
820
- if (!i2) return e.BuiltIn.Name;
821
- let o2 = i2?.(t2, this._options.getSheetName?.())?.[0];
822
- return o2 ? (o2.isFormulaError || (o2 = u(o2, n2, r2, s2)), o2) : e.BuiltIn.Name;
820
+ _resolveNamed(e2, t2, n2, r2) {
821
+ const s2 = this._options?.getNamed;
822
+ if (!s2) return c.BuiltIn.Name;
823
+ let o2 = s2?.(e2, this._options.getSheetName?.())?.[0];
824
+ return o2 ? (o2.isFormulaError || (o2 = i(o2, t2, n2, r2)), o2) : c.BuiltIn.Name;
823
825
  }
824
- getDirectPrecedentsAt(n2, r2, s2 = false, i2, a2) {
825
- const l2 = this._compiled, c2 = l2.precedentsRoot, p2 = c2.length;
826
- if (0 === p2) return o.EmptyArray;
827
- const f2 = l2.precedentsRelative, h2 = l2.precedentsAbsolute, g2 = f2.length;
828
- for (let e2 = 0; e2 < g2; e2++) {
829
- const t2 = f2[e2];
830
- let s3 = h2[e2], i3 = u(t2, n2, r2, s3);
831
- h2[e2] = i3;
826
+ getDirectPrecedentsAt(e2, t2, n2 = false, r2, s2) {
827
+ const o2 = this._compiled, a2 = o2.precedentsRoot, l2 = a2.length;
828
+ if (0 === l2) return h.EmptyArray;
829
+ const u2 = o2.precedentsRelative, p2 = o2.precedentsAbsolute, g2 = u2.length;
830
+ for (let n3 = 0; n3 < g2; n3++) {
831
+ const r3 = u2[n3];
832
+ let s3 = p2[n3], o3 = i(r3, e2, t2, s3);
833
+ p2[n3] = o3;
832
834
  }
833
835
  let d2 = false;
834
- const m2 = l2.precedentsExecute, E2 = m2.length, A2 = Ht;
835
- for (let s3 = 0; s3 < E2; s3++) {
836
- const i3 = m2[s3], o2 = i3.op;
837
- if (!o2) {
838
- const e2 = h2[i3.value];
839
- A2[i3.index] = e2;
836
+ const m2 = o2.precedentsExecute, E2 = m2.length, A2 = Ht;
837
+ for (let n3 = 0; n3 < E2; n3++) {
838
+ const r3 = m2[n3], s3 = r3.op;
839
+ if (!s3) {
840
+ const e3 = p2[r3.value];
841
+ A2[r3.index] = e3;
840
842
  continue;
841
843
  }
842
- if ("named" === o2) {
843
- d2 = true, A2[i3.index] = this._resolveNamed(i3.node.value, n2, r2);
844
+ if ("named" === s3) {
845
+ d2 = true, A2[r3.index] = this._resolveNamed(r3.node.value, e2, t2);
844
846
  continue;
845
847
  }
846
- if ("error" === o2) {
847
- A2[i3.index] = i3.node.value;
848
+ if ("error" === s3) {
849
+ A2[r3.index] = r3.node.value;
848
850
  continue;
849
851
  }
850
- if ("@" === o2 || "#" === o2) {
851
- A2[i3.index] = A2[i3.inputs[0]];
852
+ if ("@" === s3 || "#" === s3) {
853
+ A2[r3.index] = A2[r3.inputs[0]];
852
854
  continue;
853
855
  }
854
- const a3 = i3.inputs;
855
- if (!a3) continue;
856
- let l3 = A2[a3[0]];
857
- if (void 0 === l3) {
858
- A2[i3.index] = e.BuiltIn.Value;
856
+ const i2 = r3.inputs;
857
+ if (!i2) continue;
858
+ let o3 = A2[i2[0]];
859
+ if (void 0 === o3) {
860
+ A2[r3.index] = c.BuiltIn.Value;
859
861
  continue;
860
862
  }
861
- if (l3.isFormulaError) {
862
- A2[i3.index] = l3;
863
+ if (o3.isFormulaError) {
864
+ A2[r3.index] = o3;
863
865
  continue;
864
866
  }
865
- let u2, c3 = A2[a3[1]];
866
- void 0 !== c3 ? c3.isFormulaError ? A2[i3.index] = c3 : (" " === o2 ? u2 = t.intersectRanges(l3, c3) : ":" !== o2 && ".:." !== o2 && ":." !== o2 && ".:" !== o2 || (u2 = A2[i3.index] = t.unionRanges(l3, c3)), A2[i3.index] = u2 ?? e.BuiltIn.Null) : A2[i3.index] = e.BuiltIn.Value;
867
+ let a3, l3 = A2[i2[1]];
868
+ void 0 !== l3 ? l3.isFormulaError ? A2[r3.index] = l3 : (" " === s3 ? a3 = f.intersectRanges(o3, l3) : ":" !== s3 && ".:." !== s3 && ":." !== s3 && ".:" !== s3 || (a3 = A2[r3.index] = f.unionRanges(o3, l3)), A2[r3.index] = a3 ?? c.BuiltIn.Null) : A2[r3.index] = c.BuiltIn.Value;
867
869
  }
868
- const N2 = new Array(p2);
869
- for (let e2 = 0; e2 < p2; e2++) {
870
- const t2 = c2[e2], n3 = A2[t2];
871
- if (N2[e2] = void 0 !== n3?.rowStart ? { ...n3 } : n3, i2 || a2) {
872
- const r3 = m2[t2];
873
- d2 && "named" === r3.op ? (i2 && (i2[e2] = n3.$colStart || n3.$colEnd), a2 && (a2[e2] = n3.$rowStart || n3.$rowEnd)) : (i2 && (i2[e2] = r3.hasVerticalAbs), a2 && (a2[e2] = r3.hasHorizontalAbs));
870
+ const N2 = new Array(l2);
871
+ for (let e3 = 0; e3 < l2; e3++) {
872
+ const t3 = a2[e3], n3 = A2[t3];
873
+ if (N2[e3] = void 0 !== n3?.rowStart ? { ...n3 } : n3, r2 || s2) {
874
+ const i2 = m2[t3];
875
+ d2 && "named" === i2.op ? (r2 && (r2[e3] = n3.$colStart || n3.$colEnd), s2 && (s2[e3] = n3.$rowStart || n3.$rowEnd)) : (r2 && (r2[e3] = i2.hasVerticalAbs), s2 && (s2[e3] = i2.hasHorizontalAbs));
874
876
  }
875
877
  }
876
878
  return N2;
877
879
  }
878
- evaluate(t2, n2, r2) {
879
- const s2 = t2.getPosition(), i2 = s2?.rowIndex ?? 0, o2 = s2?.colIndex ?? 0;
880
+ evaluate(e2, t2, n2) {
881
+ const r2 = e2.getPosition(), s2 = r2?.rowIndex ?? 0, o2 = r2?.colIndex ?? 0;
880
882
  let a2 = this._compiled;
881
- if (void 0 !== n2) {
882
- let e2;
883
- if (De(a2.ast, (t3) => {
884
- t3.evalIndex === n2 && (e2 = t3);
885
- }), !e2) throw new Error(`Invalid evalIndex: ${n2}`);
886
- a2 = Ze(e2, a2.error);
883
+ if (void 0 !== t2) {
884
+ let e3;
885
+ if (De(a2.ast, (n3) => {
886
+ n3.evalIndex === t2 && (e3 = n3);
887
+ }), !e3) throw new Error(`Invalid evalIndex: ${t2}`);
888
+ a2 = Ze(e3, a2.error);
887
889
  }
888
890
  if (a2.error) return a2.error;
889
- const l2 = a2.evaluations, c2 = a2.executions;
890
- let p2, h2;
891
- r2 || (r2 = this._resolvePrecedents(t2));
891
+ const u2 = a2.evaluations, p2 = a2.executions;
892
+ let f2, h2;
893
+ n2 || (n2 = this._resolvePrecedents(e2));
892
894
  const g2 = a2.precedentsExecute, d2 = a2.precedentsRelative, m2 = a2.precedentsAbsolute, E2 = g2.length;
893
- for (let e2 = 0; e2 < E2; e2++) {
894
- const n3 = g2[e2], r3 = n3.op;
895
+ for (let t3 = 0; t3 < E2; t3++) {
896
+ const n3 = g2[t3], r3 = n3.op;
895
897
  if (r3) {
896
898
  if ("named" === r3) {
897
- const e3 = n3.node;
898
- let r4 = this._resolveNamed(n3.node.value, i2, o2);
899
- void 0 !== r4?.colStart && (r4 = t2.getReference(r4)), l2[e3.evalIndex] = r4;
899
+ const t4 = n3.node;
900
+ let r4 = this._resolveNamed(n3.node.value, s2, o2);
901
+ void 0 !== r4?.colStart && (r4 = e2.getReference(r4)), u2[t4.evalIndex] = r4;
900
902
  } else if ("error" === r3) {
901
903
  const e3 = n3.node;
902
- l2[e3.evalIndex] = n3.node.value;
904
+ u2[e3.evalIndex] = n3.node.value;
903
905
  }
904
906
  } else {
905
- const t3 = d2[n3.value];
906
- let r4 = m2[e2];
907
- const s3 = u(t3, i2, o2, r4), a3 = n3.node;
908
- l2[a3.evalIndex] = s3;
907
+ const e3 = d2[n3.value];
908
+ let r4 = m2[t3];
909
+ const a3 = i(e3, s2, o2, r4), l2 = n3.node;
910
+ u2[l2.evalIndex] = a3;
909
911
  }
910
912
  }
911
913
  const A2 = a2.precedentsRoot, N2 = A2.length;
912
- if (N2 !== r2.length) return e.BuiltIn.Parse;
913
- for (let e2 = 0; e2 < N2; e2++) {
914
- const t3 = g2[A2[e2]].node;
915
- let n3 = r2[e2];
916
- n3.isIRange && "cell" === t3.type && n3.size > 1 && (n3 = n3.getValueAt(0, 0) ?? null), l2[t3.evalIndex] = n3;
914
+ if (N2 !== n2.length) return c.BuiltIn.Parse;
915
+ for (let e3 = 0; e3 < N2; e3++) {
916
+ const t3 = g2[A2[e3]].node;
917
+ let r3 = n2[e3];
918
+ r3.isIRange && "cell" === t3.type && r3.size > 1 && (r3 = r3.getValueAt(0, 0) ?? null), u2[t3.evalIndex] = r3;
917
919
  }
918
920
  let I2;
919
- const O2 = (n3) => {
920
- const r3 = n3.inputs, s3 = r3 ? r3.length : 0;
921
- let i3;
922
- switch (n3.type) {
921
+ const O2 = (t3) => {
922
+ const n3 = t3.inputs, r3 = n3 ? n3.length : 0;
923
+ let s3;
924
+ switch (t3.type) {
923
925
  case "infix":
924
- const o3 = n3.value;
925
- let a3 = l2[r3[0].evalIndex], u2 = l2[r3[1].evalIndex];
926
- if ("+" === o3 && "number" == typeof a3 && "number" == typeof u2) {
927
- const e2 = a3 + u2;
928
- return Math.abs(e2) < 99e-14 ? 0 : e2;
926
+ const i2 = t3.value;
927
+ let o3 = u2[n3[0].evalIndex], a3 = u2[n3[1].evalIndex];
928
+ if ("+" === i2 && "number" == typeof o3 && "number" == typeof a3) {
929
+ const e3 = o3 + a3;
930
+ return Math.abs(e3) < 99e-14 ? 0 : e3;
929
931
  }
930
- if ("-" === o3 && "number" == typeof a3 && "number" == typeof u2) {
931
- const e2 = a3 - u2;
932
- return Math.abs(e2) < 99e-14 ? 0 : e2;
932
+ if ("-" === i2 && "number" == typeof o3 && "number" == typeof a3) {
933
+ const e3 = o3 - a3;
934
+ return Math.abs(e3) < 99e-14 ? 0 : e3;
933
935
  }
936
+ if (o3 && o3.isFormulaError) return o3;
934
937
  if (a3 && a3.isFormulaError) return a3;
935
- if (u2 && u2.isFormulaError) return u2;
936
- const c3 = n3.fn;
937
- return i3 = c3 ? c3(t2, a3, u2) : e.BuiltIn.Value, i3 = f(i3, null), i3;
938
+ const p3 = t3.fn;
939
+ return s3 = p3 ? p3(e2, o3, a3) : c.BuiltIn.Value, s3 = l(s3, null), s3;
938
940
  case "function":
939
- I2 || (I2 = new Array(s3)), I2.length !== s3 && (I2.length = s3);
940
- for (let e2 = 0; e2 < s3; e2++) I2[e2] = l2[r3[e2].evalIndex];
941
- return i3 = this._callFunction(t2, n3, I2), i3 && "function" == typeof i3.then ? i3.then((r4) => {
942
- r4 = f(r4, t2), i3 instanceof e.Known && (h2 = i3), l2[n3.evalIndex] = r4;
943
- }).catch((t3) => {
944
- const r4 = t3 instanceof e.Known ? t3 : new e.Value("Uncaught error", { cause: t3 });
945
- l2[n3.evalIndex] = r4;
946
- }) : i3 instanceof e.Known && (h2 = i3), i3;
941
+ I2 || (I2 = new Array(r3)), I2.length !== r3 && (I2.length = r3);
942
+ for (let e3 = 0; e3 < r3; e3++) I2[e3] = u2[n3[e3].evalIndex];
943
+ return s3 = this._callFunction(e2, t3, I2), s3 && "function" == typeof s3.then ? s3.then((n4) => {
944
+ n4 = l(n4, e2), s3 instanceof c.Known && (h2 = s3), u2[t3.evalIndex] = n4;
945
+ }).catch((e3) => {
946
+ const n4 = e3 instanceof c.Known ? e3 : new c.Value("Uncaught error", { cause: e3 });
947
+ u2[t3.evalIndex] = n4;
948
+ }) : s3 instanceof c.Known && (h2 = s3), s3;
947
949
  case "prefix":
948
950
  case "postfix":
949
- let p3 = l2[r3[0].evalIndex];
950
- if (p3 && p3.isFormulaError) return p3;
951
- const g3 = n3.fn;
952
- return i3 = g3 ? g3(t2, p3) : e.BuiltIn.Value, i3;
951
+ let f3 = u2[n3[0].evalIndex];
952
+ if (f3 && f3.isFormulaError) return f3;
953
+ const g3 = t3.fn;
954
+ return s3 = g3 ? g3(e2, f3) : c.BuiltIn.Value, s3;
953
955
  case "paren":
954
- if (1 === s3) return l2[r3[0].evalIndex];
956
+ if (1 === r3) return u2[n3[0].evalIndex];
955
957
  {
956
- const e2 = new Array(s3);
957
- for (let t3 = 0; t3 < s3; t3++) e2[t3] = l2[r3[t3].evalIndex];
958
- return e2;
958
+ const e3 = new Array(r3);
959
+ for (let t4 = 0; t4 < r3; t4++) e3[t4] = u2[n3[t4].evalIndex];
960
+ return e3;
959
961
  }
960
962
  case "named":
961
963
  return null;
@@ -963,43 +965,43 @@ class Zt {
963
965
  return;
964
966
  }
965
967
  };
966
- let x2 = c2.length;
967
- for (let e2 = 0; e2 < x2; e2++) {
968
- const t3 = c2[e2];
968
+ let x2 = p2.length;
969
+ for (let e3 = 0; e3 < x2; e3++) {
970
+ const t3 = p2[e3];
969
971
  if (h2) return h2;
970
- if (p2) p2 = p2.then(() => {
971
- const e3 = O2(t3);
972
- return l2[t3.evalIndex] = e3, e3;
972
+ if (f2) f2 = f2.then(() => {
973
+ const e4 = O2(t3);
974
+ return u2[t3.evalIndex] = e4, e4;
973
975
  });
974
976
  else {
975
- const e3 = O2(t3);
976
- l2[t3.evalIndex] = e3, e3 && "function" == typeof e3.then && (p2 = e3);
977
+ const e4 = O2(t3);
978
+ u2[t3.evalIndex] = e4, e4 && "function" == typeof e4.then && (f2 = e4);
977
979
  }
978
980
  }
979
- if (p2) return p2.then(() => {
980
- const e2 = l2[l2.length - 1];
981
- return this._finalizeReturnValue(t2, e2);
981
+ if (f2) return f2.then(() => {
982
+ const t3 = u2[u2.length - 1];
983
+ return this._finalizeReturnValue(e2, t3);
982
984
  });
983
- const S2 = l2[l2.length - 1];
984
- return this._finalizeReturnValue(t2, S2);
985
+ const S2 = u2[u2.length - 1];
986
+ return this._finalizeReturnValue(e2, S2);
985
987
  }
986
- _resolvePrecedents(t2) {
987
- const n2 = t2.getPosition(), r2 = n2?.rowIndex ?? 0, s2 = n2?.colIndex ?? 0;
988
- const i2 = this.getDirectPrecedentsAt(r2, s2), a2 = i2.length;
989
- let l2;
990
- if (a2 > 0) {
991
- l2 = new Array(a2);
992
- for (let n3 = 0; n3 < a2; n3++) {
993
- const r3 = i2[n3];
994
- if (r3 instanceof e.Known) l2[n3] = r3;
995
- else if (Array.isArray(r3)) {
996
- const e2 = new Array(r3.length);
997
- for (let n4 = 0; n4 < r3.length; n4++) e2[n4] = t2.getReference(r3[n4]);
998
- l2[n3] = e2;
999
- } else l2[n3] = t2.getReference(r3);
988
+ _resolvePrecedents(e2) {
989
+ const t2 = e2.getPosition(), n2 = t2?.rowIndex ?? 0, r2 = t2?.colIndex ?? 0;
990
+ const s2 = this.getDirectPrecedentsAt(n2, r2), i2 = s2.length;
991
+ let o2;
992
+ if (i2 > 0) {
993
+ o2 = new Array(i2);
994
+ for (let t3 = 0; t3 < i2; t3++) {
995
+ const n3 = s2[t3];
996
+ if (n3 instanceof c.Known) o2[t3] = n3;
997
+ else if (Array.isArray(n3)) {
998
+ const r3 = new Array(n3.length);
999
+ for (let t4 = 0; t4 < n3.length; t4++) r3[t4] = e2.getReference(n3[t4]);
1000
+ o2[t3] = r3;
1001
+ } else o2[t3] = e2.getReference(n3);
1000
1002
  }
1001
- } else l2 = o.EmptyArray;
1002
- return l2;
1003
+ } else o2 = h.EmptyArray;
1004
+ return o2;
1003
1005
  }
1004
1006
  wrapImplicit(e2, t2, n2) {
1005
1007
  const r2 = this._compiled.ast;
@@ -1007,32 +1009,32 @@ class Zt {
1007
1009
  if ("cell" === r2.type) return this;
1008
1010
  if ("@" === r2.value) return this;
1009
1011
  if (!n2) return this;
1010
- const s2 = c(t2) + p(e2);
1012
+ const s2 = o(t2) + a(e2);
1011
1013
  if (n2.has(s2)) return this;
1012
1014
  const i2 = Ze(ze("@", r2, true), this._compiled.error);
1013
1015
  return new Zt(this._options, i2);
1014
1016
  }
1015
- _callFunction(t2, n2, r2) {
1016
- const s2 = n2?.cacheFn ?? t2.getFunction(n2.value);
1017
- if (!s2) return new e.Parse();
1018
- const i2 = s2.isBuiltIn();
1019
- let o2;
1020
- i2 ? n2.cacheFn = s2 : this._context = t2;
1017
+ _callFunction(e2, t2, n2) {
1018
+ const r2 = t2?.cacheFn ?? e2.getFunction(t2.value);
1019
+ if (!r2) return new c.Parse();
1020
+ const s2 = r2.isBuiltIn();
1021
+ let i2;
1022
+ s2 ? t2.cacheFn = r2 : this._context = e2;
1021
1023
  try {
1022
- o2 = s2.execute(...r2);
1023
- } catch (t3) {
1024
- o2 = t3 instanceof e.Known ? t3 : new e.Value(t3.message, { cause: t3 });
1024
+ i2 = r2.execute(...n2);
1025
+ } catch (e3) {
1026
+ i2 = e3 instanceof c.Known ? e3 : new c.Value(e3.message, { cause: e3 });
1025
1027
  }
1026
- return i2 || (this._context = null), void 0 === o2 ? new e.Parse() : o2;
1028
+ return s2 || (this._context = null), void 0 === i2 ? new c.Parse() : i2;
1027
1029
  }
1028
- _finalizeReturnValue(t2, n2) {
1029
- if (n2 && void 0 !== n2.colStart && (n2 = t2.getValueAt(n2.rowStart, n2.colStart)), Array.isArray(n2)) if (1 === n2.length && Array.isArray(n2[0]) && 1 === n2[0].length) n2 = n2[0][0], Array.isArray(n2) && (n2 = e.BuiltIn.Value);
1030
+ _finalizeReturnValue(e2, t2) {
1031
+ if (t2 && void 0 !== t2.colStart && (t2 = e2.getValueAt(t2.rowStart, t2.colStart)), Array.isArray(t2)) if (1 === t2.length && Array.isArray(t2[0]) && 1 === t2[0].length) t2 = t2[0][0], Array.isArray(t2) && (t2 = c.BuiltIn.Value);
1030
1032
  else try {
1031
- n2 = t2.getRange(n2);
1032
- } catch (t3) {
1033
- n2 = e.BuiltIn.Value;
1033
+ t2 = e2.getRange(t2);
1034
+ } catch (e3) {
1035
+ t2 = c.BuiltIn.Value;
1034
1036
  }
1035
- return n2?.isIRange ? 1 === n2.size ? (n2 = n2.getValueAt(0, 0, Kt), null === (n2 = f(n2, t2)) && (n2 = 0)) : n2 = n2.fillEmpty(0) : null === (n2 = f(n2, t2)) && (n2 = 0), n2;
1037
+ return t2?.isIRange ? 1 === t2.size ? (t2 = t2.getValueAt(0, 0, Kt), null === (t2 = l(t2, e2)) && (t2 = 0)) : t2 = t2.fillEmpty(0) : null === (t2 = l(t2, e2)) && (t2 = 0), t2;
1036
1038
  }
1037
1039
  get [Symbol.toStringTag]() {
1038
1040
  return "[FormulaBlock]";
@@ -1045,7 +1047,7 @@ class Zt {
1045
1047
  const e3 = t2.getPosition();
1046
1048
  return this.getTextAt(e3.rowIndex, e3.colIndex);
1047
1049
  }
1048
- return l(e2.tokens);
1050
+ return s(e2.tokens);
1049
1051
  }
1050
1052
  }
1051
1053
  const Ht = new Array(20);
@@ -1053,7 +1055,7 @@ for (let e2 = 0; e2 < Ht.length; e2++) Ht[e2] = { colStart: 0, rowStart: 0, colE
1053
1055
  const Kt = { type: null };
1054
1056
  class Qt {
1055
1057
  constructor(e2) {
1056
- this._options = { getEntireCoords: h, ...e2 }, this._astBuilder = new Dt();
1058
+ this._options = { getEntireCoords: u, ...e2 }, this._astBuilder = new Dt();
1057
1059
  }
1058
1060
  parse(e2, t2) {
1059
1061
  const n2 = e2.getPosition();