1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330 |
- (function() {
- /* bignumber.js v4.0.0 https://github.com/MikeMcl/bignumber.js/LICENCE */
- !(function(e) {
- 'use strict';
- function n(e) {
- function a(e, n) {
- var t,
- r,
- i,
- o,
- u,
- s,
- l = this;
- if (!(l instanceof a))
- return z && x(26, 'constructor call without new', e), new a(e, n);
- if (null != n && V(n, 2, 64, C, 'base')) {
- if (((n = 0 | n), (s = e + ''), 10 == n))
- return (l = new a(e instanceof a ? e : s)), I(l, B + l.e + 1, P);
- if (
- ((o = 'number' == typeof e) && 0 * e != 0) ||
- !new RegExp(
- '^-?' + (t = '[' + v.slice(0, n) + ']+') + '(?:\\.' + t + ')?$',
- 37 > n ? 'i' : ''
- ).test(s)
- )
- return U(l, s, o, n);
- o
- ? ((l.s = 0 > 1 / e ? ((s = s.slice(1)), -1) : 1),
- z && s.replace(/^0\.0*|\./, '').length > 15 && x(C, w, e),
- (o = !1))
- : (l.s = 45 === s.charCodeAt(0) ? ((s = s.slice(1)), -1) : 1),
- (s = A(s, 10, n, l.s));
- } else {
- if (e instanceof a)
- return (
- (l.s = e.s),
- (l.e = e.e),
- (l.c = (e = e.c) ? e.slice() : e),
- void (C = 0)
- );
- if ((o = 'number' == typeof e) && 0 * e == 0) {
- if (((l.s = 0 > 1 / e ? ((e = -e), -1) : 1), e === ~~e)) {
- for (r = 0, i = e; i >= 10; i /= 10, r++);
- return (l.e = r), (l.c = [e]), void (C = 0);
- }
- s = e + '';
- } else {
- if (!h.test((s = e + ''))) return U(l, s, o);
- l.s = 45 === s.charCodeAt(0) ? ((s = s.slice(1)), -1) : 1;
- }
- }
- for (
- (r = s.indexOf('.')) > -1 && (s = s.replace('.', '')),
- (i = s.search(/e/i)) > 0
- ? (0 > r && (r = i),
- (r += +s.slice(i + 1)),
- (s = s.substring(0, i)))
- : 0 > r && (r = s.length),
- i = 0;
- 48 === s.charCodeAt(i);
- i++
- );
- for (u = s.length; 48 === s.charCodeAt(--u); );
- if ((s = s.slice(i, u + 1)))
- if (
- ((u = s.length),
- o && z && u > 15 && (e > y || e !== p(e)) && x(C, w, l.s * e),
- (r = r - i - 1),
- r > G)
- )
- l.c = l.e = null;
- else if ($ > r) l.c = [(l.e = 0)];
- else {
- if (
- ((l.e = r),
- (l.c = []),
- (i = (r + 1) % b),
- 0 > r && (i += b),
- u > i)
- ) {
- for (i && l.c.push(+s.slice(0, i)), u -= b; u > i; )
- l.c.push(+s.slice(i, (i += b)));
- (s = s.slice(i)), (i = b - s.length);
- } else i -= u;
- for (; i--; s += '0');
- l.c.push(+s);
- }
- else l.c = [(l.e = 0)];
- C = 0;
- }
- function A(e, n, t, i) {
- var o,
- u,
- l,
- c,
- h,
- g,
- p,
- d = e.indexOf('.'),
- m = B,
- w = P;
- for (
- 37 > t && (e = e.toLowerCase()),
- d >= 0 &&
- ((l = W),
- (W = 0),
- (e = e.replace('.', '')),
- (p = new a(t)),
- (h = p.pow(e.length - d)),
- (W = l),
- (p.c = s(f(r(h.c), h.e), 10, n)),
- (p.e = p.c.length)),
- g = s(e, t, n),
- u = l = g.length;
- 0 == g[--l];
- g.pop()
- );
- if (!g[0]) return '0';
- if (
- (0 > d
- ? --u
- : ((h.c = g),
- (h.e = u),
- (h.s = i),
- (h = L(h, p, m, w, n)),
- (g = h.c),
- (c = h.r),
- (u = h.e)),
- (o = u + m + 1),
- (d = g[o]),
- (l = n / 2),
- (c = c || 0 > o || null != g[o + 1]),
- (c =
- 4 > w
- ? (null != d || c) && (0 == w || w == (h.s < 0 ? 3 : 2))
- : d > l ||
- (d == l &&
- (4 == w ||
- c ||
- (6 == w && 1 & g[o - 1]) ||
- w == (h.s < 0 ? 8 : 7)))),
- 1 > o || !g[0])
- )
- e = c ? f('1', -m) : '0';
- else {
- if (((g.length = o), c))
- for (--n; ++g[--o] > n; ) (g[o] = 0), o || (++u, g.unshift(1));
- for (l = g.length; !g[--l]; );
- for (d = 0, e = ''; l >= d; e += v.charAt(g[d++]));
- e = f(e, u);
- }
- return e;
- }
- function E(e, n, t, i) {
- var o, u, s, c, h;
- if (((t = null != t && V(t, 0, 8, i, m) ? 0 | t : P), !e.c))
- return e.toString();
- if (((o = e.c[0]), (s = e.e), null == n))
- (h = r(e.c)),
- (h = 19 == i || (24 == i && q >= s) ? l(h, s) : f(h, s));
- else if (
- ((e = I(new a(e), n, t)),
- (u = e.e),
- (h = r(e.c)),
- (c = h.length),
- 19 == i || (24 == i && (u >= n || q >= u)))
- ) {
- for (; n > c; h += '0', c++);
- h = l(h, u);
- } else if (((n -= s), (h = f(h, u)), u + 1 > c)) {
- if (--n > 0) for (h += '.'; n--; h += '0');
- } else if (((n += u - c), n > 0))
- for (u + 1 == c && (h += '.'); n--; h += '0');
- return e.s < 0 && o ? '-' + h : h;
- }
- function D(e, n) {
- var t,
- r,
- i = 0;
- for (u(e[0]) && (e = e[0]), t = new a(e[0]); ++i < e.length; ) {
- if (((r = new a(e[i])), !r.s)) {
- t = r;
- break;
- }
- n.call(t, r) && (t = r);
- }
- return t;
- }
- function F(e, n, t, r, i) {
- return (
- (n > e || e > t || e != c(e)) &&
- x(
- r,
- (i || 'decimal places') +
- (n > e || e > t ? ' out of range' : ' not an integer'),
- e
- ),
- !0
- );
- }
- function _(e, n, t) {
- for (var r = 1, i = n.length; !n[--i]; n.pop());
- for (i = n[0]; i >= 10; i /= 10, r++);
- return (
- (t = r + t * b - 1) > G
- ? (e.c = e.e = null)
- : $ > t
- ? (e.c = [(e.e = 0)])
- : ((e.e = t), (e.c = n)),
- e
- );
- }
- function x(e, n, t) {
- var r = new Error(
- [
- 'new BigNumber',
- 'cmp',
- 'config',
- 'div',
- 'divToInt',
- 'eq',
- 'gt',
- 'gte',
- 'lt',
- 'lte',
- 'minus',
- 'mod',
- 'plus',
- 'precision',
- 'random',
- 'round',
- 'shift',
- 'times',
- 'toDigits',
- 'toExponential',
- 'toFixed',
- 'toFormat',
- 'toFraction',
- 'pow',
- 'toPrecision',
- 'toString',
- 'BigNumber'
- ][e] +
- '() ' +
- n +
- ': ' +
- t
- );
- throw ((r.name = 'BigNumber Error'), (C = 0), r);
- }
- function I(e, n, t, r) {
- var i,
- o,
- u,
- s,
- l,
- f,
- c,
- a = e.c,
- h = O;
- if (a) {
- e: {
- for (i = 1, s = a[0]; s >= 10; s /= 10, i++);
- if (((o = n - i), 0 > o))
- (o += b),
- (u = n),
- (l = a[(f = 0)]),
- (c = (l / h[i - u - 1]) % 10 | 0);
- else if (((f = g((o + 1) / b)), f >= a.length)) {
- if (!r) break e;
- for (; a.length <= f; a.push(0));
- (l = c = 0), (i = 1), (o %= b), (u = o - b + 1);
- } else {
- for (l = s = a[f], i = 1; s >= 10; s /= 10, i++);
- (o %= b),
- (u = o - b + i),
- (c = 0 > u ? 0 : (l / h[i - u - 1]) % 10 | 0);
- }
- if (
- ((r =
- r ||
- 0 > n ||
- null != a[f + 1] ||
- (0 > u ? l : l % h[i - u - 1])),
- (r =
- 4 > t
- ? (c || r) && (0 == t || t == (e.s < 0 ? 3 : 2))
- : c > 5 ||
- (5 == c &&
- (4 == t ||
- r ||
- (6 == t &&
- (o > 0 ? (u > 0 ? l / h[i - u] : 0) : a[f - 1]) %
- 10 &
- 1) ||
- t == (e.s < 0 ? 8 : 7)))),
- 1 > n || !a[0])
- )
- return (
- (a.length = 0),
- r
- ? ((n -= e.e + 1),
- (a[0] = h[(b - (n % b)) % b]),
- (e.e = -n || 0))
- : (a[0] = e.e = 0),
- e
- );
- if (
- (0 == o
- ? ((a.length = f), (s = 1), f--)
- : ((a.length = f + 1),
- (s = h[b - o]),
- (a[f] = u > 0 ? p((l / h[i - u]) % h[u]) * s : 0)),
- r)
- )
- for (;;) {
- if (0 == f) {
- for (o = 1, u = a[0]; u >= 10; u /= 10, o++);
- for (u = a[0] += s, s = 1; u >= 10; u /= 10, s++);
- o != s && (e.e++, a[0] == N && (a[0] = 1));
- break;
- }
- if (((a[f] += s), a[f] != N)) break;
- (a[f--] = 0), (s = 1);
- }
- for (o = a.length; 0 === a[--o]; a.pop());
- }
- e.e > G ? (e.c = e.e = null) : e.e < $ && (e.c = [(e.e = 0)]);
- }
- return e;
- }
- var L,
- U,
- C = 0,
- M = a.prototype,
- T = new a(1),
- B = 20,
- P = 4,
- q = -7,
- k = 21,
- $ = -1e7,
- G = 1e7,
- z = !0,
- V = F,
- j = !1,
- H = 1,
- W = 0,
- J = {
- decimalSeparator: '.',
- groupSeparator: ',',
- groupSize: 3,
- secondaryGroupSize: 0,
- fractionGroupSeparator: ' ',
- fractionGroupSize: 0
- };
- return (
- (a.another = n),
- (a.ROUND_UP = 0),
- (a.ROUND_DOWN = 1),
- (a.ROUND_CEIL = 2),
- (a.ROUND_FLOOR = 3),
- (a.ROUND_HALF_UP = 4),
- (a.ROUND_HALF_DOWN = 5),
- (a.ROUND_HALF_EVEN = 6),
- (a.ROUND_HALF_CEIL = 7),
- (a.ROUND_HALF_FLOOR = 8),
- (a.EUCLID = 9),
- (a.config = a.set = function() {
- var e,
- n,
- t = 0,
- r = {},
- i = arguments,
- s = i[0],
- l =
- s && 'object' == typeof s
- ? function() {
- return s.hasOwnProperty(n) ? null != (e = s[n]) : void 0;
- }
- : function() {
- return i.length > t ? null != (e = i[t++]) : void 0;
- };
- return (
- l((n = 'DECIMAL_PLACES')) && V(e, 0, S, 2, n) && (B = 0 | e),
- (r[n] = B),
- l((n = 'ROUNDING_MODE')) && V(e, 0, 8, 2, n) && (P = 0 | e),
- (r[n] = P),
- l((n = 'EXPONENTIAL_AT')) &&
- (u(e)
- ? V(e[0], -S, 0, 2, n) &&
- V(e[1], 0, S, 2, n) &&
- ((q = 0 | e[0]), (k = 0 | e[1]))
- : V(e, -S, S, 2, n) && (q = -(k = 0 | (0 > e ? -e : e)))),
- (r[n] = [q, k]),
- l((n = 'RANGE')) &&
- (u(e)
- ? V(e[0], -S, -1, 2, n) &&
- V(e[1], 1, S, 2, n) &&
- (($ = 0 | e[0]), (G = 0 | e[1]))
- : V(e, -S, S, 2, n) &&
- (0 | e
- ? ($ = -(G = 0 | (0 > e ? -e : e)))
- : z && x(2, n + ' cannot be zero', e))),
- (r[n] = [$, G]),
- l((n = 'ERRORS')) &&
- (e === !!e || 1 === e || 0 === e
- ? ((C = 0), (V = (z = !!e) ? F : o))
- : z && x(2, n + d, e)),
- (r[n] = z),
- l((n = 'CRYPTO')) &&
- (e === !0 || e === !1 || 1 === e || 0 === e
- ? e
- ? ((e = 'undefined' == typeof crypto),
- !e &&
- crypto &&
- (crypto.getRandomValues || crypto.randomBytes)
- ? (j = !0)
- : z
- ? x(2, 'crypto unavailable', e ? void 0 : crypto)
- : (j = !1))
- : (j = !1)
- : z && x(2, n + d, e)),
- (r[n] = j),
- l((n = 'MODULO_MODE')) && V(e, 0, 9, 2, n) && (H = 0 | e),
- (r[n] = H),
- l((n = 'POW_PRECISION')) && V(e, 0, S, 2, n) && (W = 0 | e),
- (r[n] = W),
- l((n = 'FORMAT')) &&
- ('object' == typeof e
- ? (J = e)
- : z && x(2, n + ' not an object', e)),
- (r[n] = J),
- r
- );
- }),
- (a.max = function() {
- return D(arguments, M.lt);
- }),
- (a.min = function() {
- return D(arguments, M.gt);
- }),
- (a.random = (function() {
- var e = 9007199254740992,
- n =
- (Math.random() * e) & 2097151
- ? function() {
- return p(Math.random() * e);
- }
- : function() {
- return (
- 8388608 * ((1073741824 * Math.random()) | 0) +
- ((8388608 * Math.random()) | 0)
- );
- };
- return function(e) {
- var t,
- r,
- i,
- o,
- u,
- s = 0,
- l = [],
- f = new a(T);
- if (
- ((e = null != e && V(e, 0, S, 14) ? 0 | e : B), (o = g(e / b)), j)
- )
- if (crypto.getRandomValues) {
- for (
- t = crypto.getRandomValues(new Uint32Array((o *= 2)));
- o > s;
- )
- (u = 131072 * t[s] + (t[s + 1] >>> 11)),
- u >= 9e15
- ? ((r = crypto.getRandomValues(new Uint32Array(2))),
- (t[s] = r[0]),
- (t[s + 1] = r[1]))
- : (l.push(u % 1e14), (s += 2));
- s = o / 2;
- } else if (crypto.randomBytes) {
- for (t = crypto.randomBytes((o *= 7)); o > s; )
- (u =
- 281474976710656 * (31 & t[s]) +
- 1099511627776 * t[s + 1] +
- 4294967296 * t[s + 2] +
- 16777216 * t[s + 3] +
- (t[s + 4] << 16) +
- (t[s + 5] << 8) +
- t[s + 6]),
- u >= 9e15
- ? crypto.randomBytes(7).copy(t, s)
- : (l.push(u % 1e14), (s += 7));
- s = o / 7;
- } else (j = !1), z && x(14, 'crypto unavailable', crypto);
- if (!j) for (; o > s; ) (u = n()), 9e15 > u && (l[s++] = u % 1e14);
- for (
- o = l[--s],
- e %= b,
- o && e && ((u = O[b - e]), (l[s] = p(o / u) * u));
- 0 === l[s];
- l.pop(), s--
- );
- if (0 > s) l = [(i = 0)];
- else {
- for (i = -1; 0 === l[0]; l.shift(), i -= b);
- for (s = 1, u = l[0]; u >= 10; u /= 10, s++);
- b > s && (i -= b - s);
- }
- return (f.e = i), (f.c = l), f;
- };
- })()),
- (L = (function() {
- function e(e, n, t) {
- var r,
- i,
- o,
- u,
- s = 0,
- l = e.length,
- f = n % R,
- c = (n / R) | 0;
- for (e = e.slice(); l--; )
- (o = e[l] % R),
- (u = (e[l] / R) | 0),
- (r = c * o + u * f),
- (i = f * o + (r % R) * R + s),
- (s = ((i / t) | 0) + ((r / R) | 0) + c * u),
- (e[l] = i % t);
- return s && e.unshift(s), e;
- }
- function n(e, n, t, r) {
- var i, o;
- if (t != r) o = t > r ? 1 : -1;
- else
- for (i = o = 0; t > i; i++)
- if (e[i] != n[i]) {
- o = e[i] > n[i] ? 1 : -1;
- break;
- }
- return o;
- }
- function r(e, n, t, r) {
- for (var i = 0; t--; )
- (e[t] -= i),
- (i = e[t] < n[t] ? 1 : 0),
- (e[t] = i * r + e[t] - n[t]);
- for (; !e[0] && e.length > 1; e.shift());
- }
- return function(i, o, u, s, l) {
- var f,
- c,
- h,
- g,
- d,
- m,
- w,
- v,
- y,
- O,
- R,
- S,
- A,
- E,
- D,
- F,
- _,
- x = i.s == o.s ? 1 : -1,
- L = i.c,
- U = o.c;
- if (!(L && L[0] && U && U[0]))
- return new a(
- i.s && o.s && (L ? !U || L[0] != U[0] : U)
- ? (L && 0 == L[0]) || !U
- ? 0 * x
- : x / 0
- : NaN
- );
- for (
- v = new a(x),
- y = v.c = [],
- c = i.e - o.e,
- x = u + c + 1,
- l ||
- ((l = N), (c = t(i.e / b) - t(o.e / b)), (x = (x / b) | 0)),
- h = 0;
- U[h] == (L[h] || 0);
- h++
- );
- if ((U[h] > (L[h] || 0) && c--, 0 > x)) y.push(1), (g = !0);
- else {
- for (
- E = L.length,
- F = U.length,
- h = 0,
- x += 2,
- d = p(l / (U[0] + 1)),
- d > 1 &&
- ((U = e(U, d, l)),
- (L = e(L, d, l)),
- (F = U.length),
- (E = L.length)),
- A = F,
- O = L.slice(0, F),
- R = O.length;
- F > R;
- O[R++] = 0
- );
- (_ = U.slice()), _.unshift(0), (D = U[0]), U[1] >= l / 2 && D++;
- do {
- if (((d = 0), (f = n(U, O, F, R)), 0 > f)) {
- if (
- ((S = O[0]),
- F != R && (S = S * l + (O[1] || 0)),
- (d = p(S / D)),
- d > 1)
- )
- for (
- d >= l && (d = l - 1),
- m = e(U, d, l),
- w = m.length,
- R = O.length;
- 1 == n(m, O, w, R);
- )
- d--, r(m, w > F ? _ : U, w, l), (w = m.length), (f = 1);
- else 0 == d && (f = d = 1), (m = U.slice()), (w = m.length);
- if (
- (R > w && m.unshift(0),
- r(O, m, R, l),
- (R = O.length),
- -1 == f)
- )
- for (; n(U, O, F, R) < 1; )
- d++, r(O, R > F ? _ : U, R, l), (R = O.length);
- } else 0 === f && (d++, (O = [0]));
- (y[h++] = d),
- O[0] ? (O[R++] = L[A] || 0) : ((O = [L[A]]), (R = 1));
- } while ((A++ < E || null != O[0]) && x--);
- (g = null != O[0]), y[0] || y.shift();
- }
- if (l == N) {
- for (h = 1, x = y[0]; x >= 10; x /= 10, h++);
- I(v, u + (v.e = h + c * b - 1) + 1, s, g);
- } else (v.e = c), (v.r = +g);
- return v;
- };
- })()),
- (U = (function() {
- var e = /^(-?)0([xbo])(?=\w[\w.]*$)/i,
- n = /^([^.]+)\.$/,
- t = /^\.([^.]+)$/,
- r = /^-?(Infinity|NaN)$/,
- i = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
- return function(o, u, s, l) {
- var f,
- c = s ? u : u.replace(i, '');
- if (r.test(c)) o.s = isNaN(c) ? null : 0 > c ? -1 : 1;
- else {
- if (
- !s &&
- ((c = c.replace(e, function(e, n, t) {
- return (
- (f = 'x' == (t = t.toLowerCase()) ? 16 : 'b' == t ? 2 : 8),
- l && l != f ? e : n
- );
- })),
- l && ((f = l), (c = c.replace(n, '$1').replace(t, '0.$1'))),
- u != c)
- )
- return new a(c, f);
- z && x(C, 'not a' + (l ? ' base ' + l : '') + ' number', u),
- (o.s = null);
- }
- (o.c = o.e = null), (C = 0);
- };
- })()),
- (M.absoluteValue = M.abs = function() {
- var e = new a(this);
- return e.s < 0 && (e.s = 1), e;
- }),
- (M.ceil = function() {
- return I(new a(this), this.e + 1, 2);
- }),
- (M.comparedTo = M.cmp = function(e, n) {
- return (C = 1), i(this, new a(e, n));
- }),
- (M.decimalPlaces = M.dp = function() {
- var e,
- n,
- r = this.c;
- if (!r) return null;
- if (((e = ((n = r.length - 1) - t(this.e / b)) * b), (n = r[n])))
- for (; n % 10 == 0; n /= 10, e--);
- return 0 > e && (e = 0), e;
- }),
- (M.dividedBy = M.div = function(e, n) {
- return (C = 3), L(this, new a(e, n), B, P);
- }),
- (M.dividedToIntegerBy = M.divToInt = function(e, n) {
- return (C = 4), L(this, new a(e, n), 0, 1);
- }),
- (M.equals = M.eq = function(e, n) {
- return (C = 5), 0 === i(this, new a(e, n));
- }),
- (M.floor = function() {
- return I(new a(this), this.e + 1, 3);
- }),
- (M.greaterThan = M.gt = function(e, n) {
- return (C = 6), i(this, new a(e, n)) > 0;
- }),
- (M.greaterThanOrEqualTo = M.gte = function(e, n) {
- return (C = 7), 1 === (n = i(this, new a(e, n))) || 0 === n;
- }),
- (M.isFinite = function() {
- return !!this.c;
- }),
- (M.isInteger = M.isInt = function() {
- return !!this.c && t(this.e / b) > this.c.length - 2;
- }),
- (M.isNaN = function() {
- return !this.s;
- }),
- (M.isNegative = M.isNeg = function() {
- return this.s < 0;
- }),
- (M.isZero = function() {
- return !!this.c && 0 == this.c[0];
- }),
- (M.lessThan = M.lt = function(e, n) {
- return (C = 8), i(this, new a(e, n)) < 0;
- }),
- (M.lessThanOrEqualTo = M.lte = function(e, n) {
- return (C = 9), -1 === (n = i(this, new a(e, n))) || 0 === n;
- }),
- (M.minus = M.sub = function(e, n) {
- var r,
- i,
- o,
- u,
- s = this,
- l = s.s;
- if (((C = 10), (e = new a(e, n)), (n = e.s), !l || !n))
- return new a(NaN);
- if (l != n) return (e.s = -n), s.plus(e);
- var f = s.e / b,
- c = e.e / b,
- h = s.c,
- g = e.c;
- if (!f || !c) {
- if (!h || !g) return h ? ((e.s = -n), e) : new a(g ? s : NaN);
- if (!h[0] || !g[0])
- return g[0] ? ((e.s = -n), e) : new a(h[0] ? s : 3 == P ? -0 : 0);
- }
- if (((f = t(f)), (c = t(c)), (h = h.slice()), (l = f - c))) {
- for (
- (u = 0 > l) ? ((l = -l), (o = h)) : ((c = f), (o = g)),
- o.reverse(),
- n = l;
- n--;
- o.push(0)
- );
- o.reverse();
- } else
- for (
- i = (u = (l = h.length) < (n = g.length)) ? l : n, l = n = 0;
- i > n;
- n++
- )
- if (h[n] != g[n]) {
- u = h[n] < g[n];
- break;
- }
- if (
- (u && ((o = h), (h = g), (g = o), (e.s = -e.s)),
- (n = (i = g.length) - (r = h.length)),
- n > 0)
- )
- for (; n--; h[r++] = 0);
- for (n = N - 1; i > l; ) {
- if (h[--i] < g[i]) {
- for (r = i; r && !h[--r]; h[r] = n);
- --h[r], (h[i] += N);
- }
- h[i] -= g[i];
- }
- for (; 0 == h[0]; h.shift(), --c);
- return h[0]
- ? _(e, h, c)
- : ((e.s = 3 == P ? -1 : 1), (e.c = [(e.e = 0)]), e);
- }),
- (M.modulo = M.mod = function(e, n) {
- var t,
- r,
- i = this;
- return (
- (C = 11),
- (e = new a(e, n)),
- !i.c || !e.s || (e.c && !e.c[0])
- ? new a(NaN)
- : !e.c || (i.c && !i.c[0])
- ? new a(i)
- : (9 == H
- ? ((r = e.s),
- (e.s = 1),
- (t = L(i, e, 0, 3)),
- (e.s = r),
- (t.s *= r))
- : (t = L(i, e, 0, H)),
- i.minus(t.times(e)))
- );
- }),
- (M.negated = M.neg = function() {
- var e = new a(this);
- return (e.s = -e.s || null), e;
- }),
- (M.plus = M.add = function(e, n) {
- var r,
- i = this,
- o = i.s;
- if (((C = 12), (e = new a(e, n)), (n = e.s), !o || !n))
- return new a(NaN);
- if (o != n) return (e.s = -n), i.minus(e);
- var u = i.e / b,
- s = e.e / b,
- l = i.c,
- f = e.c;
- if (!u || !s) {
- if (!l || !f) return new a(o / 0);
- if (!l[0] || !f[0]) return f[0] ? e : new a(l[0] ? i : 0 * o);
- }
- if (((u = t(u)), (s = t(s)), (l = l.slice()), (o = u - s))) {
- for (
- o > 0 ? ((s = u), (r = f)) : ((o = -o), (r = l)), r.reverse();
- o--;
- r.push(0)
- );
- r.reverse();
- }
- for (
- o = l.length,
- n = f.length,
- 0 > o - n && ((r = f), (f = l), (l = r), (n = o)),
- o = 0;
- n;
- )
- (o = ((l[--n] = l[n] + f[n] + o) / N) | 0),
- (l[n] = N === l[n] ? 0 : l[n] % N);
- return o && (l.unshift(o), ++s), _(e, l, s);
- }),
- (M.precision = M.sd = function(e) {
- var n,
- t,
- r = this,
- i = r.c;
- if (
- (null != e &&
- e !== !!e &&
- 1 !== e &&
- 0 !== e &&
- (z && x(13, 'argument' + d, e), e != !!e && (e = null)),
- !i)
- )
- return null;
- if (((t = i.length - 1), (n = t * b + 1), (t = i[t]))) {
- for (; t % 10 == 0; t /= 10, n--);
- for (t = i[0]; t >= 10; t /= 10, n++);
- }
- return e && r.e + 1 > n && (n = r.e + 1), n;
- }),
- (M.round = function(e, n) {
- var t = new a(this);
- return (
- (null == e || V(e, 0, S, 15)) &&
- I(
- t,
- ~~e + this.e + 1,
- null != n && V(n, 0, 8, 15, m) ? 0 | n : P
- ),
- t
- );
- }),
- (M.shift = function(e) {
- var n = this;
- return V(e, -y, y, 16, 'argument')
- ? n.times('1e' + c(e))
- : new a(
- n.c && n.c[0] && (-y > e || e > y)
- ? n.s * (0 > e ? 0 : 1 / 0)
- : n
- );
- }),
- (M.squareRoot = M.sqrt = function() {
- var e,
- n,
- i,
- o,
- u,
- s = this,
- l = s.c,
- f = s.s,
- c = s.e,
- h = B + 4,
- g = new a('0.5');
- if (1 !== f || !l || !l[0])
- return new a(!f || (0 > f && (!l || l[0])) ? NaN : l ? s : 1 / 0);
- if (
- ((f = Math.sqrt(+s)),
- 0 == f || f == 1 / 0
- ? ((n = r(l)),
- (n.length + c) % 2 == 0 && (n += '0'),
- (f = Math.sqrt(n)),
- (c = t((c + 1) / 2) - (0 > c || c % 2)),
- f == 1 / 0
- ? (n = '1e' + c)
- : ((n = f.toExponential()),
- (n = n.slice(0, n.indexOf('e') + 1) + c)),
- (i = new a(n)))
- : (i = new a(f + '')),
- i.c[0])
- )
- for (c = i.e, f = c + h, 3 > f && (f = 0); ; )
- if (
- ((u = i),
- (i = g.times(u.plus(L(s, u, h, 1)))),
- r(u.c).slice(0, f) === (n = r(i.c)).slice(0, f))
- ) {
- if (
- (i.e < c && --f,
- (n = n.slice(f - 3, f + 1)),
- '9999' != n && (o || '4999' != n))
- ) {
- (!+n || (!+n.slice(1) && '5' == n.charAt(0))) &&
- (I(i, i.e + B + 2, 1), (e = !i.times(i).eq(s)));
- break;
- }
- if (!o && (I(u, u.e + B + 2, 0), u.times(u).eq(s))) {
- i = u;
- break;
- }
- (h += 4), (f += 4), (o = 1);
- }
- return I(i, i.e + B + 1, P, e);
- }),
- (M.times = M.mul = function(e, n) {
- var r,
- i,
- o,
- u,
- s,
- l,
- f,
- c,
- h,
- g,
- p,
- d,
- m,
- w,
- v,
- y = this,
- O = y.c,
- S = ((C = 17), (e = new a(e, n))).c;
- if (!(O && S && O[0] && S[0]))
- return (
- !y.s || !e.s || (O && !O[0] && !S) || (S && !S[0] && !O)
- ? (e.c = e.e = e.s = null)
- : ((e.s *= y.s),
- O && S ? ((e.c = [0]), (e.e = 0)) : (e.c = e.e = null)),
- e
- );
- for (
- i = t(y.e / b) + t(e.e / b),
- e.s *= y.s,
- f = O.length,
- g = S.length,
- g > f && ((m = O), (O = S), (S = m), (o = f), (f = g), (g = o)),
- o = f + g,
- m = [];
- o--;
- m.push(0)
- );
- for (w = N, v = R, o = g; --o >= 0; ) {
- for (
- r = 0, p = S[o] % v, d = (S[o] / v) | 0, s = f, u = o + s;
- u > o;
- )
- (c = O[--s] % v),
- (h = (O[s] / v) | 0),
- (l = d * c + h * p),
- (c = p * c + (l % v) * v + m[u] + r),
- (r = ((c / w) | 0) + ((l / v) | 0) + d * h),
- (m[u--] = c % w);
- m[u] = r;
- }
- return r ? ++i : m.shift(), _(e, m, i);
- }),
- (M.toDigits = function(e, n) {
- var t = new a(this);
- return (
- (e = null != e && V(e, 1, S, 18, 'precision') ? 0 | e : null),
- (n = null != n && V(n, 0, 8, 18, m) ? 0 | n : P),
- e ? I(t, e, n) : t
- );
- }),
- (M.toExponential = function(e, n) {
- return E(this, null != e && V(e, 0, S, 19) ? ~~e + 1 : null, n, 19);
- }),
- (M.toFixed = function(e, n) {
- return E(
- this,
- null != e && V(e, 0, S, 20) ? ~~e + this.e + 1 : null,
- n,
- 20
- );
- }),
- (M.toFormat = function(e, n) {
- var t = E(
- this,
- null != e && V(e, 0, S, 21) ? ~~e + this.e + 1 : null,
- n,
- 21
- );
- if (this.c) {
- var r,
- i = t.split('.'),
- o = +J.groupSize,
- u = +J.secondaryGroupSize,
- s = J.groupSeparator,
- l = i[0],
- f = i[1],
- c = this.s < 0,
- a = c ? l.slice(1) : l,
- h = a.length;
- if ((u && ((r = o), (o = u), (u = r), (h -= r)), o > 0 && h > 0)) {
- for (r = h % o || o, l = a.substr(0, r); h > r; r += o)
- l += s + a.substr(r, o);
- u > 0 && (l += s + a.slice(r)), c && (l = '-' + l);
- }
- t = f
- ? l +
- J.decimalSeparator +
- ((u = +J.fractionGroupSize)
- ? f.replace(
- new RegExp('\\d{' + u + '}\\B', 'g'),
- '$&' + J.fractionGroupSeparator
- )
- : f)
- : l;
- }
- return t;
- }),
- (M.toFraction = function(e) {
- var n,
- t,
- i,
- o,
- u,
- s,
- l,
- f,
- c,
- h = z,
- g = this,
- p = g.c,
- d = new a(T),
- m = (t = new a(T)),
- w = (l = new a(T));
- if (
- (null != e &&
- ((z = !1),
- (s = new a(e)),
- (z = h),
- (!(h = s.isInt()) || s.lt(T)) &&
- (z &&
- x(
- 22,
- 'max denominator ' +
- (h ? 'out of range' : 'not an integer'),
- e
- ),
- (e = !h && s.c && I(s, s.e + 1, 1).gte(T) ? s : null))),
- !p)
- )
- return g.toString();
- for (
- c = r(p),
- o = d.e = c.length - g.e - 1,
- d.c[0] = O[(u = o % b) < 0 ? b + u : u],
- e = !e || s.cmp(d) > 0 ? (o > 0 ? d : m) : s,
- u = G,
- G = 1 / 0,
- s = new a(c),
- l.c[0] = 0;
- (f = L(s, d, 0, 1)), (i = t.plus(f.times(w))), 1 != i.cmp(e);
- )
- (t = w),
- (w = i),
- (m = l.plus(f.times((i = m)))),
- (l = i),
- (d = s.minus(f.times((i = d)))),
- (s = i);
- return (
- (i = L(e.minus(t), w, 0, 1)),
- (l = l.plus(i.times(m))),
- (t = t.plus(i.times(w))),
- (l.s = m.s = g.s),
- (o *= 2),
- (n =
- L(m, w, o, P)
- .minus(g)
- .abs()
- .cmp(
- L(l, t, o, P)
- .minus(g)
- .abs()
- ) < 1
- ? [m.toString(), w.toString()]
- : [l.toString(), t.toString()]),
- (G = u),
- n
- );
- }),
- (M.toNumber = function() {
- return +this;
- }),
- (M.toPower = M.pow = function(e, n) {
- var t,
- r,
- i,
- o = p(0 > e ? -e : +e),
- u = this;
- if (
- (null != n && ((C = 23), (n = new a(n))),
- (!V(e, -y, y, 23, 'exponent') &&
- (!isFinite(e) ||
- (o > y && (e /= 0)) ||
- (parseFloat(e) != e && !(e = NaN)))) ||
- 0 == e)
- )
- return (t = Math.pow(+u, e)), new a(n ? t % n : t);
- for (
- n
- ? e > 1 && u.gt(T) && u.isInt() && n.gt(T) && n.isInt()
- ? (u = u.mod(n))
- : ((i = n), (n = null))
- : W && (t = g(W / b + 2)),
- r = new a(T);
- ;
- ) {
- if (o % 2) {
- if (((r = r.times(u)), !r.c)) break;
- t ? r.c.length > t && (r.c.length = t) : n && (r = r.mod(n));
- }
- if (((o = p(o / 2)), !o)) break;
- (u = u.times(u)),
- t
- ? u.c && u.c.length > t && (u.c.length = t)
- : n && (u = u.mod(n));
- }
- return n
- ? r
- : (0 > e && (r = T.div(r)), i ? r.mod(i) : t ? I(r, W, P) : r);
- }),
- (M.toPrecision = function(e, n) {
- return E(
- this,
- null != e && V(e, 1, S, 24, 'precision') ? 0 | e : null,
- n,
- 24
- );
- }),
- (M.toString = function(e) {
- var n,
- t = this,
- i = t.s,
- o = t.e;
- return (
- null === o
- ? i
- ? ((n = 'Infinity'), 0 > i && (n = '-' + n))
- : (n = 'NaN')
- : ((n = r(t.c)),
- (n =
- null != e && V(e, 2, 64, 25, 'base')
- ? A(f(n, o), 0 | e, 10, i)
- : q >= o || o >= k
- ? l(n, o)
- : f(n, o)),
- 0 > i && t.c[0] && (n = '-' + n)),
- n
- );
- }),
- (M.truncated = M.trunc = function() {
- return I(new a(this), this.e + 1, 1);
- }),
- (M.valueOf = M.toJSON = function() {
- var e,
- n = this,
- t = n.e;
- return null === t
- ? n.toString()
- : ((e = r(n.c)),
- (e = q >= t || t >= k ? l(e, t) : f(e, t)),
- n.s < 0 ? '-' + e : e);
- }),
- (M.isBigNumber = !0),
- null != e && a.config(e),
- a
- );
- }
- function t(e) {
- var n = 0 | e;
- return e > 0 || e === n ? n : n - 1;
- }
- function r(e) {
- for (var n, t, r = 1, i = e.length, o = e[0] + ''; i > r; ) {
- for (n = e[r++] + '', t = b - n.length; t--; n = '0' + n);
- o += n;
- }
- for (i = o.length; 48 === o.charCodeAt(--i); );
- return o.slice(0, i + 1 || 1);
- }
- function i(e, n) {
- var t,
- r,
- i = e.c,
- o = n.c,
- u = e.s,
- s = n.s,
- l = e.e,
- f = n.e;
- if (!u || !s) return null;
- if (((t = i && !i[0]), (r = o && !o[0]), t || r))
- return t ? (r ? 0 : -s) : u;
- if (u != s) return u;
- if (((t = 0 > u), (r = l == f), !i || !o)) return r ? 0 : !i ^ t ? 1 : -1;
- if (!r) return (l > f) ^ t ? 1 : -1;
- for (s = (l = i.length) < (f = o.length) ? l : f, u = 0; s > u; u++)
- if (i[u] != o[u]) return (i[u] > o[u]) ^ t ? 1 : -1;
- return l == f ? 0 : (l > f) ^ t ? 1 : -1;
- }
- function o(e, n, t) {
- return (e = c(e)) >= n && t >= e;
- }
- function u(e) {
- return '[object Array]' == Object.prototype.toString.call(e);
- }
- function s(e, n, t) {
- for (var r, i, o = [0], u = 0, s = e.length; s > u; ) {
- for (i = o.length; i--; o[i] *= n);
- for (o[(r = 0)] += v.indexOf(e.charAt(u++)); r < o.length; r++)
- o[r] > t - 1 &&
- (null == o[r + 1] && (o[r + 1] = 0),
- (o[r + 1] += (o[r] / t) | 0),
- (o[r] %= t));
- }
- return o.reverse();
- }
- function l(e, n) {
- return (
- (e.length > 1 ? e.charAt(0) + '.' + e.slice(1) : e) +
- (0 > n ? 'e' : 'e+') +
- n
- );
- }
- function f(e, n) {
- var t, r;
- if (0 > n) {
- for (r = '0.'; ++n; r += '0');
- e = r + e;
- } else if (((t = e.length), ++n > t)) {
- for (r = '0', n -= t; --n; r += '0');
- e += r;
- } else t > n && (e = e.slice(0, n) + '.' + e.slice(n));
- return e;
- }
- function c(e) {
- return (e = parseFloat(e)), 0 > e ? g(e) : p(e);
- }
- var a,
- h = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
- g = Math.ceil,
- p = Math.floor,
- d = ' not a boolean or binary digit',
- m = 'rounding mode',
- w = 'number type has more than 15 significant digits',
- v = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_',
- N = 1e14,
- b = 14,
- y = 9007199254740991,
- O = [
- 1,
- 10,
- 100,
- 1e3,
- 1e4,
- 1e5,
- 1e6,
- 1e7,
- 1e8,
- 1e9,
- 1e10,
- 1e11,
- 1e12,
- 1e13
- ],
- R = 1e7,
- S = 1e9;
- (a = n()),
- (a['default'] = a.BigNumber = a),
- 'function' == typeof define && define.amd
- ? define(function() {
- return a;
- })
- : 'undefined' != typeof module && module.exports
- ? (module.exports = a)
- : (e ||
- (e =
- 'undefined' != typeof self ? self : Function('return this')()),
- (e.BigNumber = a));
- })(this);
- //# sourceMappingURL=bignumber.js.map
- window.BigNumber = BigNumber;
- })();
|