@sheetxl/formulas-extended 0.7.23-beta.1

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 (157) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +59 -0
  3. package/browser/cjs/B4JJfKSI4ppwU855.cjs +1 -0
  4. package/browser/cjs/BWDfauDHqB6U_2ka.cjs +1 -0
  5. package/browser/cjs/BwLx9ix5Sq7suAYP.cjs +1 -0
  6. package/browser/cjs/C2uDl8VIJqh58YF_.cjs +1 -0
  7. package/browser/cjs/CW-b31_-r-_raT8Y.cjs +1 -0
  8. package/browser/cjs/Clu7XiAsCB48GDXN.cjs +1 -0
  9. package/browser/cjs/CnZfa45XxA-9Jhmp.cjs +1 -0
  10. package/browser/cjs/DsFZgtSQpC75d1M0.cjs +1 -0
  11. package/browser/cjs/JfM6P_qoQQTWakZf.cjs +1 -0
  12. package/browser/cjs/bM25C5avKgBAJVfk.cjs +1 -0
  13. package/browser/cjs/fqTQ_p3ehzUvc1tF.cjs +1 -0
  14. package/browser/cjs/h3dw1jAp2J5Pu4p3.cjs +1 -0
  15. package/browser/cjs/index.cjs +1 -0
  16. package/browser/cjs/jev6VGWTdgEgm4Yk.cjs +1 -0
  17. package/browser/cjs/lEQC21-Sk4lwHy2r.cjs +1 -0
  18. package/browser/esm/-9SircqlVS-6jMNw.mjs +304 -0
  19. package/browser/esm/BCWg0NNa-nGjBMYM.mjs +19 -0
  20. package/browser/esm/BSWSZ6lA8jcSqHmz.mjs +19 -0
  21. package/browser/esm/BUYVOSf4JEFM5iRs.mjs +45 -0
  22. package/browser/esm/BWbYcyqeI2q9zobt.mjs +63 -0
  23. package/browser/esm/BatWJFRiqJI5wALH.mjs +52 -0
  24. package/browser/esm/CRT-M9ZISwPJluM8.mjs +71 -0
  25. package/browser/esm/Ck9zOHAyQJLQF_j_.mjs +83 -0
  26. package/browser/esm/CmXZZdy6rEOCrUnH.mjs +63 -0
  27. package/browser/esm/DAxAXOJZXvqvlnoT.mjs +28 -0
  28. package/browser/esm/DHrrLoyQ_KZ3yWWr.mjs +55 -0
  29. package/browser/esm/DboajdAr6s1IjcXM.mjs +45 -0
  30. package/browser/esm/Dtof6I8zPa8LIz89.mjs +35 -0
  31. package/browser/esm/XphbS4usCLMa2WZ2.mjs +20 -0
  32. package/browser/esm/index.mjs +2978 -0
  33. package/licenses/dependencies.txt +1 -0
  34. package/node/esm/-9SircqlVS-6jMNw.mjs +304 -0
  35. package/node/esm/BBREUOtt4cAHs88k.mjs +45 -0
  36. package/node/esm/BCWg0NNa-nGjBMYM.mjs +19 -0
  37. package/node/esm/BSWSZ6lA8jcSqHmz.mjs +19 -0
  38. package/node/esm/BUYVOSf4JEFM5iRs.mjs +45 -0
  39. package/node/esm/BWbYcyqeI2q9zobt.mjs +63 -0
  40. package/node/esm/BatWJFRiqJI5wALH.mjs +52 -0
  41. package/node/esm/CRT-M9ZISwPJluM8.mjs +71 -0
  42. package/node/esm/Ck9zOHAyQJLQF_j_.mjs +83 -0
  43. package/node/esm/CmXZZdy6rEOCrUnH.mjs +63 -0
  44. package/node/esm/DHrrLoyQ_KZ3yWWr.mjs +55 -0
  45. package/node/esm/Dp0K0CPOWr5We6lS.mjs +28 -0
  46. package/node/esm/Dtof6I8zPa8LIz89.mjs +35 -0
  47. package/node/esm/XphbS4usCLMa2WZ2.mjs +20 -0
  48. package/node/esm/index.mjs +3047 -0
  49. package/package.json +43 -0
  50. package/resources/contents.json +14 -0
  51. package/resources/locales/contents.json +9 -0
  52. package/resources/locales/de/functions.json +59 -0
  53. package/types/index.d.ts +4 -0
  54. package/types/src/.generated/decl/cube/Cube.decl.d.ts +4 -0
  55. package/types/src/.generated/decl/cube/Cube.decl.d.ts.map +1 -0
  56. package/types/src/.generated/decl/financial/ACCRINT.decl.d.ts +4 -0
  57. package/types/src/.generated/decl/financial/ACCRINT.decl.d.ts.map +1 -0
  58. package/types/src/.generated/decl/financial/AMORDEGRC.decl.d.ts +4 -0
  59. package/types/src/.generated/decl/financial/AMORDEGRC.decl.d.ts.map +1 -0
  60. package/types/src/.generated/decl/financial/Date.decl.d.ts +4 -0
  61. package/types/src/.generated/decl/financial/Date.decl.d.ts.map +1 -0
  62. package/types/src/.generated/decl/financial/Financial.decl.d.ts +4 -0
  63. package/types/src/.generated/decl/financial/Financial.decl.d.ts.map +1 -0
  64. package/types/src/.generated/decl/financial/Financial2.decl.d.ts +4 -0
  65. package/types/src/.generated/decl/financial/Financial2.decl.d.ts.map +1 -0
  66. package/types/src/.generated/decl/financial/Financial3.decl.d.ts +4 -0
  67. package/types/src/.generated/decl/financial/Financial3.decl.d.ts.map +1 -0
  68. package/types/src/.generated/decl/financial/Financial4.decl.d.ts +4 -0
  69. package/types/src/.generated/decl/financial/Financial4.decl.d.ts.map +1 -0
  70. package/types/src/.generated/decl/financial/ODD.decl.d.ts +4 -0
  71. package/types/src/.generated/decl/financial/ODD.decl.d.ts.map +1 -0
  72. package/types/src/.generated/decl/financial/VDB.decl.d.ts +4 -0
  73. package/types/src/.generated/decl/financial/VDB.decl.d.ts.map +1 -0
  74. package/types/src/.generated/decl/statistical/ETS.decl.d.ts +4 -0
  75. package/types/src/.generated/decl/statistical/ETS.decl.d.ts.map +1 -0
  76. package/types/src/.generated/decl/statistical/Regression.decl.d.ts +4 -0
  77. package/types/src/.generated/decl/statistical/Regression.decl.d.ts.map +1 -0
  78. package/types/src/.generated/decl/statistical/TTEST.decl.d.ts +4 -0
  79. package/types/src/.generated/decl/statistical/TTEST.decl.d.ts.map +1 -0
  80. package/types/src/.generated/decl/text/RegEx.decl.d.ts +4 -0
  81. package/types/src/.generated/decl/text/RegEx.decl.d.ts.map +1 -0
  82. package/types/src/.generated/desc/cube/Cube.desc.d.ts +4 -0
  83. package/types/src/.generated/desc/cube/Cube.desc.d.ts.map +1 -0
  84. package/types/src/.generated/desc/financial/ACCRINT.desc.d.ts +4 -0
  85. package/types/src/.generated/desc/financial/ACCRINT.desc.d.ts.map +1 -0
  86. package/types/src/.generated/desc/financial/AMORDEGRC.desc.d.ts +4 -0
  87. package/types/src/.generated/desc/financial/AMORDEGRC.desc.d.ts.map +1 -0
  88. package/types/src/.generated/desc/financial/Date.desc.d.ts +4 -0
  89. package/types/src/.generated/desc/financial/Date.desc.d.ts.map +1 -0
  90. package/types/src/.generated/desc/financial/Financial.desc.d.ts +4 -0
  91. package/types/src/.generated/desc/financial/Financial.desc.d.ts.map +1 -0
  92. package/types/src/.generated/desc/financial/Financial2.desc.d.ts +4 -0
  93. package/types/src/.generated/desc/financial/Financial2.desc.d.ts.map +1 -0
  94. package/types/src/.generated/desc/financial/Financial3.desc.d.ts +4 -0
  95. package/types/src/.generated/desc/financial/Financial3.desc.d.ts.map +1 -0
  96. package/types/src/.generated/desc/financial/Financial4.desc.d.ts +4 -0
  97. package/types/src/.generated/desc/financial/Financial4.desc.d.ts.map +1 -0
  98. package/types/src/.generated/desc/financial/ODD.desc.d.ts +4 -0
  99. package/types/src/.generated/desc/financial/ODD.desc.d.ts.map +1 -0
  100. package/types/src/.generated/desc/financial/VDB.desc.d.ts +4 -0
  101. package/types/src/.generated/desc/financial/VDB.desc.d.ts.map +1 -0
  102. package/types/src/.generated/desc/statistical/ETS.desc.d.ts +4 -0
  103. package/types/src/.generated/desc/statistical/ETS.desc.d.ts.map +1 -0
  104. package/types/src/.generated/desc/statistical/Regression.desc.d.ts +4 -0
  105. package/types/src/.generated/desc/statistical/Regression.desc.d.ts.map +1 -0
  106. package/types/src/.generated/desc/statistical/TTEST.desc.d.ts +4 -0
  107. package/types/src/.generated/desc/statistical/TTEST.desc.d.ts.map +1 -0
  108. package/types/src/.generated/desc/text/RegEx.desc.d.ts +4 -0
  109. package/types/src/.generated/desc/text/RegEx.desc.d.ts.map +1 -0
  110. package/types/src/.generated/index.d.ts +7 -0
  111. package/types/src/.generated/index.d.ts.map +1 -0
  112. package/types/src/_utils/AnyArgs.d.ts +38 -0
  113. package/types/src/_utils/AnyArgs.d.ts.map +1 -0
  114. package/types/src/_utils/Consts.d.ts +14 -0
  115. package/types/src/_utils/Consts.d.ts.map +1 -0
  116. package/types/src/_utils/Date.d.ts +33 -0
  117. package/types/src/_utils/Date.d.ts.map +1 -0
  118. package/types/src/_utils/FinanaceSolver.d.ts +19 -0
  119. package/types/src/_utils/FinanaceSolver.d.ts.map +1 -0
  120. package/types/src/_utils/FinanceCoupon.d.ts +141 -0
  121. package/types/src/_utils/FinanceCoupon.d.ts.map +1 -0
  122. package/types/src/_utils/FinanceDate.d.ts +26 -0
  123. package/types/src/_utils/FinanceDate.d.ts.map +1 -0
  124. package/types/src/_utils/FinanceDayCount.d.ts +80 -0
  125. package/types/src/_utils/FinanceDayCount.d.ts.map +1 -0
  126. package/types/src/_utils/FinanceUtils.d.ts +3 -0
  127. package/types/src/_utils/FinanceUtils.d.ts.map +1 -0
  128. package/types/src/_utils/LeastSquares.d.ts +131 -0
  129. package/types/src/_utils/LeastSquares.d.ts.map +1 -0
  130. package/types/src/cube/Cube.d.ts +64 -0
  131. package/types/src/cube/Cube.d.ts.map +1 -0
  132. package/types/src/financial/ACCRINT.d.ts +19 -0
  133. package/types/src/financial/ACCRINT.d.ts.map +1 -0
  134. package/types/src/financial/AMORDEGRC.d.ts +53 -0
  135. package/types/src/financial/AMORDEGRC.d.ts.map +1 -0
  136. package/types/src/financial/Date.d.ts +29 -0
  137. package/types/src/financial/Date.d.ts.map +1 -0
  138. package/types/src/financial/Financial.d.ts +287 -0
  139. package/types/src/financial/Financial.d.ts.map +1 -0
  140. package/types/src/financial/Financial2.d.ts +99 -0
  141. package/types/src/financial/Financial2.d.ts.map +1 -0
  142. package/types/src/financial/Financial3.d.ts +95 -0
  143. package/types/src/financial/Financial3.d.ts.map +1 -0
  144. package/types/src/financial/Financial4.d.ts +82 -0
  145. package/types/src/financial/Financial4.d.ts.map +1 -0
  146. package/types/src/financial/ODD.d.ts +106 -0
  147. package/types/src/financial/ODD.d.ts.map +1 -0
  148. package/types/src/financial/VDB.d.ts +27 -0
  149. package/types/src/financial/VDB.d.ts.map +1 -0
  150. package/types/src/statistical/ETS.d.ts +45 -0
  151. package/types/src/statistical/ETS.d.ts.map +1 -0
  152. package/types/src/statistical/Regression.d.ts +49 -0
  153. package/types/src/statistical/Regression.d.ts.map +1 -0
  154. package/types/src/statistical/TTEST.d.ts +27 -0
  155. package/types/src/statistical/TTEST.d.ts.map +1 -0
  156. package/types/src/text/RegEx.d.ts +34 -0
  157. package/types/src/text/RegEx.d.ts.map +1 -0
@@ -0,0 +1,3047 @@
1
+ /**
2
+ * @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.23-beta.1
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: The license can be found at https://www.sheetxl.com/license.
6
+ */
7
+ import { FormulaContext as t, FormulaError as n, IRange as e, ScalarType as r } from "@sheetxl/primitives";
8
+ var a = Object.defineProperty, o = (t, n) => {
9
+ let e = {};
10
+ for (var r in t) a(e, r, {
11
+ get: t[r],
12
+ enumerable: !0
13
+ });
14
+ return n || a(e, Symbol.toStringTag, { value: "Module" }), e;
15
+ }, s = o({
16
+ CUBEKPIMEMBER: () => i,
17
+ CUBEMEMBER: () => l,
18
+ CUBEMEMBERPROPERTY: () => u,
19
+ CUBERANKEDMEMBER: () => f,
20
+ CUBESET: () => c,
21
+ CUBESETCOUNT: () => m,
22
+ CUBEVALUE: () => h
23
+ });
24
+ function i(t, e, r, a) {
25
+ throw n.BuiltIn.NA;
26
+ }
27
+ function l(t, e, r) {
28
+ throw n.BuiltIn.NA;
29
+ }
30
+ function u(t, e, r) {
31
+ throw n.BuiltIn.NA;
32
+ }
33
+ function f(t, e, r, a) {
34
+ throw n.BuiltIn.NA;
35
+ }
36
+ function c(t, e, r, a, o) {
37
+ throw n.BuiltIn.NA;
38
+ }
39
+ function m(t) {
40
+ throw n.BuiltIn.NA;
41
+ }
42
+ function h(t, ...e) {
43
+ throw n.BuiltIn.NA;
44
+ }
45
+ var M = [
46
+ 31,
47
+ 29,
48
+ 31,
49
+ 30,
50
+ 31,
51
+ 30,
52
+ 31,
53
+ 31,
54
+ 30,
55
+ 31,
56
+ 30,
57
+ 31
58
+ ], p = [
59
+ 31,
60
+ 28,
61
+ 31,
62
+ 30,
63
+ 31,
64
+ 30,
65
+ 31,
66
+ 31,
67
+ 30,
68
+ 31,
69
+ 30,
70
+ 31
71
+ ];
72
+ function D(t) {
73
+ return t % 4 == 0 && t % 100 != 0 || t % 400 == 0;
74
+ }
75
+ function d(t, n) {
76
+ return D(t) ? M[n] : p[n];
77
+ }
78
+ function g(t, n, e) {
79
+ return d(t, n) === e;
80
+ }
81
+ function N(t, n) {
82
+ return Math.trunc(t) - Math.trunc(n);
83
+ }
84
+ function y(n, e) {
85
+ const r = t.fromSerialDate(n, !0), a = t.fromSerialDate(e, !0), o = a.getFullYear() - r.getFullYear();
86
+ if (o > 1) return !0;
87
+ if (o < 1) return !1;
88
+ const s = a.getMonth() - r.getMonth();
89
+ return s > 0 || !(s < 0) && a.getDate() > r.getDate();
90
+ }
91
+ function b(t, n) {
92
+ if (g(t.getFullYear(), t.getMonth(), t.getDate())) {
93
+ t.setDate(1), t.setMonth(t.getMonth() + n);
94
+ const e = t.getFullYear(), r = t.getMonth();
95
+ t.setDate(d(e, r));
96
+ } else t.setMonth(t.getMonth() + n);
97
+ return t;
98
+ }
99
+ function E(t) {
100
+ return !(t < 0 || t > 4);
101
+ }
102
+ function v(n) {
103
+ return t.getDateParts(Math.max(0, Math.floor(n)));
104
+ }
105
+ function R(t, n, e, r, a, o) {
106
+ return 360 * (r - t) + 30 * (a - n) + (o - e);
107
+ }
108
+ function I(n, e, r) {
109
+ switch (r) {
110
+ case 0: return function(t, n) {
111
+ const e = v(t), r = v(n), a = e.year, o = e.month;
112
+ let s = e.day, i = r.year, l = r.month, u = r.day, f = !1;
113
+ 2 === o ? s === (D(a) ? 29 : 28) && (s = 30, f = !0) : 31 === s && (s = 30);
114
+ 31 !== u || f || (s < 30 ? (12 === l ? (i += 1, l = 1) : l += 1, u = 1) : u = 30);
115
+ return {
116
+ days: Math.abs(R(a, o, s, i, l, u)),
117
+ yearDays: 360
118
+ };
119
+ }(n, e);
120
+ case 1: return function(n, e) {
121
+ if (n === e) return {
122
+ days: 0,
123
+ yearDays: 365
124
+ };
125
+ const r = v(n), a = v(e), o = r.year, s = a.year, i = Math.abs(e - n), l = Math.abs(s - o), u = l + 1, f = s < o ? s : o, c = s < o ? o : s;
126
+ let m, h = t.getSerialDate(f, 1, 1);
127
+ 1900 === f && (h += 1);
128
+ if (0 === l) m = t.getSerialDate(f, 12, 31) - h + 1;
129
+ else if (1 === l) {
130
+ const r = Math.min(n, e), a = Math.max(n, e), o = v(r), s = v(a), i = s.month - o.month;
131
+ if (i > 0 || 0 === i && s.day > o.day) m = (t.getSerialDate(c + 1, 1, 1) - h) / u;
132
+ else {
133
+ m = 365;
134
+ for (const n of [f, c]) if (D(n)) {
135
+ const e = t.getSerialDate(n, 2, 29);
136
+ if (e >= r && e <= a) {
137
+ m = 366;
138
+ break;
139
+ }
140
+ }
141
+ }
142
+ } else m = (t.getSerialDate(c + 1, 1, 1) - h) / u;
143
+ return {
144
+ days: i,
145
+ yearDays: m
146
+ };
147
+ }(n, e);
148
+ case 2: return {
149
+ days: Math.abs(e - n),
150
+ yearDays: 360
151
+ };
152
+ case 3:
153
+ default: return {
154
+ days: Math.abs(e - n),
155
+ yearDays: 365
156
+ };
157
+ case 4: return function(t, n) {
158
+ const e = v(t), r = v(n);
159
+ let a = e.day, o = r.day;
160
+ 31 === a && (a = 30);
161
+ 31 === o && (o = 30);
162
+ return {
163
+ days: Math.abs(R(e.year, e.month, a, r.year, r.month, o)),
164
+ yearDays: 360
165
+ };
166
+ }(n, e);
167
+ }
168
+ }
169
+ function S(t, n, e) {
170
+ const { days: r } = I(t, n, e);
171
+ return t < n ? r : 0;
172
+ }
173
+ function C(t, n) {
174
+ const e = t.getMonth(), r = t.getDate();
175
+ return r === new Date(t.getFullYear(), e + 1, 0).getDate() ? new Date(n, e + 1, 0) : new Date(n, e, r);
176
+ }
177
+ function T(n, e, r) {
178
+ const a = t.fromSerialDate(n, !0);
179
+ let o = t.fromSerialDate(e, !0);
180
+ const s = 12 / r;
181
+ for (o = C(o, a.getFullYear()), o > a && (o = C(o, o.getFullYear() - 1)); o <= a;) o = b(o, s);
182
+ return o = b(o, -s), o;
183
+ }
184
+ function A(n, e, r) {
185
+ return t.toSerialDate(T(n, e, r), !0);
186
+ }
187
+ function w(n, e, r) {
188
+ const a = b(T(n, e, r), 12 / r);
189
+ return t.toSerialDate(a, !0);
190
+ }
191
+ function x(t, n, e, r) {
192
+ return S(A(t, n, e), t, r);
193
+ }
194
+ function V(n, e, r, a) {
195
+ if (3 === a) return 365 / r;
196
+ if (1 !== a) return 360 / r;
197
+ const o = A(n, e, r), s = b(t.fromSerialDate(o, !0), 12 / r), i = t.toSerialDate(s, !0);
198
+ return o < 0 && 1 === r ? 365 : i - o;
199
+ }
200
+ function B(n, e, r) {
201
+ const a = t.fromSerialDate(n, !0);
202
+ let o = t.fromSerialDate(e, !0);
203
+ const s = 12 / r;
204
+ let i = 0;
205
+ for (; o > a;) o = b(o, -s), i++;
206
+ return i;
207
+ }
208
+ function O(n, e, r) {
209
+ let a = t.fromSerialDate(n, !0);
210
+ if (a = b(a, e), r) {
211
+ const t = a.getFullYear(), n = a.getMonth();
212
+ a.setDate(d(t, n));
213
+ }
214
+ return t.toSerialDate(a, !0);
215
+ }
216
+ function P(n, e, r, a, o, s, i, l, u) {
217
+ const f = S(r, a, u), c = V(n, a, l, u);
218
+ return f < c ? function(t, n, e, r, a, o, s, i, l, u, f) {
219
+ const c = B(t, n, i), m = S(t, r, l), h = S(e, t, l), M = o / i, p = 100 * a / i, D = p * u / f;
220
+ let d = s / (1 + M) ** (c - 1 + m / f);
221
+ d += D / (1 + M) ** (m / f);
222
+ for (let t = 2; t <= c; t++) d += p / (1 + M) ** (t - 1 + m / f);
223
+ return d -= p * h / f, d;
224
+ }(n, e, r, a, o, s, i, l, u, f, c) : function(n, e, r, a, o, s, i, l, u, f) {
225
+ const c = B(a, e, l), m = function(n, e, r, a) {
226
+ const o = t.fromSerialDate(n, !0), s = t.fromSerialDate(e, !0), i = o.getFullYear(), l = o.getMonth(), u = o.getDate(), f = s.getFullYear(), c = s.getMonth(), m = s.getDate(), h = g(i, l, u) || 1 !== l && u > 28 && u < d(i, l) && g(f, c, m), M = O(e, 0, h);
227
+ let p = (a ? 1 : 0) + (e < M ? 1 : 0), D = O(M, r, h);
228
+ for (; r > 0 ? D < e : D > e;) D = O(D, r, h), p++;
229
+ return p;
230
+ }(a, n, 12 / l, !0);
231
+ let h;
232
+ h = 2 === u || 3 === u ? S(n, w(n, a, l), u) : f - S(A(n, a, l), n, u);
233
+ const M = s / l, p = 100 * o / l;
234
+ let D = i / (1 + M) ** (c + m + h / f);
235
+ const N = B(r, a, l);
236
+ let y = a, E = 0, v = 0;
237
+ for (let e = N; e >= 1; e--) {
238
+ const a = t.fromSerialDate(y, !0), o = t.toSerialDate(b(a, -12 / l), !0), s = 1 === u ? S(o, y, u) : f;
239
+ E += (e > 1 ? s : S(r, y, u)) / s;
240
+ const i = Math.max(r, o), c = Math.min(n, y);
241
+ v += (i < c ? S(i, c, u) : 0) / s, y = o;
242
+ }
243
+ D += p * E / (1 + M) ** (m + h / f);
244
+ for (let t = 1; t <= c; t++) D += p / (1 + M) ** (t + m + h / f);
245
+ return D -= p * v, D;
246
+ }(n, e, r, a, o, s, i, l, u, c);
247
+ }
248
+ function F(t, n, e, r, a, o, s) {
249
+ const i = B(t, n, o), l = V(t, n, o, s), u = x(t, n, o, s), f = l - u, c = 100 * e / o, m = r / o;
250
+ if (1 === i) return (c + a) / (m * f / l + 1) - c * u / l;
251
+ let h = a / (1 + m) ** (i - 1 + f / l);
252
+ for (let t = 1; t <= i; t++) h += c / (1 + m) ** (t - 1 + f / l);
253
+ return h -= c * u / l, h;
254
+ }
255
+ function Y(t, n, e, r, a, o) {
256
+ const s = x(t, n, a, o), i = V(t, n, a, o), l = B(t, n, a), u = (i - s) / i - 1, f = 1 + r / a, c = 100 * e / a;
257
+ let m = 0, h = 0;
258
+ for (let t = 1; t <= l; t++) {
259
+ const n = t + u, e = c / f ** n;
260
+ m += n * e, h += e;
261
+ }
262
+ const M = l + u, p = 100 / f ** M;
263
+ return m += M * p, h += p, m / h / a;
264
+ }
265
+ function L(t, n, e, r, a) {
266
+ const o = Math.min(a / e, 1), s = 1 === o && 1 !== r ? 0 : t * (1 - o) ** (r - 1), i = t * (1 - o) ** r, l = i < n ? s - n : s - i;
267
+ return Math.max(l, 0);
268
+ }
269
+ function U(t, n, e) {
270
+ return A(t, n, e) >= 0;
271
+ }
272
+ function k(t) {
273
+ return !(t < 1 || t > 4 || 3 === t);
274
+ }
275
+ var q = o({ ACCRINT: () => X });
276
+ function X(e, r, a, o, s, i, l = 0, u = !0) {
277
+ if (e = Math.trunc(e), r = Math.trunc(r), a = Math.trunc(a), i = Math.trunc(i), l = Math.trunc(l), !t.isValidDate(e) || !t.isValidDate(r) || !t.isValidDate(a)) return n.BuiltIn.Value;
278
+ if (!k(i) || !E(l) || o <= 0 || s <= 0 || e >= a) return NaN;
279
+ const f = function(t, n, e, r, a, o = !0) {
280
+ const s = Math.ceil(r * (Math.abs(n - t) + Math.abs(n - e)) / 365) + 6;
281
+ let i = 0;
282
+ for (let e = 1; e <= s; e++) if (j(n, r, -e) <= t) {
283
+ i = e;
284
+ break;
285
+ }
286
+ const l = [];
287
+ for (let t = -i; l.length <= 600; t++) {
288
+ const a = j(n, r, t);
289
+ if (l.push(a), a >= e) break;
290
+ }
291
+ let u = null;
292
+ if (1 === a) {
293
+ const t = l.findIndex((t) => t === n);
294
+ t > 0 && (u = n - l[t - 1]);
295
+ }
296
+ let f = 0;
297
+ for (let s = 0; s + 1 < l.length; s++) {
298
+ const i = l[s], c = l[s + 1];
299
+ if (c <= t) continue;
300
+ if (i >= e) break;
301
+ const m = Math.max(i, t), h = Math.min(c, e);
302
+ if (m === i && h === c && (0 === a || 4 === a || o)) {
303
+ f += 1;
304
+ continue;
305
+ }
306
+ let M, p;
307
+ switch (a) {
308
+ case 0:
309
+ M = m - i === 1 && c < n ? h - m : I(m, h, 0).days, p = 360 / r;
310
+ break;
311
+ case 1:
312
+ M = h - m, p = null !== u ? u : c - i;
313
+ break;
314
+ case 2:
315
+ M = h - m, p = 360 / r;
316
+ break;
317
+ case 3:
318
+ default:
319
+ M = h - m, p = 365 / r;
320
+ break;
321
+ case 4: M = I(m, h, 4).days, p = 360 / r;
322
+ }
323
+ p > 0 && (f += M / p);
324
+ }
325
+ return f;
326
+ }(e, r, a, i, l, u);
327
+ return s * (o / i) * f;
328
+ }
329
+ function j(n, e, r) {
330
+ const a = Math.round(r * (12 / e)), o = t.fromSerialDate(n, !0);
331
+ return b(o, a), t.toSerialDate(o, !0);
332
+ }
333
+ var _ = o({ AMORDEGRC: () => G });
334
+ function G(n, e, r, a, o, s, i = 0) {
335
+ if (i = Math.floor(i), !t.isValidDate(e) || !t.isValidDate(r) || n <= 0 || a < 0 || n < a || o < 0 || s <= 0 || 0 !== i && 1 !== i && 3 !== i || Math.floor(e) > Math.floor(r)) return NaN;
336
+ const l = 1 / s, u = s * ((f = l) < 5 ? 1.5 : f <= 6 ? 2 : 2.5);
337
+ var f;
338
+ const { days: c, yearDays: m } = I(e, r, i), h = c / m;
339
+ return function(t, n, e, r, a, o, s) {
340
+ const i = Math.ceil(r), l = Math.floor(t * e * o);
341
+ if (0 === s) return l;
342
+ const u = t - Math.floor(t * e * a);
343
+ if (r < 3) {
344
+ const t = i - 1;
345
+ return t <= 0 ? u > n ? u : 0 : s <= t ? Math.ceil(u / t) : 0;
346
+ }
347
+ let f = u;
348
+ for (let t = 1; t <= s; t++) {
349
+ if (f <= n) return 0;
350
+ const r = f * e, a = i - t, o = a > 0 ? f / a : 0, l = Math.floor(Math.max(r, o));
351
+ if (t === s) return l;
352
+ f -= l;
353
+ }
354
+ return 0;
355
+ }(n, a, u, l, h, 1 === i && l >= 3 ? c / 365 : h, o > 1 ? Math.floor(o) : Math.ceil(o));
356
+ }
357
+ function z(n) {
358
+ if (null === n) return 0;
359
+ if ("string" == typeof n) try {
360
+ return t.parseAsNumber(n);
361
+ } catch {
362
+ return t.parseAsSerialDate(n);
363
+ }
364
+ return t.parseAsSerialDate(n);
365
+ }
366
+ var H = o({
367
+ DATEDIF: () => K,
368
+ DAYS360: () => W,
369
+ YEARFRAC: () => Q
370
+ });
371
+ function K(n, e, r) {
372
+ const a = t.getDateParts(n), o = t.getDateParts(e), s = Math.trunc(n), i = Math.trunc(e);
373
+ if (r = r.toLowerCase(), n > e) return NaN;
374
+ const l = o.year - a.year, u = o.month - a.month, f = o.day - a.day;
375
+ let c;
376
+ switch (r) {
377
+ case "y": return c = u < 0 || 0 === u && f < 0 ? -1 : 0, c + l;
378
+ case "m": return c = f < 0 ? -1 : 0, 12 * l + u + c;
379
+ case "d": return i - s;
380
+ case "md": return i - t.getSerialDate(o.year, o.month + (f < 0 ? -1 : 0), a.day);
381
+ case "ym": return c = f < 0 ? -1 : 0, (c + 12 * l + u) % 12;
382
+ case "yd": return i - t.getSerialDate(o.year - (u < 0 || 0 === u && f < 0 ? 1 : 0), a.month, a.day);
383
+ }
384
+ return NaN;
385
+ }
386
+ function Q(n, e, r = 0) {
387
+ let a = z(n), o = z(e);
388
+ const s = null === (i = r) ? 0 : t.parseAsNumber(i);
389
+ var i;
390
+ if (!t.isValidDate(a) || !t.isValidDate(o) || !E(s)) return NaN;
391
+ if (a > o) {
392
+ const t = a;
393
+ a = o, o = t;
394
+ }
395
+ const { days: l, yearDays: u } = I(a, o, s);
396
+ return l / u;
397
+ }
398
+ function W(t, n, e = !1) {
399
+ return e ? (n >= t ? 1 : -1) * I(t, n, 4).days : function(t, n) {
400
+ const e = v(t), r = v(n), a = e.year, o = e.month;
401
+ let s = e.day, i = r.year, l = r.month, u = r.day;
402
+ if (2 === o ? 3 === v(t + 1).month && (s = 30) : 31 === s && (s = 30), 31 === u) if (s < 30) {
403
+ const t = v(n + 1);
404
+ i = t.year, l = t.month, u = t.day;
405
+ } else u = 30;
406
+ return R(a, o, s, i, l, u);
407
+ }(t, n);
408
+ }
409
+ var $ = (t) => {
410
+ const n = t.getLocaleProfile().currencySymbol;
411
+ return `${n}#,##0.00_);[Red](${n}#,##0.00)`;
412
+ }, Z = o({
413
+ COUPDAYS: () => J,
414
+ CUMIPMT: () => tt,
415
+ CUMPRINC: () => nt,
416
+ DB: () => et,
417
+ DDB: () => rt,
418
+ DISC: () => at,
419
+ DOLLARDE: () => ot,
420
+ DOLLARFR: () => st,
421
+ EFFECT: () => it,
422
+ FV: () => lt,
423
+ FVSCHEDULE: () => ut,
424
+ IPMT: () => ft,
425
+ IRR: () => ct,
426
+ ISPMT: () => mt,
427
+ MIRR: () => ht,
428
+ NOMINAL: () => Mt,
429
+ NPER: () => pt,
430
+ NPV: () => Dt,
431
+ PDURATION: () => dt,
432
+ PMT: () => gt,
433
+ PPMT: () => Nt,
434
+ PRICEDISC: () => yt,
435
+ PV: () => bt,
436
+ RATE: () => Et,
437
+ RRI: () => vt,
438
+ SLN: () => Rt,
439
+ STOCKHISTORY: () => It,
440
+ SYD: () => St,
441
+ TBILLEQ: () => Ct,
442
+ TBILLPRICE: () => Tt,
443
+ TBILLYIELD: () => At,
444
+ XIRR: () => wt,
445
+ XNPV: () => xt
446
+ });
447
+ function J(n, e, r, a = 0) {
448
+ if (!t.isValidDate(n) || !t.isValidDate(e) || !k(r) || !E(a) || n >= e) return NaN;
449
+ if (1 === a) {
450
+ const a = function(t, n, e) {
451
+ const r = new Date(n);
452
+ if (r.setFullYear(t.getFullYear()), r > t) for (; r > t;) r.setMonth(r.getMonth() - Math.round(12 / e));
453
+ else {
454
+ const n = new Date(r);
455
+ for (n.setMonth(n.getMonth() + Math.round(12 / e)); n <= t;) r.setTime(n.getTime()), n.setMonth(n.getMonth() + Math.round(12 / e));
456
+ }
457
+ return r;
458
+ }(t.fromSerialDate(n), t.fromSerialDate(e), r), o = new Date(a);
459
+ return o.setMonth(o.getMonth() + Math.round(12 / r)), K(t.toSerialDate(a), t.toSerialDate(o), "D");
460
+ }
461
+ let o;
462
+ switch (a) {
463
+ case 0:
464
+ case 2:
465
+ case 4:
466
+ o = 360;
467
+ break;
468
+ case 3:
469
+ o = 365;
470
+ break;
471
+ default: return NaN;
472
+ }
473
+ return o / r;
474
+ }
475
+ function tt(n, e, r, a, o, s) {
476
+ if (!t.isValidDate(a) || !t.isValidDate(o) || n <= 0 || e <= 0 || r <= 0 || a < 1 || o < 1 || a > o || 0 !== s && 1 !== s) return NaN;
477
+ const i = gt(n, e, r, 0, s);
478
+ let l = 0;
479
+ 1 === a && (0 === s && (l = -r), a++);
480
+ for (let t = a; t <= o; t++) l += 1 === s ? lt(n, t - 2, i, r, 1) - i : lt(n, t - 1, i, r, 0);
481
+ return l *= n, l;
482
+ }
483
+ function nt(n, e, r, a, o, s) {
484
+ if (!t.isValidDate(a) || !t.isValidDate(o) || a > o || n <= 0 || e <= 0 || r <= 0 || a < 1 || o < 1 || a > o || 0 !== s && 1 !== s) return NaN;
485
+ const i = gt(n, e, r, 0, s);
486
+ let l = 0;
487
+ 1 === a && (l = 0 === s ? i + r * n : i, a++);
488
+ for (let t = a; t <= o; t++) l += s > 0 ? i - (lt(n, t - 2, i, r, 1) - i) * n : i - lt(n, t - 1, i, r, 0) * n;
489
+ return l;
490
+ }
491
+ function et(n, e, r, a, o = 12) {
492
+ if (n < 0 || e < 0 || r <= 0 || a < 0) return NaN;
493
+ if (o < 1 || o > 12) return NaN;
494
+ if (12 === o && a > r || a > r + 1) return NaN;
495
+ if (0 === n) return 0;
496
+ t.formatResults($(t.getRuntime()));
497
+ const s = Math.round(1e3 * (1 - Math.pow(e / n, 1 / r))) / 1e3, i = n * s * o / 12;
498
+ if (1 === a) return i;
499
+ let l = n - i;
500
+ for (let t = 2; t < a; t++) l -= l * s;
501
+ return a === r + 1 ? l * s * (12 - o) / 12 : l * s;
502
+ }
503
+ function rt(t, n, e, r, a = 2) {
504
+ if (t < 0 || n < 0 || e < 0 || r < 0 || a <= 0) return NaN;
505
+ if (r > e) return NaN;
506
+ if (n >= t) return 0;
507
+ let o = 0, s = 0;
508
+ for (let i = 1; i <= r; i++) s = Math.min(a / e * (t - o), t - n - o), o += s;
509
+ return s;
510
+ }
511
+ function at(n, e, r, a, o = 0) {
512
+ if (!t.isValidDate(n) || !t.isValidDate(e) || !E(o) || r <= 0 || a <= 0 || n >= e) return NaN;
513
+ let s, i;
514
+ switch (o) {
515
+ case 0:
516
+ s = 360, i = W(n, e, !1);
517
+ break;
518
+ case 1:
519
+ case 3:
520
+ s = 365, i = K(n, e, "D");
521
+ break;
522
+ case 2:
523
+ s = 360, i = K(n, e, "D");
524
+ break;
525
+ case 4:
526
+ s = 360, i = W(n, e, !0);
527
+ break;
528
+ default: return NaN;
529
+ }
530
+ return (a - r) / a * s / i;
531
+ }
532
+ function ot(t, e) {
533
+ if ((e = Math.trunc(e)) < 0) return NaN;
534
+ if (0 === e) throw n.BuiltIn.Div0;
535
+ if (1 === e) return t;
536
+ const r = t < 0 ? -1 : 1, a = Math.abs(t), o = Math.trunc(a), s = a - o;
537
+ return r * (o + Math.round(s * Math.pow(10, Math.ceil(Math.log10(e)))) / e);
538
+ }
539
+ function st(t, e) {
540
+ if ((e = Math.trunc(e)) < 0) return NaN;
541
+ if (0 === e) throw n.BuiltIn.Div0;
542
+ if (1 === e) return t;
543
+ const r = t < 0 ? -1 : 1, a = Math.abs(t), o = Math.trunc(a), s = a - o, i = Math.ceil(Math.log10(e));
544
+ return r * (o + s * e / Math.pow(10, i));
545
+ }
546
+ function it(t, n) {
547
+ return n = Math.trunc(n), t <= 0 || n < 1 ? NaN : Math.pow(1 + t / n, n) - 1;
548
+ }
549
+ function lt(n, e, r, a = 0, o = 0) {
550
+ let s;
551
+ if (0 === n) s = a + r * e;
552
+ else {
553
+ const t = Math.pow(1 + n, e);
554
+ s = 1 === o ? a * t + r * (1 + n) * (t - 1) / n : a * t + r * (t - 1) / n;
555
+ }
556
+ return t.formatResults($(t.getRuntime())), -s;
557
+ }
558
+ function ut(t, e) {
559
+ let r = t;
560
+ for (const t of e.values()) {
561
+ if ("number" != typeof t) throw n.BuiltIn.Value;
562
+ r *= 1 + t;
563
+ }
564
+ return r;
565
+ }
566
+ function ft(t, n, e, r, a = 0, o = 0) {
567
+ if (e <= 0 || n < 1 || n > e) return NaN;
568
+ const s = gt(t, e, r, a, o);
569
+ return 1 === n ? t * (o ? 0 : -r) : t * (o ? lt(t, n - 2, s, r, o) - s : lt(t, n - 1, s, r, o));
570
+ }
571
+ function ct(t, n = .1) {
572
+ const e = t.some((t) => t > 0), r = t.some((t) => t < 0);
573
+ if (!e || !r) return NaN;
574
+ const a = (n) => {
575
+ const e = 1 + n;
576
+ let r = 0, a = 1;
577
+ for (let n = 0; n < t.length; n++) r += t[n] / a, a *= e;
578
+ return r;
579
+ };
580
+ let o = n;
581
+ for (let t = 0; t < 20; t++) {
582
+ const t = a(o), n = o - t / ((a(o + Vt) - t) / Vt);
583
+ if (Math.abs(n - o) < Vt) return n;
584
+ o = n, o <= -1 && (o = -.9999999);
585
+ }
586
+ return NaN;
587
+ }
588
+ function mt(t, e, r, a) {
589
+ if (0 === r) throw n.BuiltIn.Div0;
590
+ return a * t * (e / r - 1);
591
+ }
592
+ function ht(e, r, a) {
593
+ const o = e.length;
594
+ if (!e.some((t) => t < 0)) throw n.BuiltIn.Div0;
595
+ let s = 0;
596
+ for (let t = 0; t < o; t++) {
597
+ const n = e[t];
598
+ n < 0 && (s += n / Math.pow(1 + r, t));
599
+ }
600
+ let i = 0;
601
+ for (let t = 0; t < o; t++) {
602
+ const n = e[t];
603
+ n > 0 && (i += n * Math.pow(1 + a, o - 1 - t));
604
+ }
605
+ return t.formatResults("0%"), Math.pow(-i / s, 1 / (o - 1)) - 1;
606
+ }
607
+ function Mt(t, n) {
608
+ return n = Math.trunc(n), t <= 0 || n < 1 ? NaN : (Math.pow(t + 1, 1 / n) - 1) * n;
609
+ }
610
+ function pt(t, e, r, a = 0, o = 0) {
611
+ if (0 === t) {
612
+ if (0 === e) throw n.BuiltIn.Div0;
613
+ return (-r - a) / e;
614
+ }
615
+ return o && (e *= 1 + t), Math.log((e - a * t) / (r * t + e)) / Math.log(1 + t);
616
+ }
617
+ function Dt(t, e) {
618
+ if (e.length > 254) throw n.BuiltIn.Value;
619
+ let r = 0;
620
+ for (let a = e.length - 1; a >= 0; a--) {
621
+ if (r += e[a], -1 === t) {
622
+ if (0 === r) continue;
623
+ throw n.BuiltIn.Div0;
624
+ }
625
+ r /= 1 + t;
626
+ }
627
+ return r;
628
+ }
629
+ function dt(t, n, e) {
630
+ return t <= 0 || n <= 0 || e <= 0 ? NaN : (Math.log(e) - Math.log(n)) / Math.log(1 + t);
631
+ }
632
+ function gt(n, e, r, a = 0, o = 0) {
633
+ if (0 === e) return NaN;
634
+ if (0 === n) return (-r - a) / e;
635
+ o = o ? 1 : 0;
636
+ const s = Math.pow(1 + n, e);
637
+ return t.formatResults($(t.getRuntime())), (a * n + r * n * s) * (o ? 1 / (1 + n) : 1) / (1 - s);
638
+ }
639
+ function Nt(t, n, e, r, a = 0, o = 0) {
640
+ return e <= 0 || n < 1 || n > e ? NaN : gt(t, e, r, a, o) - ft(t, n, e, r, a, o);
641
+ }
642
+ function yt(n, e, r, a, o = 0) {
643
+ if (!t.isValidDate(n) || !t.isValidDate(e) || !E(o) || r <= 0 || a <= 0 || n >= e) return NaN;
644
+ let s, i;
645
+ switch (o) {
646
+ case 0:
647
+ s = 360, i = W(n, e, !1);
648
+ break;
649
+ case 1:
650
+ case 3:
651
+ s = 365, i = K(n, e, "D");
652
+ break;
653
+ case 2:
654
+ s = 360, i = K(n, e, "D");
655
+ break;
656
+ case 4:
657
+ s = 360, i = W(n, e, !0);
658
+ break;
659
+ default: return NaN;
660
+ }
661
+ return a - r * a * i / s;
662
+ }
663
+ function bt(e, r, a, o = 0, s = 0) {
664
+ if (s = s ? 1 : 0, -1 === e) {
665
+ if (0 === r) return NaN;
666
+ throw n.BuiltIn.Div0;
667
+ }
668
+ return t.formatResults($(t.getRuntime())), 0 === e ? -a * r - o : ((1 - Math.pow(1 + e, r)) * a * (1 + e * s) / e - o) / Math.pow(1 + e, r);
669
+ }
670
+ function Et(t, e, r, a = 0, o = 0, s = .1) {
671
+ if (s <= -1) throw n.BuiltIn.Value;
672
+ o = o ? 1 : 0;
673
+ let i = s;
674
+ for (let n = 0; n < 100; n++) {
675
+ if (i <= -1) return NaN;
676
+ let n, s;
677
+ if (Math.abs(i) < Vt) n = r * (1 + t * i) + e * (1 + i * o) * t + a, s = r * t + e * o * t;
678
+ else {
679
+ const l = Math.pow(1 + i, t), u = t * Math.pow(1 + i, t - 1);
680
+ n = r * l + e * (1 / i + o) * (l - 1) + a, s = r * u + e * (1 / i + o) * u + e * (-1 / (i * i)) * (l - 1);
681
+ }
682
+ if (Math.abs(n) < Vt) return i;
683
+ i -= n / s;
684
+ }
685
+ return NaN;
686
+ }
687
+ function vt(t, n, e) {
688
+ return t <= 0 || 0 === n || e < 0 && n > 0 || e > 0 && n < 0 ? NaN : Math.pow(e / n, 1 / t) - 1;
689
+ }
690
+ function Rt(t, e, r) {
691
+ if (0 === r) throw n.BuiltIn.Div0;
692
+ return (t - e) / r;
693
+ }
694
+ function It(e, r, a, o = 0, s = 1, i = [
695
+ 0,
696
+ 1,
697
+ 2,
698
+ 3,
699
+ 4
700
+ ]) {
701
+ const l = a ?? r;
702
+ if (!t.isValidDate(r) || !t.isValidDate(l)) throw n.BuiltIn.Num;
703
+ }
704
+ function St(t, n, e, r) {
705
+ return r > e ? NaN : (t - n) * (e - r + 1) * 2 / (e * (e + 1));
706
+ }
707
+ function Ct(n, e, r) {
708
+ if (n = Math.round(n), e = Math.round(e), !t.isValidDate(n) || !t.isValidDate(e) || n >= e || y(n, e)) return NaN;
709
+ const a = 360 - r * (e - n);
710
+ return 0 === a ? 0 : a < 0 ? NaN : 365 * r / a;
711
+ }
712
+ function Tt(n, e, r) {
713
+ if (n = Math.round(n), e = Math.round(e), !t.isValidDate(n) || !t.isValidDate(e) || n >= e || y(n, e)) return NaN;
714
+ const a = 360 - r * (e - n);
715
+ return 0 === a ? 0 : a < 0 ? NaN : 100 * (1 - r * (e - n) / 360);
716
+ }
717
+ function At(n, e, r) {
718
+ return n = Math.round(n), e = Math.round(e), !t.isValidDate(n) || !t.isValidDate(e) || n >= e || y(n, e) ? NaN : 360 * (100 - r) / (r * (e - n));
719
+ }
720
+ function wt(t, e, r = .1) {
721
+ const a = t.flatten({
722
+ includeEmpty: !0,
723
+ onError: "value"
724
+ }), o = e.flatten({
725
+ includeEmpty: !0,
726
+ onError: "value"
727
+ });
728
+ if (a.length !== o.length) return NaN;
729
+ const s = [], i = [];
730
+ for (let t = 0; t < a.length; t++) {
731
+ const e = a[t], r = o[t];
732
+ if (null !== e) {
733
+ if (null === r) return NaN;
734
+ if (n.isError(e) || n.isError(r)) return n.BuiltIn.Value;
735
+ if ("number" != typeof r || isNaN(r)) return n.BuiltIn.Value;
736
+ s.push(e), i.push(r);
737
+ }
738
+ }
739
+ const l = s.some((t) => t > 0), u = s.some((t) => t < 0);
740
+ if (!l || !u) return NaN;
741
+ const f = i[0], c = i.map((t) => N(t, f) / 365), m = (t) => {
742
+ const n = 1 + t;
743
+ let e = 0;
744
+ for (let t = 0; t < s.length; t++) e += s[t] / Math.pow(n, c[t]);
745
+ return e;
746
+ };
747
+ let h = r;
748
+ for (let t = 0; t < 20; t++) {
749
+ const t = m(h), n = (m(h + Vt) - t) / Vt;
750
+ if (Math.abs(n) < Vt) break;
751
+ const e = h - t / n;
752
+ if (Math.abs(e - h) < Vt) return e;
753
+ h = e, h <= -1 && (h = -.9999999);
754
+ }
755
+ return NaN;
756
+ }
757
+ function xt(t, e, r) {
758
+ if (t <= 0) return NaN;
759
+ const a = e.flatten({
760
+ includeEmpty: !0,
761
+ onError: "value"
762
+ }), o = r.flatten({
763
+ includeEmpty: !0,
764
+ onError: "value"
765
+ });
766
+ if (a.length !== o.length) return NaN;
767
+ if (0 === a.length) return NaN;
768
+ const s = [], i = [];
769
+ for (let t = 0; t < a.length; t++) {
770
+ const e = a[t], r = o[t];
771
+ if (null !== e || null !== r) {
772
+ if (null === e || null === r) return NaN;
773
+ if (n.isError(e) || n.isError(r)) return n.BuiltIn.Value;
774
+ if ("number" != typeof e) return NaN;
775
+ if ("number" != typeof r) return n.BuiltIn.Value;
776
+ s.push(e), i.push(r);
777
+ }
778
+ }
779
+ for (let t = 1; t < i.length; t++) if (i[t] < i[t - 1]) return NaN;
780
+ let l = 0;
781
+ const u = i[0];
782
+ for (let n = 0; n < s.length; n++) l += s[n] / Math.pow(1 + t, N(i[n], u) / 365);
783
+ return l;
784
+ }
785
+ var Vt = 1e-7;
786
+ var Bt = o({
787
+ ACCRINTM: () => Ot,
788
+ AMORLINC: () => kt,
789
+ INTRATE: () => Pt,
790
+ PRICEMAT: () => Lt,
791
+ RECEIVED: () => Ft,
792
+ YIELDDISC: () => Yt,
793
+ YIELDMAT: () => Ut
794
+ });
795
+ function Ot(n, e, r, a, o = 0) {
796
+ if (o = Math.floor(o), !t.isValidDate(n) || !t.isValidDate(e) || !E(o) || r <= 0 || a <= 0) return NaN;
797
+ if (Math.floor(n) > Math.floor(e)) return NaN;
798
+ if (Math.floor(n) === Math.floor(e)) return 0;
799
+ const { days: s, yearDays: i } = I(n, e, o);
800
+ return a * r * s / i;
801
+ }
802
+ function Pt(n, e, r, a, o = 0) {
803
+ if (o = Math.floor(o), !t.isValidDate(n) || !t.isValidDate(e) || !E(o) || r <= 0 || a <= 0 || Math.floor(n) >= Math.floor(e)) return NaN;
804
+ const { days: s, yearDays: i } = I(n, e, o);
805
+ return (a - r) / r * (i / s);
806
+ }
807
+ function Ft(n, e, r, a, o = 0) {
808
+ if (o = Math.floor(o), !t.isValidDate(n) || !t.isValidDate(e) || r <= 0 || a <= 0 || !E(o) || Math.floor(n) >= Math.floor(e)) return NaN;
809
+ const { days: s, yearDays: i } = I(n, e, o), l = r / (1 - a * s / i);
810
+ return l < 0 ? NaN : l;
811
+ }
812
+ function Yt(n, e, r, a, o = 0) {
813
+ if (o = Math.floor(o), !t.isValidDate(n) || !t.isValidDate(e) || r <= 0 || a <= 0 || !E(o) || Math.floor(n) >= Math.floor(e)) return NaN;
814
+ const { days: s, yearDays: i } = I(n, e, o);
815
+ return (a / r - 1) / (s / i);
816
+ }
817
+ function Lt(n, e, r, a, o, s = 0) {
818
+ if (s = Math.floor(s), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || a < 0 || o < 0 || !E(s) || !qt(r, n, e)) return NaN;
819
+ const { yearDays: i } = I(r, n, s), { days: l } = I(n, e, s), { days: u } = I(r, e, s), { days: f } = I(r, n, s);
820
+ return (100 + u / i * a * 100) / (1 + l / i * o) - f / i * a * 100;
821
+ }
822
+ function Ut(n, e, r, a, o, s = 0) {
823
+ if (s = Math.floor(s), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || a < 0 || o <= 0 || !E(s) || !qt(r, n, e)) return NaN;
824
+ const { yearDays: i } = I(r, n, s), { days: l } = I(n, e, s), { days: u } = I(r, e, s), { days: f } = I(r, n, s);
825
+ return ((1 + u / i * a) / (o / 100 + f / i * a) - 1) / (l / i);
826
+ }
827
+ function kt(n, e, r, a, o, s, i = 0) {
828
+ if (i = Math.floor(i), n <= 0 || !t.isValidDate(e) || !t.isValidDate(r) || a < 0 || n < a || o < 0 || s <= 0 || Math.floor(e) > Math.floor(r) || ![
829
+ 0,
830
+ 1,
831
+ 3,
832
+ 4
833
+ ].includes(i)) return NaN;
834
+ o = o > 1 ? Math.floor(o) : Math.ceil(o);
835
+ const l = n - a, u = n * s, { days: f, yearDays: c } = I(e, r, i), m = f / c, h = Math.ceil(l / u - m);
836
+ return h < 0 ? 0 : 0 === o ? u * m : o === h ? l - u * (m + o - 1) : o > h ? 0 : u;
837
+ }
838
+ function qt(t, n, e) {
839
+ return Math.floor(e) > Math.floor(n) && Math.floor(n) > Math.floor(t);
840
+ }
841
+ var Xt = o({
842
+ COUPDAYBS: () => jt,
843
+ COUPDAYS: () => _t,
844
+ COUPDAYSNC: () => Gt,
845
+ COUPNCD: () => zt,
846
+ COUPNUM: () => Kt,
847
+ COUPPCD: () => Ht
848
+ });
849
+ function jt(n, e, r, a = 0) {
850
+ return r = Math.floor(r), a = Math.floor(a), t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && Qt(n, e, r, a) ? x(n, e, r, a) : NaN;
851
+ }
852
+ function _t(n, e, r, a = 0) {
853
+ return r = Math.floor(r), a = Math.floor(a), t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && Qt(n, e, r, a) ? V(n, e, r, a) : NaN;
854
+ }
855
+ function Gt(n, e, r, a = 0) {
856
+ if (r = Math.floor(r), a = Math.floor(a), !(t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && Qt(n, e, r, a))) return NaN;
857
+ const { days: o } = I(n, w(n, e, r), a);
858
+ return o;
859
+ }
860
+ function zt(n, e, r, a = 0) {
861
+ return r = Math.floor(r), a = Math.floor(a), t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && !(n >= e) && Qt(n, e, r, a) ? (t.formatResults("Short Date"), w(n, e, r)) : NaN;
862
+ }
863
+ function Ht(n, e, r, a = 0) {
864
+ if (r = Math.floor(r), a = Math.floor(a), !(t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && Qt(n, e, r, a))) return NaN;
865
+ t.formatResults("d-mmm-yy");
866
+ const o = A(n, e, r);
867
+ return o < 0 ? 0 : o;
868
+ }
869
+ function Kt(n, e, r, a = 0) {
870
+ return r = Math.floor(r), a = Math.floor(a), t.isValidDate(n) && t.isValidDate(e) && k(r) && E(a) && Qt(n, e, r, a) ? A(n, e, r) < 0 ? NaN : B(n, e, r) : NaN;
871
+ }
872
+ function Qt(t, n, e, r) {
873
+ return k(e) && E(r) && Math.floor(t) < Math.floor(n);
874
+ }
875
+ function Wt(t, n) {
876
+ const e = 1e-7;
877
+ let r = t, a = 1, o = 0;
878
+ for (; a > e && o < 500;) {
879
+ const t = (n(r + e) - n(r - e)) / 2e-7, s = r - n(r) / t;
880
+ a = Math.abs(s - r), r = s, o++;
881
+ }
882
+ return Number.isNaN(r) || !Number.isFinite(r) || 500 === o ? function(t, n) {
883
+ const e = 1e-7, r = 60, a = 60, o = 1.6, s = -1, i = Number.MAX_VALUE;
884
+ if (t <= s || t >= i) return NaN;
885
+ let l, u, f = Math.max(t - .01, -.9999999), c = Math.min(t + .01, i - e), m = !1;
886
+ for (let t = 0; t < r; t++) {
887
+ if (l = n(f), u = n(c), l * u <= 0) {
888
+ m = !0;
889
+ break;
890
+ }
891
+ f = Math.max(f + o * (f - c), -.9999999), c = Math.min(c + o * (c - f), i - e);
892
+ }
893
+ if (!m) return NaN;
894
+ l = n(f);
895
+ let h = f, M = l, p = 0;
896
+ do
897
+ h = f + (c - f) / 2, M = n(h), l * M < 0 ? c = h : (f = h, l = M), p++;
898
+ while (Math.abs(M) > e && p < a);
899
+ return h;
900
+ }(t, n) : r;
901
+ }
902
+ var $t = o({
903
+ DURATION: () => Jt,
904
+ MDURATION: () => tn,
905
+ PRICE: () => Zt,
906
+ YIELD: () => nn
907
+ });
908
+ function Zt(n, e, r, a, o, s, i = 0) {
909
+ return s = Math.floor(s), i = Math.floor(i), !t.isValidDate(n) || !t.isValidDate(e) || r < 0 || a < 0 || o <= 0 || !k(s) || !E(i) || Math.floor(n) >= Math.floor(e) || !U(n, e, s) ? NaN : F(n, e, r, a, o, s, i);
910
+ }
911
+ function Jt(n, e, r, a, o, s = 0) {
912
+ return o = Math.floor(o), s = Math.floor(s), !t.isValidDate(n) || !t.isValidDate(e) || r < 0 || a < 0 || !k(o) || !E(s) || Math.floor(n) >= Math.floor(e) || n <= 0 || e <= 366 ? NaN : Y(n, e, r, a, o, s);
913
+ }
914
+ function tn(n, e, r, a, o, s = 0) {
915
+ return o = Math.floor(o), s = Math.floor(s), !t.isValidDate(n) || !t.isValidDate(e) || r < 0 || a < 0 || !k(o) || !E(s) || Math.floor(n) >= Math.floor(e) || n <= 0 || e <= 366 ? NaN : Y(n, e, r, a, o, s) / (1 + a / o);
916
+ }
917
+ function nn(n, e, r, a, o, s, i = 0) {
918
+ if (s = Math.floor(s), i = Math.floor(i), !t.isValidDate(n) || !t.isValidDate(e) || r < 0 || a <= 0 || o <= 0 || !k(s) || !E(i) || Math.floor(n) >= Math.floor(e) || !U(n, e, s)) return NaN;
919
+ if (B(n, e, s) > 1) {
920
+ const t = Wt(r || .01, (t) => F(n, e, r, t, o, s, i) - a);
921
+ return Number.isNaN(t) ? NaN : t;
922
+ }
923
+ const l = x(n, e, s, i), u = V(n, e, s, i), { days: f } = I(n, e, i), c = a / 100 + l / u * (r / s);
924
+ return (o / 100 + r / s - c) / c * s * (u / f);
925
+ }
926
+ var en = o({
927
+ ODDFPRICE: () => rn,
928
+ ODDFYIELD: () => an,
929
+ ODDLPRICE: () => on,
930
+ ODDLYIELD: () => sn
931
+ });
932
+ function rn(n, e, r, a, o, s, i, l, u = 0) {
933
+ return l = Math.floor(l), u = Math.floor(u), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || !t.isValidDate(a) || o < 0 || s < 0 || i <= 0 || !k(l) || !E(u) || !fn(n, e, r, a, l) ? NaN : P(n, e, r, a, o, s, i, l, u);
934
+ }
935
+ function an(n, e, r, a, o, s, i, l, u = 0) {
936
+ if (l = Math.floor(l), u = Math.floor(u), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || !t.isValidDate(a) || o < 0 || s <= 0 || i <= 0 || !k(l) || !E(u) || !fn(n, e, r, a, l)) return NaN;
937
+ const { days: f } = I(n, e, u), c = Wt((o * f * 100 - (s - 100)) / (.25 * (s - 100) * (1 + 2 * f) + 100 * f), (t) => s - P(n, e, r, a, o, t, i, l, u));
938
+ return Number.isNaN(c) ? NaN : c;
939
+ }
940
+ function on(n, e, r, a, o, s, i, l = 0) {
941
+ return i = Math.floor(i), l = Math.floor(l), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || a < 0 || o < 0 || s <= 0 || !k(i) || !E(l) || !cn(n, e, r, i) ? NaN : function(t, n, e, r, a, o, s, i) {
942
+ const { fAi: l, fDCi: u, fDSCi: f } = ln(t, n, e, s, i);
943
+ return (o * s + 100 * r * (u - l * (1 + a * f / s))) / (a * f + s);
944
+ }(n, e, r, a, o, s, i, l);
945
+ }
946
+ function sn(n, e, r, a, o, s, i, l = 0) {
947
+ if (i = Math.floor(i), l = Math.floor(l), !t.isValidDate(n) || !t.isValidDate(e) || !t.isValidDate(r) || a < 0 || o <= 0 || s <= 0 || !k(i) || !E(l) || !cn(n, e, r, i)) return NaN;
948
+ const { fAi: u, fDCi: f, fDSCi: c } = ln(n, e, r, i, l);
949
+ return (i * (s - o) + 100 * a * (f - u)) / (c * o + 100 * a * u * c / i);
950
+ }
951
+ function ln(n, e, r, a, o) {
952
+ const s = function(n, e, r) {
953
+ const a = t.fromSerialDate(n, !0), o = t.fromSerialDate(e, !0), s = 12 / r;
954
+ o.setFullYear(a.getFullYear()), o > a && o.setFullYear(o.getFullYear() - 1);
955
+ for (; o < a;) o.setMonth(o.getMonth() + s);
956
+ return t.toSerialDate(o, !0);
957
+ }(e, r, a);
958
+ return {
959
+ fAi: un(r, n, s, a, o),
960
+ fDCi: un(r, e, s, a, o),
961
+ fDSCi: un(n, e, s, a, o)
962
+ };
963
+ }
964
+ function un(n, e, r, a, o) {
965
+ const s = t.fromSerialDate(n, !0), i = t.fromSerialDate(e, !0), l = 12 / a, u = t.fromSerialDate(r, !0);
966
+ for (u.setFullYear(s.getFullYear()), u < s && u.setFullYear(u.getFullYear() + 1); u > s;) u.setMonth(u.getMonth() - l);
967
+ let f = t.toSerialDate(u, !0);
968
+ u.setMonth(u.getMonth() + l);
969
+ let c = t.toSerialDate(u, !0);
970
+ const m = (t, n, e) => 1 === o || 3 === o ? e - n : V(n, e, a, t);
971
+ if (c >= e) {
972
+ const { days: t } = I(n, e, o);
973
+ return t / m(o, f, c);
974
+ }
975
+ const { days: h } = I(n, c, o);
976
+ let M = h / m(o, f, c);
977
+ const p = t.fromSerialDate(c, !0), D = t.fromSerialDate(c, !0);
978
+ for (D.setMonth(D.getMonth() + l); D < i;) p.setMonth(p.getMonth() + l), D.setMonth(D.getMonth() + l), M += 1;
979
+ f = t.toSerialDate(p, !0), c = t.toSerialDate(D, !0);
980
+ const { days: d } = I(f, e, o);
981
+ return M += d / m(o, f, c), M;
982
+ }
983
+ function fn(n, e, r, a, o) {
984
+ return Math.floor(e) > Math.floor(a) && Math.floor(a) > Math.floor(n) && Math.floor(n) > Math.floor(r) && function(n, e, r) {
985
+ const a = t.fromSerialDate(n, !0), o = t.fromSerialDate(e, !0), s = g(a.getFullYear(), a.getMonth(), a.getDate()), i = g(o.getFullYear(), o.getMonth(), o.getDate());
986
+ return !!(a.getDate() === o.getDate() || s && i) && Math.abs(12 * (o.getFullYear() - a.getFullYear()) + (o.getMonth() - a.getMonth())) % (12 / r) == 0;
987
+ }(e, a, o) && U(r, e, o);
988
+ }
989
+ function cn(t, n, e, r) {
990
+ return Math.floor(n) > Math.floor(t) && Math.floor(t) > Math.floor(e) && U(e, n, r);
991
+ }
992
+ var mn = o({ VDB: () => hn });
993
+ function hn(e, r, a, o, s, i = 2, l = !1) {
994
+ if (!t.isValidDate(o) || !t.isValidDate(s) || e < 0 || r < 0 || a < 0 || o < 0 || s < 0 || s > a || o > s || i < 0) return NaN;
995
+ if (0 === a && 0 === o && 0 === s) throw n.BuiltIn.Div0;
996
+ if (e < r) {
997
+ if (o >= 1 || l) return 0;
998
+ const t = r - e, n = s - o;
999
+ return -(n >= 1 ? t : t * n);
1000
+ }
1001
+ return l ? function(t, n, e, r, a, o) {
1002
+ const s = Math.floor(r) + 1, i = Math.ceil(a);
1003
+ let l = 0;
1004
+ for (let u = s; u <= i; u++) {
1005
+ let f = L(t, n, e, u, o);
1006
+ u === s ? f *= Math.min(a, s) - r : u === i && (f *= a - (i - 1)), l += f;
1007
+ }
1008
+ return l;
1009
+ }(e, r, a, o, s, i) : function(t, n, e, r, a, o) {
1010
+ const s = Math.ceil(a);
1011
+ let i = t, l = !1, u = 0, f = 0;
1012
+ for (let c = 1; c <= s && !(i <= n); c++) {
1013
+ let s;
1014
+ if (l) s = u;
1015
+ else {
1016
+ const r = L(t, n, e, c, o), a = e - (c - 1), f = a > 0 ? (i - n) / a : 0;
1017
+ f > r ? (u = f, l = !0, s = f) : s = r;
1018
+ }
1019
+ s = Math.min(s, i - n);
1020
+ const m = Math.max(c - 1, r);
1021
+ f += s * Math.max(0, Math.min(c, a) - m), i -= s;
1022
+ }
1023
+ return f;
1024
+ }(e, r, a, o, s, i);
1025
+ }
1026
+ var Mn = Object.freeze({ includeEmpty: !0 }), pn = (Object.freeze({ axis: e.Axis.Column }), Object.freeze({ axis: e.Axis.Row }), Object.freeze({
1027
+ type: r.Number,
1028
+ axis: e.Axis.Column
1029
+ })), Dn = o({
1030
+ FORECAST_ETS: () => dn,
1031
+ FORECAST_ETS_CONFINT: () => gn,
1032
+ FORECAST_ETS_SEASONALITY: () => Nn,
1033
+ FORECAST_ETS_STAT: () => yn
1034
+ });
1035
+ function dn(t, e, r, a = 1, o = 1, s = 1) {
1036
+ const i = En(e, r, o, s);
1037
+ if (n.isError(i)) return i;
1038
+ const { values: l, stepSize: u, lastTime: f, firstTime: c } = i, m = Math.round((t - f) / u), h = In(l, a);
1039
+ if (n.isError(h)) return h;
1040
+ const { alpha: M, beta: p, gamma: D, period: d, b0: g } = h, { L: N, T: y, S: b, finalIndex: E } = Rn(l, M, p, D, d, g).finalState;
1041
+ let v = N + m * y;
1042
+ return d > 1 && (v += b[(E + m) % d]), v;
1043
+ }
1044
+ function gn(e, r, a, o = .95, s = 1, i = 1, l = 1) {
1045
+ if (o < 0 || o >= 1) return n.BuiltIn.Num;
1046
+ const u = En(r, a, i, l);
1047
+ if (n.isError(u)) return u;
1048
+ const { values: f, stepSize: c, lastTime: m } = u;
1049
+ if (f.length < 4) return 0;
1050
+ const h = Math.round((e - m) / c), M = In(f, s);
1051
+ if (n.isError(M)) return M;
1052
+ const { alpha: p, beta: D, gamma: d, period: g, b0: N } = M, y = function(t, n, e, r, a, o) {
1053
+ const s = t.length;
1054
+ let i, l;
1055
+ const u = new Array(Math.max(1, a)).fill(0);
1056
+ if (a > 1 && s >= 2 * a) {
1057
+ let n = 0, e = 0;
1058
+ for (let e = 0; e < a; e++) n += t[e];
1059
+ for (let n = a; n < 2 * a; n++) e += t[n];
1060
+ i = n / a, l = (e - n) / (a * a);
1061
+ const r = n / a;
1062
+ for (let n = 0; n < a; n++) u[n] = t[n] - r;
1063
+ } else i = t[0], l = void 0 !== o ? o : a > 1 && a < s ? (t[a] - t[0]) / a : 0;
1064
+ let f = 0;
1065
+ for (let o = 0; o < s; o++) {
1066
+ const s = a > 1 ? o % a : 0, c = a > 1 ? u[s] : 0, m = i + l + c, h = t[o] - m;
1067
+ f += h * h;
1068
+ const M = n * (t[o] - c) + (1 - n) * (i + l), p = e * (M - i) + (1 - e) * l;
1069
+ a > 1 && (u[s] = r * (t[o] - M) + (1 - r) * c), i = M, l = p;
1070
+ }
1071
+ return Math.sqrt(f / s);
1072
+ }(f, p, D, d, g, N), b = function(t, n, e, r) {
1073
+ const a = Math.abs(r);
1074
+ if (0 === a) return 0;
1075
+ let o = 0, s = 1;
1076
+ for (let r = 1; r <= a; r++) {
1077
+ o += s * s;
1078
+ s = s + t + (e > 1 && r % e === 0 ? n : 0);
1079
+ }
1080
+ return o;
1081
+ }(p, d, g, h);
1082
+ return function(n) {
1083
+ const e = (1 + n) / 2, r = t.getFunction("NORM.S.INV");
1084
+ if (r) return r.execute(e);
1085
+ const a = Math.sqrt(-2 * Math.log(1 - e));
1086
+ return a - (2.515517 + .802853 * a + .010328 * a * a) / (1 + 1.432788 * a + .189269 * a * a + .001308 * a * a * a);
1087
+ }(o) * y * Math.sqrt(b);
1088
+ }
1089
+ function Nn(t, e, r = 1, a = 1) {
1090
+ const o = En(t, e, r, a);
1091
+ if (n.isError(o)) return o === n.BuiltIn.NA ? o : 0;
1092
+ const { values: s } = o;
1093
+ return s.length < 4 ? 0 : vn(s);
1094
+ }
1095
+ function yn(t, e, r, a = 1, o = 1, s = 1) {
1096
+ if (r < 1 || r > 8) return n.BuiltIn.Num;
1097
+ const i = En(t, e, o, s);
1098
+ if (n.isError(i)) return i;
1099
+ const { values: l, stepSize: u } = i;
1100
+ if (8 === r) return u;
1101
+ const f = In(l, a);
1102
+ if (n.isError(f)) return f;
1103
+ const { alpha: c, beta: m, gamma: h, period: M, b0: p } = f;
1104
+ switch (r) {
1105
+ case 1: return c;
1106
+ case 2: return m * c;
1107
+ case 3: return h;
1108
+ default: {
1109
+ const t = function(t, n, e, r, a, o) {
1110
+ const s = t.length;
1111
+ let i, l;
1112
+ const u = new Array(Math.max(1, a)).fill(0);
1113
+ if (a > 1 && s >= 2 * a) {
1114
+ let n = 0, e = 0;
1115
+ for (let e = 0; e < a; e++) n += t[e];
1116
+ for (let n = a; n < 2 * a; n++) e += t[n];
1117
+ i = n / a, l = (e - n) / (a * a);
1118
+ const r = n / a;
1119
+ for (let n = 0; n < a; n++) u[n] = t[n] - r;
1120
+ } else i = t[0], l = void 0 !== o ? o : a > 1 && a < s ? (t[a] - t[0]) / a : 0;
1121
+ let f = 0, c = 0, m = 0, h = 0;
1122
+ for (let n = 1; n < s; n++) h += Math.abs(t[n] - t[n - 1]);
1123
+ const M = h / (s - 1);
1124
+ for (let o = 0; o < s; o++) {
1125
+ const s = t[o], h = a > 1 ? o % a : 0, M = a > 1 ? u[h] : 0, p = i + l + M, D = s - p;
1126
+ f += Math.abs(D), c += D * D, m += Math.abs(D) / ((Math.abs(s) + Math.abs(p)) / 2 || 1);
1127
+ const d = n * (s - M) + (1 - n) * (i + l), g = e * (d - i) + (1 - e) * l;
1128
+ a > 1 && (u[h] = r * (s - d) + (1 - r) * M), i = d, l = g;
1129
+ }
1130
+ return {
1131
+ mae: f / s,
1132
+ rmse: Math.sqrt(c / s),
1133
+ smape: m / s,
1134
+ mase: 0 === M ? 0 : f / s / M
1135
+ };
1136
+ }(l, c, m, h, M, p);
1137
+ if (4 === r) return t.mase;
1138
+ if (5 === r) return t.smape;
1139
+ if (6 === r) return t.mae;
1140
+ if (7 === r) return t.rmse;
1141
+ }
1142
+ }
1143
+ return n.BuiltIn.Num;
1144
+ }
1145
+ function bn(t, e) {
1146
+ if (1 === t.length) return t[0].value;
1147
+ const r = t.map((t) => t.value);
1148
+ switch (e) {
1149
+ case 1: return r.reduce((t, n) => t + n, 0) / r.length;
1150
+ case 2: return r.length;
1151
+ case 3: return Math.max(...r);
1152
+ case 4: {
1153
+ r.sort((t, n) => t - n);
1154
+ const t = Math.floor(r.length / 2);
1155
+ return r.length % 2 != 0 ? r[t] : (r[t - 1] + r[t]) / 2;
1156
+ }
1157
+ case 5: return Math.min(...r);
1158
+ case 6: return r.reduce((t, n) => t + n, 0);
1159
+ default: return n.BuiltIn.Num;
1160
+ }
1161
+ }
1162
+ function En(t, e, r, a) {
1163
+ if (r < 0 || r > 1) return n.BuiltIn.Num;
1164
+ const o = t.flatten(Mn), s = e.flatten(Mn);
1165
+ if (o.length !== s.length) return n.BuiltIn.NA;
1166
+ if (o.length < 2) return n.BuiltIn.Num;
1167
+ const i = s.map((t, n) => ({
1168
+ time: t,
1169
+ value: o[n]
1170
+ })).sort((t, n) => t.time - n.time), l = [];
1171
+ let u = [i[0]];
1172
+ for (let t = 1; t < i.length; t++) {
1173
+ const e = i[t];
1174
+ if (e.time === i[t - 1].time) u.push(e);
1175
+ else {
1176
+ const t = bn(u, a);
1177
+ if (n.isError(t)) return t;
1178
+ l.push({
1179
+ time: u[0].time,
1180
+ value: t
1181
+ }), u = [e];
1182
+ }
1183
+ }
1184
+ const f = bn(u, a);
1185
+ if (n.isError(f)) return f;
1186
+ if (l.push({
1187
+ time: u[0].time,
1188
+ value: f
1189
+ }), l.length < 2) return n.BuiltIn.Num;
1190
+ const c = [];
1191
+ for (let t = 1; t < l.length; t++) c.push(l[t].time - l[t - 1].time);
1192
+ c.sort((t, n) => t - n);
1193
+ const m = Math.floor(c.length / 2), h = c.length % 2 != 0 ? c[m] : (c[m - 1] + c[m]) / 2;
1194
+ if (h <= 0) return n.BuiltIn.Num;
1195
+ const M = [l[0].value];
1196
+ for (let t = 1; t < l.length; t++) {
1197
+ const e = l[t - 1].time, a = l[t].time, o = e + h;
1198
+ if (a > o) {
1199
+ const n = Math.round((a - e) / h) - 1;
1200
+ for (let e = 1; e <= n; e++) if (0 === r) M.push(0);
1201
+ else {
1202
+ const r = l[t - 1].value, a = l[t].value;
1203
+ M.push(r + e / (n + 1) * (a - r));
1204
+ }
1205
+ } else if (Math.abs(a - o) > .01 * h) return n.BuiltIn.Num;
1206
+ M.push(l[t].value);
1207
+ }
1208
+ return {
1209
+ values: M,
1210
+ stepSize: h,
1211
+ lastTime: l[l.length - 1].time,
1212
+ firstTime: l[0].time
1213
+ };
1214
+ }
1215
+ function vn(t) {
1216
+ const n = t.length;
1217
+ if (n < 4) return 0;
1218
+ const e = t.reduce((t, n) => t + n, 0) / n;
1219
+ let r = 0;
1220
+ for (let a = 0; a < n; a++) r += Math.pow(t[a] - e, 2);
1221
+ if (0 === r) return 0;
1222
+ let a = -Infinity, o = 0;
1223
+ const s = Math.min(Math.floor(n / 2), 24);
1224
+ for (let i = 2; i <= s; i++) {
1225
+ let s = 0;
1226
+ for (let r = 0; r < n - i; r++) s += (t[r] - e) * (t[r + i] - e);
1227
+ const l = s / r;
1228
+ l > a && l > .3 && (a = l, o = i);
1229
+ }
1230
+ return o;
1231
+ }
1232
+ function Rn(t, n, e, r, a, o) {
1233
+ const s = t.length;
1234
+ let i, l;
1235
+ if (a > 1 && s >= 2 * a) {
1236
+ let n = 0, e = 0;
1237
+ for (let e = 0; e < a; e++) n += t[e];
1238
+ for (let n = a; n < 2 * a; n++) e += t[n];
1239
+ i = n / a, l = (e - n) / (a * a);
1240
+ } else i = t[0], l = void 0 !== o ? o : a > 1 && a < s ? (t[a] - t[0]) / a : 0;
1241
+ const u = new Array(Math.max(1, a)).fill(0);
1242
+ if (a > 1 && s >= a) {
1243
+ const n = u.length > 0 ? (() => {
1244
+ let n = 0;
1245
+ for (let e = 0; e < a; e++) n += t[e];
1246
+ return n / a;
1247
+ })() : i;
1248
+ for (let e = 0; e < a; e++) u[e] = t[e] - n;
1249
+ }
1250
+ let f = 0, c = 0;
1251
+ for (let o = 0; o < s; o++) {
1252
+ const s = t[o], m = a > 1 ? o % a : 0, h = a > 1 ? u[m] : 0, M = s - (i + l + h);
1253
+ f += M * M;
1254
+ const p = n * (s - h) + (1 - n) * (i + l), D = e * (p - i) + (1 - e) * l;
1255
+ a > 1 && (u[m] = r * (s - p) + (1 - r) * h), i = p, l = D, c = m;
1256
+ }
1257
+ return {
1258
+ mse: f / s,
1259
+ finalState: {
1260
+ L: i,
1261
+ T: l,
1262
+ S: u,
1263
+ finalIndex: c
1264
+ }
1265
+ };
1266
+ }
1267
+ function In(t, e) {
1268
+ let r = 1;
1269
+ if (0 === e) r = 1;
1270
+ else if (1 === e) r = vn(t), r <= 1 && (r = 1);
1271
+ else {
1272
+ if (!(e > 1)) return n.BuiltIn.Num;
1273
+ r = Math.floor(e);
1274
+ }
1275
+ if (r > 1 && t.length < 2 * r) return n.BuiltIn.Num;
1276
+ const a = t.length;
1277
+ if (1 === r) {
1278
+ const n = Math.max(1, Math.floor(a / 4)), e = Cn((n) => {
1279
+ const e = Math.max(.001, Math.min(.999, n[0])), r = Math.max(.001, Math.min(.999, n[1])), a = n[2];
1280
+ return Rn(t, e, r, 0, 1, a).mse;
1281
+ }, [
1282
+ .9,
1283
+ .1,
1284
+ a > n ? (t[n] - t[0]) / n : 0
1285
+ ]).x;
1286
+ return {
1287
+ alpha: Math.max(.001, Math.min(.999, e[0])),
1288
+ beta: Math.max(.001, Math.min(.999, e[1])),
1289
+ gamma: 0,
1290
+ period: 1,
1291
+ b0: e[2]
1292
+ };
1293
+ }
1294
+ const o = Cn((n) => Rn(t, Math.max(.001, Math.min(.999, n[0])), Math.max(.001, Math.min(.999, n[1])), Math.max(.001, Math.min(.999, n[2])), r).mse, [
1295
+ .9,
1296
+ .1,
1297
+ .1
1298
+ ]).x;
1299
+ return {
1300
+ alpha: Math.max(.001, Math.min(.999, o[0])),
1301
+ beta: Math.max(.001, Math.min(.999, o[1])),
1302
+ gamma: Math.max(.001, Math.min(.999, o[2])),
1303
+ period: r,
1304
+ b0: 0
1305
+ };
1306
+ }
1307
+ function Sn(t, n, e, r, a) {
1308
+ for (let o = 0; o < t.length; ++o) t[o] = n * e[o] + r * a[o];
1309
+ }
1310
+ function Cn(t, n, e) {
1311
+ const r = (e = e || {}).maxIterations || 200 * n.length, a = e.nonZeroDelta || 1.05, o = e.zeroDelta || .001, s = e.minErrorDelta || 1e-6, i = e.minTolerance || 1e-5, l = void 0 !== e.rho ? e.rho : 1, u = void 0 !== e.chi ? e.chi : 2, f = void 0 !== e.psi ? e.psi : -.5, c = void 0 !== e.sigma ? e.sigma : .5;
1312
+ let m;
1313
+ const h = n.length, M = new Array(h + 1);
1314
+ M[0] = n, M[0].fx = t(n), M[0].id = 0;
1315
+ for (let e = 0; e < h; ++e) {
1316
+ const r = n.slice();
1317
+ r[e] = r[e] ? r[e] * a : o, M[e + 1] = r, M[e + 1].fx = t(r), M[e + 1].id = e + 1;
1318
+ }
1319
+ function p(t) {
1320
+ for (let n = 0; n < t.length; n++) M[h][n] = t[n];
1321
+ M[h].fx = t.fx;
1322
+ }
1323
+ const D = (t, n) => t.fx - n.fx, d = n.slice(), g = n.slice(), N = n.slice(), y = n.slice();
1324
+ for (let n = 0; n < r; ++n) {
1325
+ if (M.sort(D), e.history) {
1326
+ const t = M.map((t) => {
1327
+ const n = t.slice();
1328
+ return n.fx = t.fx, n.id = t.id, n;
1329
+ });
1330
+ t.sort((t, n) => t.id - n.id), e.history.push({
1331
+ x: M[0].slice(),
1332
+ fx: M[0].fx,
1333
+ simplex: t
1334
+ });
1335
+ }
1336
+ m = 0;
1337
+ for (let t = 0; t < h; ++t) m = Math.max(m, Math.abs(M[0][t] - M[1][t]));
1338
+ if (Math.abs(M[0].fx - M[h].fx) < s && m < i) break;
1339
+ for (let t = 0; t < h; ++t) {
1340
+ d[t] = 0;
1341
+ for (let n = 0; n < h; ++n) d[t] += M[n][t];
1342
+ d[t] /= h;
1343
+ }
1344
+ const n = M[h];
1345
+ if (Sn(g, 1 + l, d, -l, n), g.fx = t(g), g.fx < M[0].fx) Sn(y, 1 + u, d, -u, n), y.fx = t(y), p(y.fx < g.fx ? y : g);
1346
+ else if (g.fx >= M[h - 1].fx) {
1347
+ let e = !1;
1348
+ if (g.fx > n.fx ? (Sn(N, 1 + f, d, -f, n), N.fx = t(N), N.fx < n.fx ? p(N) : e = !0) : (Sn(N, 1 - f * l, d, f * l, n), N.fx = t(N), N.fx < g.fx ? p(N) : e = !0), e) {
1349
+ if (c >= 1) break;
1350
+ for (let n = 1; n < M.length; ++n) Sn(M[n], 1 - c, M[0], c, M[n]), M[n].fx = t(M[n]);
1351
+ }
1352
+ } else p(g);
1353
+ }
1354
+ return M.sort(D), {
1355
+ fx: M[0].fx,
1356
+ x: M[0]
1357
+ };
1358
+ }
1359
+ var Tn = (t, e) => {
1360
+ const r = t.getRowCount(), a = t.getColumnCount(), o = r * a;
1361
+ if (0 === o) throw n.BuiltIn.Value;
1362
+ const s = Bn(t, o), i = 1 === r && a > 1, l = r > 1 && a > 1;
1363
+ if (!e || 0 === e.size) {
1364
+ const t = new Array(o);
1365
+ for (let n = 0; n < o; n++) t[n] = [n + 1];
1366
+ return {
1367
+ ys: s,
1368
+ xs: t,
1369
+ k: 1,
1370
+ isRowOriented: i,
1371
+ isRectangularY: l,
1372
+ yRows: r,
1373
+ yCols: a
1374
+ };
1375
+ }
1376
+ const u = e.getRowCount(), f = e.getColumnCount();
1377
+ if (l) {
1378
+ if (u !== r || f !== a) throw n.BuiltIn.Ref;
1379
+ const t = Bn(e, o), c = new Array(o);
1380
+ for (let n = 0; n < o; n++) c[n] = [t[n]];
1381
+ return {
1382
+ ys: s,
1383
+ xs: c,
1384
+ k: 1,
1385
+ isRowOriented: i,
1386
+ isRectangularY: l,
1387
+ yRows: r,
1388
+ yCols: a
1389
+ };
1390
+ }
1391
+ if ((i ? f : u) !== o) throw n.BuiltIn.Ref;
1392
+ const c = i ? u : f;
1393
+ return {
1394
+ ys: s,
1395
+ xs: On(e, o, c, i),
1396
+ k: c,
1397
+ isRowOriented: i,
1398
+ isRectangularY: l,
1399
+ yRows: r,
1400
+ yCols: a
1401
+ };
1402
+ }, An = (t) => {
1403
+ const e = new Array(t.length);
1404
+ for (let r = 0; r < t.length; r++) {
1405
+ if (t[r] <= 0) throw n.BuiltIn.Num;
1406
+ e[r] = Math.log(t[r]);
1407
+ }
1408
+ return e;
1409
+ }, wn = (t, e, r) => {
1410
+ let a, o, s;
1411
+ if (e && e.size > 0) {
1412
+ const r = ((t, e) => {
1413
+ const r = t.getRowCount(), a = t.getColumnCount(), o = r * a;
1414
+ if (0 === o) throw n.BuiltIn.Ref;
1415
+ if (1 === e.k) {
1416
+ const n = Bn(t, o), e = new Array(o);
1417
+ for (let t = 0; t < o; t++) e[t] = [n[t]];
1418
+ return {
1419
+ xs: e,
1420
+ rows: r,
1421
+ cols: a
1422
+ };
1423
+ }
1424
+ const s = e.isRowOriented ? a : r;
1425
+ if ((e.isRowOriented ? r : a) !== e.k) throw n.BuiltIn.Ref;
1426
+ return {
1427
+ xs: On(t, s, e.k, e.isRowOriented),
1428
+ rows: e.isRowOriented ? 1 : s,
1429
+ cols: e.isRowOriented ? s : 1
1430
+ };
1431
+ })(e, t);
1432
+ a = r.xs, o = r.rows, s = r.cols;
1433
+ } else a = t.xs, o = t.yRows, s = t.yCols;
1434
+ const i = new Array(o);
1435
+ let l = 0;
1436
+ for (let t = 0; t < o; t++) {
1437
+ const n = new Array(s);
1438
+ for (let t = 0; t < s; t++) n[t] = r(a[l++]);
1439
+ i[t] = n;
1440
+ }
1441
+ return i;
1442
+ }, xn = (t, n, e) => {
1443
+ const r = t.length, a = n.length > 0 ? n[0].length : 0, o = [], s = [];
1444
+ e && (o.push(new Array(r).fill(1)), s.push(a));
1445
+ for (let t = a - 1; t >= 0; t--) {
1446
+ const e = new Array(r);
1447
+ for (let a = 0; a < r; a++) e[a] = n[a][t];
1448
+ o.push(e), s.push(a - 1 - t);
1449
+ }
1450
+ const i = [], l = [], u = [];
1451
+ for (let t = 0; t < o.length; t++) {
1452
+ const n = o[t].slice(), e = Math.sqrt(Pn(n, n)), a = new Array(l.length).fill(0);
1453
+ for (let t = 0; t < 2; t++) for (let t = 0; t < l.length; t++) {
1454
+ const e = Pn(l[t], n);
1455
+ for (let a = 0; a < r; a++) n[a] -= e * l[t][a];
1456
+ a[t] += e;
1457
+ }
1458
+ const s = Math.sqrt(Pn(n, n));
1459
+ if (!(s <= 1e-10 * (e || 1))) {
1460
+ for (let t = 0; t < r; t++) n[t] /= s;
1461
+ a.push(s), l.push(n), u.push(a), i.push(t);
1462
+ }
1463
+ }
1464
+ const f = i.length, c = new Array(f);
1465
+ for (let n = 0; n < f; n++) c[n] = Pn(l[n], t);
1466
+ const m = new Array(f).fill(0);
1467
+ for (let t = f - 1; t >= 0; t--) {
1468
+ let n = c[t];
1469
+ for (let e = t + 1; e < f; e++) n -= u[e][t] * m[e];
1470
+ m[t] = n / u[t][t];
1471
+ }
1472
+ const h = Array.from({ length: f }, () => new Array(f).fill(0));
1473
+ for (let t = f - 1; t >= 0; t--) {
1474
+ h[t][t] = 1 / u[t][t];
1475
+ for (let n = t + 1; n < f; n++) {
1476
+ let e = 0;
1477
+ for (let r = t + 1; r <= n; r++) e += u[r][t] * h[r][n];
1478
+ h[t][n] = -e * h[t][t];
1479
+ }
1480
+ }
1481
+ const M = new Array(a + 1).fill(0), p = new Array(a + 1).fill(0);
1482
+ for (let t = 0; t < f; t++) {
1483
+ const n = s[i[t]];
1484
+ M[n] = m[t];
1485
+ let e = 0;
1486
+ for (let n = t; n < f; n++) e += h[t][n] * h[t][n];
1487
+ p[n] = e;
1488
+ }
1489
+ const D = (t) => {
1490
+ let n = e ? M[a] : 0;
1491
+ for (let e = 0; e < a; e++) n += M[a - 1 - e] * t[e];
1492
+ return n;
1493
+ };
1494
+ let d = 0;
1495
+ for (let e = 0; e < r; e++) {
1496
+ const r = t[e] - D(n[e] ?? []);
1497
+ d += r * r;
1498
+ }
1499
+ let g = 0;
1500
+ if (e) {
1501
+ let n = 0;
1502
+ for (let e = 0; e < r; e++) n += t[e];
1503
+ n /= r;
1504
+ for (let e = 0; e < r; e++) g += (t[e] - n) * (t[e] - n);
1505
+ } else for (let n = 0; n < r; n++) g += t[n] * t[n];
1506
+ const N = g - d, y = e ? f - 1 : f, b = r - y - (e ? 1 : 0), E = b > 0 ? d / b : 0, v = b > 0 ? Math.sqrt(E) : 0, R = new Array(a + 1).fill(0);
1507
+ for (let t = 0; t <= a; t++) R[t] = v * Math.sqrt(Math.max(p[t], 0));
1508
+ return {
1509
+ coefficients: M,
1510
+ standardErrors: R,
1511
+ kEffective: y,
1512
+ df: b,
1513
+ sey: v,
1514
+ r2: 0 === g ? 1 : N / g,
1515
+ f: b > 0 && y > 0 && 0 !== E ? N / y / E : null,
1516
+ ssReg: N,
1517
+ ssResid: d,
1518
+ predict: D
1519
+ };
1520
+ }, Vn = (t, e, r) => {
1521
+ const a = e.length, o = n.BuiltIn.NA, s = (t, n) => {
1522
+ const e = new Array(a).fill(o);
1523
+ return e[0] = t, a > 1 && (e[1] = n), e;
1524
+ }, i = t.standardErrors.slice();
1525
+ return r || (i[a - 1] = o), [
1526
+ e.slice(),
1527
+ i,
1528
+ s(t.r2, t.sey),
1529
+ s(t.f ?? n.BuiltIn.Num, t.df),
1530
+ s(t.ssReg, t.ssResid)
1531
+ ];
1532
+ }, Bn = (t, e) => {
1533
+ const r = new Array(e);
1534
+ let a = 0;
1535
+ for (const e of t.values(Mn)) {
1536
+ if ("number" != typeof e) throw n.BuiltIn.Value;
1537
+ r[a++] = e;
1538
+ }
1539
+ return r;
1540
+ }, On = (t, n, e, r) => {
1541
+ const a = Bn(t, n * e), o = new Array(n);
1542
+ for (let t = 0; t < n; t++) {
1543
+ const s = new Array(e);
1544
+ for (let o = 0; o < e; o++) s[o] = r ? a[o * n + t] : a[t * e + o];
1545
+ o[t] = s;
1546
+ }
1547
+ return o;
1548
+ }, Pn = (t, n) => {
1549
+ let e = 0;
1550
+ for (let r = 0; r < t.length; r++) e += t[r] * n[r];
1551
+ return e;
1552
+ }, Fn = o({
1553
+ GROWTH: () => kn,
1554
+ LINEST: () => Yn,
1555
+ LOGEST: () => Ln,
1556
+ TREND: () => Un
1557
+ });
1558
+ function Yn(t, n, e = !0, r = !1) {
1559
+ const a = Tn(t, n), o = xn(a.ys, a.xs, e), s = o.coefficients;
1560
+ return r ? Vn(o, s, e) : [s.slice()];
1561
+ }
1562
+ function Ln(t, n, e = !0, r = !1) {
1563
+ const a = Tn(t, n), o = xn(An(a.ys), a.xs, e), s = o.coefficients.map(Math.exp);
1564
+ return r ? Vn(o, s, e) : [s];
1565
+ }
1566
+ function Un(t, n, e, r = !0) {
1567
+ const a = Tn(t, n);
1568
+ return wn(a, e, xn(a.ys, a.xs, r).predict);
1569
+ }
1570
+ function kn(t, n, e, r = !0) {
1571
+ const a = Tn(t, n);
1572
+ return wn(a, e, xn(An(a.ys), a.xs, r).predict).map((t) => t.map(Math.exp));
1573
+ }
1574
+ var qn = o({
1575
+ TTEST: () => Xn,
1576
+ T_TEST: () => jn
1577
+ });
1578
+ function Xn(t, n, e, r) {
1579
+ return jn(t, n, e, r);
1580
+ }
1581
+ function jn(t, e, r, a) {
1582
+ if (r = Math.floor(r), a = Math.floor(a), ![1, 2].includes(r) || ![
1583
+ 1,
1584
+ 2,
1585
+ 3
1586
+ ].includes(a)) return NaN;
1587
+ const o = t.getShape(), s = e.getShape(), i = o.rows * o.columns, l = s.rows * s.columns;
1588
+ if (1 === a && i !== l) return n.BuiltIn.NA;
1589
+ const u = t.flatten(pn), f = e.flatten(pn);
1590
+ if (null === u || null === f) return n.BuiltIn.Value;
1591
+ if (u.length < 2 || f.length < 2) throw n.BuiltIn.Div0;
1592
+ if (1 === a && u.length !== f.length) return n.BuiltIn.NA;
1593
+ const c = 1 === a ? function(t, n) {
1594
+ const e = t.length;
1595
+ let r = 0, a = 0, o = 0;
1596
+ for (let s = 0; s < e; s++) r += t[s], a += n[s], o += (t[s] - n[s]) ** 2;
1597
+ const s = r - a, i = e * o - s ** 2;
1598
+ return 0 === i ? { error: !0 } : {
1599
+ x: Math.abs(s) * Math.sqrt((e - 1) / i),
1600
+ df: e - 1
1601
+ };
1602
+ }(u, f) : 2 === a ? function(t, n) {
1603
+ const e = t.length, r = n.length;
1604
+ let a = 0, o = 0, s = 0, i = 0;
1605
+ for (const n of t) a += n, o += n * n;
1606
+ for (const t of n) s += t, i += t * t;
1607
+ const l = o - a ** 2 / e, u = i - s ** 2 / r, f = Math.sqrt(l + u);
1608
+ if (0 === f) return { error: !0 };
1609
+ const c = e + r - 2;
1610
+ return {
1611
+ x: Math.abs(a / e - s / r) / f * Math.sqrt(e * r * c / (e + r)),
1612
+ df: c
1613
+ };
1614
+ }(u, f) : function(t, n) {
1615
+ const e = t.length, r = n.length;
1616
+ let a = 0, o = 0, s = 0, i = 0;
1617
+ for (const n of t) a += n, o += n * n;
1618
+ for (const t of n) s += t, i += t * t;
1619
+ const l = (o - a ** 2 / e) / (e * (e - 1)), u = (i - s ** 2 / r) / (r * (r - 1));
1620
+ if (l + u === 0) return { error: !0 };
1621
+ const f = Math.abs(a / e - s / r) / Math.sqrt(l + u), c = l / (l + u);
1622
+ return {
1623
+ x: f,
1624
+ df: 1 / (c ** 2 / (e - 1) + (1 - c) ** 2 / (r - 1))
1625
+ };
1626
+ }(u, f);
1627
+ if ("error" in c) throw n.BuiltIn.Div0;
1628
+ return function(t, n) {
1629
+ const e = .5 * function(t, n, e) {
1630
+ if (e <= 0) return 0;
1631
+ if (e >= 1) return 1;
1632
+ const r = Gn(t) + Gn(n) - Gn(t + n), a = Math.exp(Math.log(e) * t + Math.log(1 - e) * n - r);
1633
+ return e < (t + 1) / (t + n + 2) ? a * _n(t, n, e) / t : 1 - a * _n(n, t, 1 - e) / n;
1634
+ }(n / 2, .5, n / (n + t * t));
1635
+ return t >= 0 ? 1 - e : e;
1636
+ }(-c.x, c.df) * r;
1637
+ }
1638
+ function _n(t, n, e) {
1639
+ const r = 1e-30, a = t + n, o = t + 1, s = t - 1;
1640
+ let i = 1, l = 1 - a * e / o;
1641
+ Math.abs(l) < r && (l = r), l = 1 / l;
1642
+ let u = l;
1643
+ for (let f = 1; f <= 200; f++) {
1644
+ const c = 2 * f;
1645
+ let m = f * (n - f) * e / ((s + c) * (t + c));
1646
+ l = 1 + m * l, Math.abs(l) < r && (l = r), i = 1 + m / i, Math.abs(i) < r && (i = r), l = 1 / l, u *= l * i, m = -(t + f) * (a + f) * e / ((t + c) * (o + c)), l = 1 + m * l, Math.abs(l) < r && (l = r), i = 1 + m / i, Math.abs(i) < r && (i = r), l = 1 / l;
1647
+ const h = l * i;
1648
+ if (u *= h, Math.abs(h - 1) < 3e-7) break;
1649
+ }
1650
+ return u;
1651
+ }
1652
+ function Gn(t) {
1653
+ const n = [
1654
+ .9999999999998099,
1655
+ 676.5203681218851,
1656
+ -1259.1392167224028,
1657
+ 771.3234287776531,
1658
+ -176.6150291621406,
1659
+ 12.507343278686905,
1660
+ -.13857109526572012,
1661
+ 9984369578019572e-21,
1662
+ 1.5056327351493116e-7
1663
+ ];
1664
+ if (t < .5) return Math.log(Math.PI / Math.sin(Math.PI * t)) - Gn(1 - t);
1665
+ t--;
1666
+ let e = n[0];
1667
+ for (let r = 1; r < 9; r++) e += n[r] / (t + r);
1668
+ const r = t + 7.5;
1669
+ return .5 * Math.log(2 * Math.PI) + (t + .5) * Math.log(r) - r + Math.log(e);
1670
+ }
1671
+ var zn = o({
1672
+ REGEXEXTRACT: () => Hn,
1673
+ REGEXMATCH: () => Kn,
1674
+ REGEXREPLACE: () => Qn,
1675
+ REGEXTEST: () => Wn
1676
+ });
1677
+ function Hn(e, r, a = 0, o = !1) {
1678
+ const s = $n(r, o);
1679
+ if (n.isError(s)) return s;
1680
+ if (0 === a) {
1681
+ const r = e.match(s);
1682
+ return r ? t.createRange().replace([[r[0]]]) : t.createRange().replace([[n.BuiltIn.NA]]);
1683
+ }
1684
+ if (1 === a) {
1685
+ const r = new RegExp(s.source, s.flags + "g"), a = [...e.matchAll(r)];
1686
+ if (0 === a.length) return t.createRange().replace([[n.BuiltIn.NA]]);
1687
+ const o = a.map((t) => t[0]);
1688
+ return t.createRange().replace([o]);
1689
+ }
1690
+ if (2 === a) {
1691
+ const r = e.match(s);
1692
+ if (!r) return t.createRange().replace([[n.BuiltIn.NA]]);
1693
+ if (1 === r.length) return n.BuiltIn.Value;
1694
+ const a = r.slice(1).map((t) => t ?? n.BuiltIn.NA);
1695
+ return t.createRange().replace([a]);
1696
+ }
1697
+ return n.BuiltIn.Value;
1698
+ }
1699
+ function Kn(t, e, r = !1) {
1700
+ const a = $n(e, r);
1701
+ return n.isError(a) ? a : a.test(t);
1702
+ }
1703
+ function Qn(t, e, r, a = 0, o = !1) {
1704
+ const s = $n(e, o);
1705
+ if (n.isError(s)) return s;
1706
+ if (0 === a) {
1707
+ const n = new RegExp(s.source, s.flags + "g");
1708
+ return t.replace(n, r);
1709
+ }
1710
+ let i = 0, l = t;
1711
+ const u = new RegExp(s.source, s.flags);
1712
+ let f = 0;
1713
+ for (; f <= l.length;) {
1714
+ const t = l.slice(f).match(u);
1715
+ if (!t || void 0 === t.index) break;
1716
+ if (i++, i === a) {
1717
+ const n = f + t.index;
1718
+ l = l.slice(0, n) + t[0].replace(u, r) + l.slice(n + t[0].length);
1719
+ break;
1720
+ }
1721
+ f += t.index + Math.max(t[0].length, 1);
1722
+ }
1723
+ return l;
1724
+ }
1725
+ function Wn(t, e, r = !1) {
1726
+ const a = $n(e, r);
1727
+ return n.isError(a) ? a : a.test(t);
1728
+ }
1729
+ function $n(t, e) {
1730
+ try {
1731
+ return new RegExp(t, e ? "i" : "");
1732
+ } catch {
1733
+ return n.BuiltIn.Value;
1734
+ }
1735
+ }
1736
+ var Zn = {
1737
+ CUBEKPIMEMBER: {
1738
+ p: [
1739
+ {
1740
+ n: "connection",
1741
+ s: "string"
1742
+ },
1743
+ {
1744
+ n: "kpiName",
1745
+ s: "string"
1746
+ },
1747
+ { n: "kpiProperty" },
1748
+ {
1749
+ n: "caption",
1750
+ s: "string",
1751
+ m: "?"
1752
+ }
1753
+ ],
1754
+ r: { s: "string" }
1755
+ },
1756
+ CUBEMEMBER: {
1757
+ p: [
1758
+ {
1759
+ n: "connection",
1760
+ s: "string"
1761
+ },
1762
+ {
1763
+ n: "memberExpression",
1764
+ s: "string"
1765
+ },
1766
+ {
1767
+ n: "caption",
1768
+ s: "string",
1769
+ m: "?"
1770
+ }
1771
+ ],
1772
+ r: { s: "string" }
1773
+ },
1774
+ CUBEMEMBERPROPERTY: {
1775
+ p: [
1776
+ {
1777
+ n: "connection",
1778
+ s: "string"
1779
+ },
1780
+ {
1781
+ n: "memberExpression",
1782
+ s: "string"
1783
+ },
1784
+ { n: "kpiProperty" }
1785
+ ],
1786
+ r: { s: "string" }
1787
+ },
1788
+ CUBERANKEDMEMBER: {
1789
+ p: [
1790
+ {
1791
+ n: "connection",
1792
+ s: "string"
1793
+ },
1794
+ {
1795
+ n: "setExpression",
1796
+ s: "string"
1797
+ },
1798
+ { n: "rank" },
1799
+ {
1800
+ n: "caption",
1801
+ s: "string",
1802
+ m: "?"
1803
+ }
1804
+ ],
1805
+ r: { s: "string" }
1806
+ },
1807
+ CUBESET: {
1808
+ p: [
1809
+ {
1810
+ n: "connection",
1811
+ s: "string"
1812
+ },
1813
+ {
1814
+ n: "setExpression",
1815
+ s: "string"
1816
+ },
1817
+ {
1818
+ n: "caption",
1819
+ s: "string",
1820
+ m: "?"
1821
+ },
1822
+ {
1823
+ n: "sortOrder",
1824
+ m: "?"
1825
+ },
1826
+ {
1827
+ n: "sortBy",
1828
+ s: "string",
1829
+ m: "?"
1830
+ }
1831
+ ],
1832
+ r: { s: "string" }
1833
+ },
1834
+ CUBESETCOUNT: {
1835
+ p: [{
1836
+ n: "set",
1837
+ s: "string"
1838
+ }],
1839
+ r: { s: "number" }
1840
+ },
1841
+ CUBEVALUE: {
1842
+ p: [{
1843
+ n: "connection",
1844
+ s: "string"
1845
+ }, {
1846
+ n: "memberExpression",
1847
+ s: "string",
1848
+ d: 1,
1849
+ m: "..."
1850
+ }],
1851
+ r: { s: "string" }
1852
+ }
1853
+ }, Jn = { ACCRINT: {
1854
+ p: [
1855
+ { n: "issue" },
1856
+ { n: "firstInterest" },
1857
+ { n: "settlement" },
1858
+ { n: "rate" },
1859
+ { n: "par" },
1860
+ { n: "frequency" },
1861
+ {
1862
+ n: "basis",
1863
+ m: "?",
1864
+ v: 0
1865
+ },
1866
+ {
1867
+ n: "calcMethod",
1868
+ s: "boolean",
1869
+ m: "?",
1870
+ v: !0
1871
+ }
1872
+ ],
1873
+ r: { s: "number" }
1874
+ } }, te = { AMORDEGRC: {
1875
+ p: [
1876
+ { n: "cost" },
1877
+ { n: "datePurchased" },
1878
+ { n: "firstPeriod" },
1879
+ { n: "salvage" },
1880
+ { n: "period" },
1881
+ { n: "rate" },
1882
+ {
1883
+ n: "basis",
1884
+ m: "?",
1885
+ v: 0
1886
+ }
1887
+ ],
1888
+ r: { s: "number" }
1889
+ } }, ne = {
1890
+ DATEDIF: {
1891
+ p: [
1892
+ { n: "startDate" },
1893
+ { n: "endDate" },
1894
+ {
1895
+ n: "unit",
1896
+ s: "string"
1897
+ }
1898
+ ],
1899
+ r: { s: "number" }
1900
+ },
1901
+ YEARFRAC: {
1902
+ p: [
1903
+ {
1904
+ n: "startDate",
1905
+ s: "*"
1906
+ },
1907
+ {
1908
+ n: "endDate",
1909
+ s: "*"
1910
+ },
1911
+ {
1912
+ n: "basis",
1913
+ s: "*",
1914
+ m: "?",
1915
+ v: 0
1916
+ }
1917
+ ],
1918
+ r: { s: "number" }
1919
+ },
1920
+ DAYS360: {
1921
+ p: [
1922
+ { n: "startDate" },
1923
+ { n: "endDate" },
1924
+ {
1925
+ n: "method",
1926
+ s: "boolean",
1927
+ m: "?",
1928
+ v: !1
1929
+ }
1930
+ ],
1931
+ r: { s: "number" }
1932
+ }
1933
+ }, ee = {
1934
+ COUPDAYS: {
1935
+ p: [
1936
+ { n: "settlement" },
1937
+ { n: "maturity" },
1938
+ { n: "frequency" },
1939
+ {
1940
+ n: "basis",
1941
+ m: "?",
1942
+ v: 0
1943
+ }
1944
+ ],
1945
+ r: { s: "number" }
1946
+ },
1947
+ CUMIPMT: {
1948
+ p: [
1949
+ { n: "rate" },
1950
+ { n: "nper" },
1951
+ { n: "pv" },
1952
+ { n: "startPeriod" },
1953
+ { n: "endPeriod" },
1954
+ { n: "type" }
1955
+ ],
1956
+ r: { s: "number" }
1957
+ },
1958
+ CUMPRINC: {
1959
+ p: [
1960
+ { n: "rate" },
1961
+ { n: "nper" },
1962
+ { n: "pv" },
1963
+ { n: "startPeriod" },
1964
+ { n: "endPeriod" },
1965
+ { n: "type" }
1966
+ ],
1967
+ r: { s: "number" }
1968
+ },
1969
+ DB: {
1970
+ p: [
1971
+ { n: "cost" },
1972
+ { n: "salvage" },
1973
+ { n: "life" },
1974
+ { n: "period" },
1975
+ {
1976
+ n: "month",
1977
+ m: "?",
1978
+ v: 12
1979
+ }
1980
+ ],
1981
+ r: { s: "number" }
1982
+ },
1983
+ DDB: {
1984
+ p: [
1985
+ { n: "cost" },
1986
+ { n: "salvage" },
1987
+ { n: "life" },
1988
+ { n: "period" },
1989
+ {
1990
+ n: "factor",
1991
+ m: "?",
1992
+ v: 2
1993
+ }
1994
+ ],
1995
+ r: { s: "number" }
1996
+ },
1997
+ DISC: {
1998
+ p: [
1999
+ { n: "settlement" },
2000
+ { n: "maturity" },
2001
+ { n: "pr" },
2002
+ { n: "redemption" },
2003
+ {
2004
+ n: "basis",
2005
+ m: "?",
2006
+ v: 0
2007
+ }
2008
+ ],
2009
+ r: { s: "number" }
2010
+ },
2011
+ DOLLARDE: {
2012
+ p: [{ n: "fractionalDollar" }, { n: "fraction" }],
2013
+ r: { s: "number" }
2014
+ },
2015
+ DOLLARFR: {
2016
+ p: [{ n: "decimalDollar" }, { n: "fraction" }],
2017
+ r: { s: "number" }
2018
+ },
2019
+ EFFECT: {
2020
+ p: [{ n: "nominalRate" }, { n: "npery" }],
2021
+ r: { s: "number" }
2022
+ },
2023
+ FV: {
2024
+ p: [
2025
+ { n: "rate" },
2026
+ { n: "nper" },
2027
+ { n: "pmt" },
2028
+ {
2029
+ n: "pv",
2030
+ m: "?",
2031
+ v: 0
2032
+ },
2033
+ {
2034
+ n: "type",
2035
+ m: "?",
2036
+ v: 0,
2037
+ e: ["0", "1"]
2038
+ }
2039
+ ],
2040
+ r: { s: "number" }
2041
+ },
2042
+ FVSCHEDULE: {
2043
+ p: [{ n: "principal" }, {
2044
+ n: "schedule",
2045
+ r: "r"
2046
+ }],
2047
+ r: { s: "number" }
2048
+ },
2049
+ IPMT: {
2050
+ p: [
2051
+ { n: "rate" },
2052
+ { n: "per" },
2053
+ { n: "nper" },
2054
+ { n: "pv" },
2055
+ {
2056
+ n: "fv",
2057
+ m: "?",
2058
+ v: 0
2059
+ },
2060
+ {
2061
+ n: "type",
2062
+ m: "?",
2063
+ v: 0
2064
+ }
2065
+ ],
2066
+ r: { s: "number" }
2067
+ },
2068
+ IRR: {
2069
+ p: [{
2070
+ n: "values",
2071
+ d: 1
2072
+ }, {
2073
+ n: "guess",
2074
+ m: "?",
2075
+ v: .1
2076
+ }],
2077
+ r: { s: "number" }
2078
+ },
2079
+ ISPMT: {
2080
+ p: [
2081
+ { n: "rate" },
2082
+ { n: "per" },
2083
+ { n: "nper" },
2084
+ { n: "pv" }
2085
+ ],
2086
+ r: { s: "number" }
2087
+ },
2088
+ MIRR: {
2089
+ p: [
2090
+ {
2091
+ n: "values",
2092
+ d: 1
2093
+ },
2094
+ { n: "financeRate" },
2095
+ { n: "reinvestRate" }
2096
+ ],
2097
+ r: { s: "number" }
2098
+ },
2099
+ NOMINAL: {
2100
+ p: [{ n: "effectiveRate" }, { n: "npery" }],
2101
+ r: { s: "number" }
2102
+ },
2103
+ NPER: {
2104
+ p: [
2105
+ { n: "rate" },
2106
+ { n: "pmt" },
2107
+ { n: "pv" },
2108
+ {
2109
+ n: "fv",
2110
+ m: "?",
2111
+ v: 0
2112
+ },
2113
+ {
2114
+ n: "type",
2115
+ m: "?",
2116
+ v: 0
2117
+ }
2118
+ ],
2119
+ r: { s: "number" }
2120
+ },
2121
+ NPV: {
2122
+ p: [{ n: "rate" }, {
2123
+ n: "value",
2124
+ g: [{ n: "value" }]
2125
+ }],
2126
+ r: { s: "number" }
2127
+ },
2128
+ PDURATION: {
2129
+ p: [
2130
+ { n: "rate" },
2131
+ { n: "pv" },
2132
+ { n: "fv" }
2133
+ ],
2134
+ r: { s: "number" }
2135
+ },
2136
+ PMT: {
2137
+ p: [
2138
+ { n: "rate" },
2139
+ { n: "nper" },
2140
+ { n: "pv" },
2141
+ {
2142
+ n: "fv",
2143
+ m: "?",
2144
+ v: 0
2145
+ },
2146
+ {
2147
+ n: "type",
2148
+ m: "?",
2149
+ v: 0
2150
+ }
2151
+ ],
2152
+ r: { s: "number" }
2153
+ },
2154
+ PPMT: {
2155
+ p: [
2156
+ { n: "rate" },
2157
+ { n: "per" },
2158
+ { n: "nper" },
2159
+ { n: "pv" },
2160
+ {
2161
+ n: "fv",
2162
+ m: "?",
2163
+ v: 0
2164
+ },
2165
+ {
2166
+ n: "type",
2167
+ m: "?",
2168
+ v: 0
2169
+ }
2170
+ ],
2171
+ r: { s: "number" }
2172
+ },
2173
+ PRICEDISC: {
2174
+ p: [
2175
+ { n: "settlement" },
2176
+ { n: "maturity" },
2177
+ { n: "discount" },
2178
+ { n: "redemption" },
2179
+ {
2180
+ n: "basis",
2181
+ m: "?",
2182
+ v: 0
2183
+ }
2184
+ ],
2185
+ r: { s: "number" }
2186
+ },
2187
+ PV: {
2188
+ p: [
2189
+ { n: "rate" },
2190
+ { n: "nper" },
2191
+ { n: "pmt" },
2192
+ {
2193
+ n: "fv",
2194
+ m: "?",
2195
+ v: 0
2196
+ },
2197
+ {
2198
+ n: "type",
2199
+ m: "?",
2200
+ v: 0
2201
+ }
2202
+ ],
2203
+ r: { s: "number" }
2204
+ },
2205
+ RATE: {
2206
+ p: [
2207
+ { n: "nper" },
2208
+ { n: "pmt" },
2209
+ { n: "pv" },
2210
+ {
2211
+ n: "fv",
2212
+ m: "?",
2213
+ v: 0
2214
+ },
2215
+ {
2216
+ n: "type",
2217
+ m: "?",
2218
+ v: 0
2219
+ },
2220
+ {
2221
+ n: "guess",
2222
+ m: "?",
2223
+ v: .1
2224
+ }
2225
+ ],
2226
+ r: { s: "number" }
2227
+ },
2228
+ RRI: {
2229
+ p: [
2230
+ { n: "nper" },
2231
+ { n: "pv" },
2232
+ { n: "fv" }
2233
+ ],
2234
+ r: { s: "number" }
2235
+ },
2236
+ SLN: {
2237
+ p: [
2238
+ { n: "cost" },
2239
+ { n: "salvage" },
2240
+ { n: "life" }
2241
+ ],
2242
+ r: { s: "number" }
2243
+ },
2244
+ STOCKHISTORY: {
2245
+ p: [
2246
+ {
2247
+ n: "stock",
2248
+ s: "string"
2249
+ },
2250
+ { n: "startDate" },
2251
+ {
2252
+ n: "endDate",
2253
+ m: "?"
2254
+ },
2255
+ {
2256
+ n: "interval",
2257
+ m: "?",
2258
+ v: 0
2259
+ },
2260
+ {
2261
+ n: "headers",
2262
+ m: "?",
2263
+ v: 1
2264
+ },
2265
+ {
2266
+ n: "properties",
2267
+ d: 1,
2268
+ m: "?"
2269
+ }
2270
+ ],
2271
+ r: { r: "r" }
2272
+ },
2273
+ SYD: {
2274
+ p: [
2275
+ { n: "cost" },
2276
+ { n: "salvage" },
2277
+ { n: "life" },
2278
+ { n: "per" }
2279
+ ],
2280
+ r: { s: "number" }
2281
+ },
2282
+ TBILLEQ: {
2283
+ p: [
2284
+ { n: "settlement" },
2285
+ { n: "maturity" },
2286
+ { n: "discount" }
2287
+ ],
2288
+ r: { s: "number" }
2289
+ },
2290
+ TBILLPRICE: {
2291
+ p: [
2292
+ { n: "settlement" },
2293
+ { n: "maturity" },
2294
+ { n: "discount" }
2295
+ ],
2296
+ r: { s: "number" }
2297
+ },
2298
+ TBILLYIELD: {
2299
+ p: [
2300
+ { n: "settlement" },
2301
+ { n: "maturity" },
2302
+ { n: "pr" }
2303
+ ],
2304
+ r: { s: "number" }
2305
+ },
2306
+ XIRR: {
2307
+ p: [
2308
+ {
2309
+ n: "values",
2310
+ r: "r"
2311
+ },
2312
+ {
2313
+ n: "dates",
2314
+ r: "r"
2315
+ },
2316
+ {
2317
+ n: "guess",
2318
+ m: "?",
2319
+ v: .1
2320
+ }
2321
+ ],
2322
+ r: { s: "*" }
2323
+ },
2324
+ XNPV: {
2325
+ p: [
2326
+ { n: "rate" },
2327
+ {
2328
+ n: "values",
2329
+ r: "r"
2330
+ },
2331
+ {
2332
+ n: "dates",
2333
+ r: "r"
2334
+ }
2335
+ ],
2336
+ r: { s: "*" }
2337
+ }
2338
+ }, re = {
2339
+ ACCRINTM: {
2340
+ p: [
2341
+ { n: "issue" },
2342
+ { n: "settlement" },
2343
+ { n: "rate" },
2344
+ { n: "par" },
2345
+ {
2346
+ n: "basis",
2347
+ m: "?",
2348
+ v: 0
2349
+ }
2350
+ ],
2351
+ r: { s: "number" }
2352
+ },
2353
+ INTRATE: {
2354
+ p: [
2355
+ { n: "settlement" },
2356
+ { n: "maturity" },
2357
+ { n: "investment" },
2358
+ { n: "redemption" },
2359
+ {
2360
+ n: "basis",
2361
+ m: "?",
2362
+ v: 0
2363
+ }
2364
+ ],
2365
+ r: { s: "number" }
2366
+ },
2367
+ RECEIVED: {
2368
+ p: [
2369
+ { n: "settlement" },
2370
+ { n: "maturity" },
2371
+ { n: "investment" },
2372
+ { n: "discount" },
2373
+ {
2374
+ n: "basis",
2375
+ m: "?",
2376
+ v: 0
2377
+ }
2378
+ ],
2379
+ r: { s: "number" }
2380
+ },
2381
+ YIELDDISC: {
2382
+ p: [
2383
+ { n: "settlement" },
2384
+ { n: "maturity" },
2385
+ { n: "pr" },
2386
+ { n: "redemption" },
2387
+ {
2388
+ n: "basis",
2389
+ m: "?",
2390
+ v: 0
2391
+ }
2392
+ ],
2393
+ r: { s: "number" }
2394
+ },
2395
+ PRICEMAT: {
2396
+ p: [
2397
+ { n: "settlement" },
2398
+ { n: "maturity" },
2399
+ { n: "issue" },
2400
+ { n: "rate" },
2401
+ { n: "yld" },
2402
+ {
2403
+ n: "basis",
2404
+ m: "?",
2405
+ v: 0
2406
+ }
2407
+ ],
2408
+ r: { s: "number" }
2409
+ },
2410
+ YIELDMAT: {
2411
+ p: [
2412
+ { n: "settlement" },
2413
+ { n: "maturity" },
2414
+ { n: "issue" },
2415
+ { n: "rate" },
2416
+ { n: "pr" },
2417
+ {
2418
+ n: "basis",
2419
+ m: "?",
2420
+ v: 0
2421
+ }
2422
+ ],
2423
+ r: { s: "number" }
2424
+ },
2425
+ AMORLINC: {
2426
+ p: [
2427
+ { n: "cost" },
2428
+ { n: "datePurchased" },
2429
+ { n: "firstPeriod" },
2430
+ { n: "salvage" },
2431
+ { n: "period" },
2432
+ { n: "rate" },
2433
+ {
2434
+ n: "basis",
2435
+ m: "?",
2436
+ v: 0
2437
+ }
2438
+ ],
2439
+ r: { s: "number" }
2440
+ }
2441
+ }, ae = {
2442
+ COUPDAYBS: {
2443
+ p: [
2444
+ { n: "settlement" },
2445
+ { n: "maturity" },
2446
+ { n: "frequency" },
2447
+ {
2448
+ n: "basis",
2449
+ m: "?",
2450
+ v: 0
2451
+ }
2452
+ ],
2453
+ r: { s: "number" }
2454
+ },
2455
+ COUPDAYS: {
2456
+ p: [
2457
+ { n: "settlement" },
2458
+ { n: "maturity" },
2459
+ { n: "frequency" },
2460
+ {
2461
+ n: "basis",
2462
+ m: "?",
2463
+ v: 0
2464
+ }
2465
+ ],
2466
+ r: { s: "number" }
2467
+ },
2468
+ COUPDAYSNC: {
2469
+ p: [
2470
+ { n: "settlement" },
2471
+ { n: "maturity" },
2472
+ { n: "frequency" },
2473
+ {
2474
+ n: "basis",
2475
+ m: "?",
2476
+ v: 0
2477
+ }
2478
+ ],
2479
+ r: { s: "number" }
2480
+ },
2481
+ COUPNCD: {
2482
+ p: [
2483
+ { n: "settlement" },
2484
+ { n: "maturity" },
2485
+ { n: "frequency" },
2486
+ {
2487
+ n: "basis",
2488
+ m: "?",
2489
+ v: 0
2490
+ }
2491
+ ],
2492
+ r: { s: "number" }
2493
+ },
2494
+ COUPPCD: {
2495
+ p: [
2496
+ { n: "settlement" },
2497
+ { n: "maturity" },
2498
+ { n: "frequency" },
2499
+ {
2500
+ n: "basis",
2501
+ m: "?",
2502
+ v: 0
2503
+ }
2504
+ ],
2505
+ r: { s: "number" }
2506
+ },
2507
+ COUPNUM: {
2508
+ p: [
2509
+ { n: "settlement" },
2510
+ { n: "maturity" },
2511
+ { n: "frequency" },
2512
+ {
2513
+ n: "basis",
2514
+ m: "?",
2515
+ v: 0
2516
+ }
2517
+ ],
2518
+ r: { s: "number" }
2519
+ }
2520
+ }, oe = {
2521
+ PRICE: {
2522
+ p: [
2523
+ { n: "settlement" },
2524
+ { n: "maturity" },
2525
+ { n: "rate" },
2526
+ { n: "yld" },
2527
+ { n: "redemption" },
2528
+ { n: "frequency" },
2529
+ {
2530
+ n: "basis",
2531
+ m: "?",
2532
+ v: 0
2533
+ }
2534
+ ],
2535
+ r: { s: "number" }
2536
+ },
2537
+ DURATION: {
2538
+ p: [
2539
+ { n: "settlement" },
2540
+ { n: "maturity" },
2541
+ { n: "coupon" },
2542
+ { n: "yld" },
2543
+ { n: "frequency" },
2544
+ {
2545
+ n: "basis",
2546
+ m: "?",
2547
+ v: 0
2548
+ }
2549
+ ],
2550
+ r: { s: "number" }
2551
+ },
2552
+ MDURATION: {
2553
+ p: [
2554
+ { n: "settlement" },
2555
+ { n: "maturity" },
2556
+ { n: "coupon" },
2557
+ { n: "yld" },
2558
+ { n: "frequency" },
2559
+ {
2560
+ n: "basis",
2561
+ m: "?",
2562
+ v: 0
2563
+ }
2564
+ ],
2565
+ r: { s: "number" }
2566
+ },
2567
+ YIELD: {
2568
+ p: [
2569
+ { n: "settlement" },
2570
+ { n: "maturity" },
2571
+ { n: "rate" },
2572
+ { n: "pr" },
2573
+ { n: "redemption" },
2574
+ { n: "frequency" },
2575
+ {
2576
+ n: "basis",
2577
+ m: "?",
2578
+ v: 0
2579
+ }
2580
+ ],
2581
+ r: { s: "number" }
2582
+ }
2583
+ }, se = {
2584
+ ODDFPRICE: {
2585
+ p: [
2586
+ { n: "settlement" },
2587
+ { n: "maturity" },
2588
+ { n: "issue" },
2589
+ { n: "firstCoupon" },
2590
+ { n: "rate" },
2591
+ { n: "yld" },
2592
+ { n: "redemption" },
2593
+ { n: "frequency" },
2594
+ {
2595
+ n: "basis",
2596
+ m: "?",
2597
+ v: 0
2598
+ }
2599
+ ],
2600
+ r: { s: "number" }
2601
+ },
2602
+ ODDFYIELD: {
2603
+ p: [
2604
+ { n: "settlement" },
2605
+ { n: "maturity" },
2606
+ { n: "issue" },
2607
+ { n: "firstCoupon" },
2608
+ { n: "rate" },
2609
+ { n: "pr" },
2610
+ { n: "redemption" },
2611
+ { n: "frequency" },
2612
+ {
2613
+ n: "basis",
2614
+ m: "?",
2615
+ v: 0
2616
+ }
2617
+ ],
2618
+ r: { s: "number" }
2619
+ },
2620
+ ODDLPRICE: {
2621
+ p: [
2622
+ { n: "settlement" },
2623
+ { n: "maturity" },
2624
+ { n: "lastInterest" },
2625
+ { n: "rate" },
2626
+ { n: "yld" },
2627
+ { n: "redemption" },
2628
+ { n: "frequency" },
2629
+ {
2630
+ n: "basis",
2631
+ m: "?",
2632
+ v: 0
2633
+ }
2634
+ ],
2635
+ r: { s: "number" }
2636
+ },
2637
+ ODDLYIELD: {
2638
+ p: [
2639
+ { n: "settlement" },
2640
+ { n: "maturity" },
2641
+ { n: "lastInterest" },
2642
+ { n: "rate" },
2643
+ { n: "pr" },
2644
+ { n: "redemption" },
2645
+ { n: "frequency" },
2646
+ {
2647
+ n: "basis",
2648
+ m: "?",
2649
+ v: 0
2650
+ }
2651
+ ],
2652
+ r: { s: "number" }
2653
+ }
2654
+ }, ie = { VDB: {
2655
+ p: [
2656
+ { n: "cost" },
2657
+ { n: "salvage" },
2658
+ { n: "life" },
2659
+ { n: "startPeriod" },
2660
+ { n: "endPeriod" },
2661
+ {
2662
+ n: "factor",
2663
+ m: "?",
2664
+ v: 2
2665
+ },
2666
+ {
2667
+ n: "noSwitch",
2668
+ s: "boolean",
2669
+ m: "?",
2670
+ v: !1
2671
+ }
2672
+ ],
2673
+ r: { s: "number" }
2674
+ } }, le = {
2675
+ "FORECAST.ETS": {
2676
+ fn: "FORECAST_ETS",
2677
+ p: [
2678
+ { n: "targetDate" },
2679
+ {
2680
+ n: "values",
2681
+ r: "r"
2682
+ },
2683
+ {
2684
+ n: "timeline",
2685
+ r: "r"
2686
+ },
2687
+ {
2688
+ n: "seasonality",
2689
+ m: "?",
2690
+ v: 1
2691
+ },
2692
+ {
2693
+ n: "dataCompletion",
2694
+ m: "?",
2695
+ v: 1
2696
+ },
2697
+ {
2698
+ n: "aggregation",
2699
+ m: "?",
2700
+ v: 1
2701
+ }
2702
+ ],
2703
+ r: { s: "*" }
2704
+ },
2705
+ "FORECAST.ETS.CONFINT": {
2706
+ fn: "FORECAST_ETS_CONFINT",
2707
+ p: [
2708
+ { n: "targetDate" },
2709
+ {
2710
+ n: "values",
2711
+ r: "r"
2712
+ },
2713
+ {
2714
+ n: "timeline",
2715
+ r: "r"
2716
+ },
2717
+ {
2718
+ n: "confidenceLevel",
2719
+ m: "?",
2720
+ v: .95
2721
+ },
2722
+ {
2723
+ n: "seasonality",
2724
+ m: "?",
2725
+ v: 1
2726
+ },
2727
+ {
2728
+ n: "dataCompletion",
2729
+ m: "?",
2730
+ v: 1
2731
+ },
2732
+ {
2733
+ n: "aggregation",
2734
+ m: "?",
2735
+ v: 1
2736
+ }
2737
+ ],
2738
+ r: { s: "*" }
2739
+ },
2740
+ "FORECAST.ETS.SEASONALITY": {
2741
+ fn: "FORECAST_ETS_SEASONALITY",
2742
+ p: [
2743
+ {
2744
+ n: "values",
2745
+ r: "r"
2746
+ },
2747
+ {
2748
+ n: "timeline",
2749
+ r: "r"
2750
+ },
2751
+ {
2752
+ n: "dataCompletion",
2753
+ m: "?",
2754
+ v: 1
2755
+ },
2756
+ {
2757
+ n: "aggregation",
2758
+ m: "?",
2759
+ v: 1
2760
+ }
2761
+ ],
2762
+ r: { s: "*" }
2763
+ },
2764
+ "FORECAST.ETS.STAT": {
2765
+ fn: "FORECAST_ETS_STAT",
2766
+ p: [
2767
+ {
2768
+ n: "values",
2769
+ r: "r"
2770
+ },
2771
+ {
2772
+ n: "timeline",
2773
+ r: "r"
2774
+ },
2775
+ { n: "statisticType" },
2776
+ {
2777
+ n: "seasonality",
2778
+ m: "?",
2779
+ v: 1
2780
+ },
2781
+ {
2782
+ n: "dataCompletion",
2783
+ m: "?",
2784
+ v: 1
2785
+ },
2786
+ {
2787
+ n: "aggregation",
2788
+ m: "?",
2789
+ v: 1
2790
+ }
2791
+ ],
2792
+ r: { s: "*" }
2793
+ }
2794
+ }, ue = {
2795
+ LINEST: {
2796
+ p: [
2797
+ {
2798
+ n: "knownYs",
2799
+ r: "r"
2800
+ },
2801
+ {
2802
+ n: "knownXs",
2803
+ r: "r",
2804
+ m: "?",
2805
+ u: 1
2806
+ },
2807
+ {
2808
+ n: "constant",
2809
+ s: "boolean",
2810
+ m: "?",
2811
+ v: !0,
2812
+ u: 1
2813
+ },
2814
+ {
2815
+ n: "stats",
2816
+ s: "boolean",
2817
+ m: "?",
2818
+ v: !1
2819
+ }
2820
+ ],
2821
+ r: {
2822
+ s: "*",
2823
+ r: "m"
2824
+ }
2825
+ },
2826
+ LOGEST: {
2827
+ p: [
2828
+ {
2829
+ n: "knownYs",
2830
+ r: "r"
2831
+ },
2832
+ {
2833
+ n: "knownXs",
2834
+ r: "r",
2835
+ m: "?",
2836
+ u: 1
2837
+ },
2838
+ {
2839
+ n: "constant",
2840
+ s: "boolean",
2841
+ m: "?",
2842
+ v: !0,
2843
+ u: 1
2844
+ },
2845
+ {
2846
+ n: "stats",
2847
+ s: "boolean",
2848
+ m: "?",
2849
+ v: !1
2850
+ }
2851
+ ],
2852
+ r: {
2853
+ s: "*",
2854
+ r: "m"
2855
+ }
2856
+ },
2857
+ TREND: {
2858
+ p: [
2859
+ {
2860
+ n: "knownYs",
2861
+ r: "r"
2862
+ },
2863
+ {
2864
+ n: "knownXs",
2865
+ r: "r",
2866
+ m: "?",
2867
+ u: 1
2868
+ },
2869
+ {
2870
+ n: "newXs",
2871
+ r: "r",
2872
+ m: "?",
2873
+ u: 1
2874
+ },
2875
+ {
2876
+ n: "useConst",
2877
+ s: "boolean",
2878
+ m: "?",
2879
+ v: !0,
2880
+ u: 1
2881
+ }
2882
+ ],
2883
+ r: {
2884
+ s: "*",
2885
+ r: "m"
2886
+ }
2887
+ },
2888
+ GROWTH: {
2889
+ p: [
2890
+ {
2891
+ n: "knownYs",
2892
+ r: "r"
2893
+ },
2894
+ {
2895
+ n: "knownXs",
2896
+ r: "r",
2897
+ m: "?",
2898
+ u: 1
2899
+ },
2900
+ {
2901
+ n: "newXs",
2902
+ r: "r",
2903
+ m: "?",
2904
+ u: 1
2905
+ },
2906
+ {
2907
+ n: "useConst",
2908
+ s: "boolean",
2909
+ m: "?",
2910
+ v: !0,
2911
+ u: 1
2912
+ }
2913
+ ],
2914
+ r: {
2915
+ s: "number",
2916
+ r: "m"
2917
+ }
2918
+ }
2919
+ }, fe = {
2920
+ TTEST: {
2921
+ p: [
2922
+ {
2923
+ n: "array1",
2924
+ s: "number",
2925
+ r: "r"
2926
+ },
2927
+ {
2928
+ n: "array2",
2929
+ s: "number",
2930
+ r: "r"
2931
+ },
2932
+ { n: "tails" },
2933
+ { n: "type" }
2934
+ ],
2935
+ r: { s: "number" }
2936
+ },
2937
+ "T.TEST": {
2938
+ fn: "T_TEST",
2939
+ p: [
2940
+ {
2941
+ n: "array1",
2942
+ s: "number",
2943
+ r: "r"
2944
+ },
2945
+ {
2946
+ n: "array2",
2947
+ s: "number",
2948
+ r: "r"
2949
+ },
2950
+ { n: "tails" },
2951
+ { n: "type" }
2952
+ ],
2953
+ r: { s: "number" }
2954
+ }
2955
+ }, ce = {
2956
+ REGEXEXTRACT: {
2957
+ p: [
2958
+ {
2959
+ n: "text",
2960
+ s: "string"
2961
+ },
2962
+ {
2963
+ n: "pattern",
2964
+ s: "string"
2965
+ },
2966
+ {
2967
+ n: "returnMode",
2968
+ m: "?",
2969
+ v: 0
2970
+ },
2971
+ {
2972
+ n: "caseInsensitive",
2973
+ s: "boolean",
2974
+ m: "?",
2975
+ v: !1
2976
+ }
2977
+ ],
2978
+ r: { r: "r" }
2979
+ },
2980
+ REGEXMATCH: {
2981
+ p: [
2982
+ {
2983
+ n: "text",
2984
+ s: "string"
2985
+ },
2986
+ {
2987
+ n: "regularExpression",
2988
+ s: "string"
2989
+ },
2990
+ {
2991
+ n: "caseInsensitive",
2992
+ s: "boolean",
2993
+ m: "?",
2994
+ v: !1
2995
+ }
2996
+ ],
2997
+ r: { s: "*" }
2998
+ },
2999
+ REGEXREPLACE: {
3000
+ p: [
3001
+ {
3002
+ n: "text",
3003
+ s: "string"
3004
+ },
3005
+ {
3006
+ n: "pattern",
3007
+ s: "string"
3008
+ },
3009
+ {
3010
+ n: "replacement",
3011
+ s: "string"
3012
+ },
3013
+ {
3014
+ n: "occurrence",
3015
+ m: "?",
3016
+ v: 0
3017
+ },
3018
+ {
3019
+ n: "caseInsensitive",
3020
+ s: "boolean",
3021
+ m: "?",
3022
+ v: !1
3023
+ }
3024
+ ],
3025
+ r: { s: "*" }
3026
+ },
3027
+ REGEXTEST: {
3028
+ p: [
3029
+ {
3030
+ n: "text",
3031
+ s: "string"
3032
+ },
3033
+ {
3034
+ n: "pattern",
3035
+ s: "string"
3036
+ },
3037
+ {
3038
+ n: "caseInsensitive",
3039
+ s: "boolean",
3040
+ m: "?",
3041
+ v: !1
3042
+ }
3043
+ ],
3044
+ r: { s: "*" }
3045
+ }
3046
+ }, me = () => import("./CRT-M9ZISwPJluM8.mjs"), he = () => import("./XphbS4usCLMa2WZ2.mjs"), Me = () => import("./BSWSZ6lA8jcSqHmz.mjs"), pe = () => import("./Dtof6I8zPa8LIz89.mjs"), De = () => import("./-9SircqlVS-6jMNw.mjs"), de = () => import("./Ck9zOHAyQJLQF_j_.mjs"), ge = () => import("./CmXZZdy6rEOCrUnH.mjs"), Ne = () => import("./DHrrLoyQ_KZ3yWWr.mjs"), ye = () => import("./BWbYcyqeI2q9zobt.mjs"), be = () => import("./BCWg0NNa-nGjBMYM.mjs"), Ee = () => import("./BatWJFRiqJI5wALH.mjs"), ve = () => import("./BBREUOtt4cAHs88k.mjs"), Re = () => import("./Dp0K0CPOWr5We6lS.mjs"), Ie = () => import("./BUYVOSf4JEFM5iRs.mjs"), Se = (t, n, e) => (e || (e = /* @__PURE__ */ new Map()), n(e, t, s, Zn, me, "Cube"), n(e, t, q, Jn, he, "Financial"), n(e, t, _, te, Me, "Financial"), n(e, t, H, ne, pe, "Financial"), n(e, t, Z, ee, De, "Financial"), n(e, t, Bt, re, de, "Financial"), n(e, t, Xt, ae, ge, "Financial"), n(e, t, $t, oe, Ne, "Financial"), n(e, t, en, se, ye, "Financial"), n(e, t, mn, ie, be, "Financial"), n(e, t, Dn, le, Ee, "Statistical"), n(e, t, Fn, ue, ve, "Statistical"), n(e, t, qn, fe, Re, "Statistical"), n(e, t, zn, ce, Ie, "Text"), e);
3047
+ export { Se as default };