don't install unnecessary packages

This commit is contained in:
Marc Wäckerlin
2016-01-18 13:41:33 +00:00
parent 107f112d98
commit 8f77d7b508
36 changed files with 3657 additions and 3435 deletions

View File

@@ -4,6 +4,15 @@ This file is a manually maintained list of changes for each release. Feel free
to add your changes here when sending pull requests. Also send corrections if
you spot any mistakes.
## v2.10.2 (2016-01-12)
* Fix exception/hang from certain SSL connection errors #1153
* Update `bignumber.js` to 2.1.4
## v2.10.1 (2016-01-11)
* Add new Amazon RDS ap-northeast-2 certificate CA to Amazon RDS SSL profile #1329
## v2.10.0 (2015-12-15)
* Add new error codes up to MySQL 5.7.9 #1294

View File

@@ -277,6 +277,7 @@ Connection.prototype.format = function(sql, values) {
if (tls.TLSSocket) {
// 0.11+ environment
Connection.prototype._startTLS = function _startTLS(onSecure) {
var connection = this;
var secureContext = tls.createSecureContext({
ca : this.config.ssl.ca,
cert : this.config.ssl.cert,
@@ -291,6 +292,7 @@ if (tls.TLSSocket) {
// socket <-> encrypted
var rejectUnauthorized = this.config.ssl.rejectUnauthorized;
var secureEstablished = false;
var secureSocket = new tls.TLSSocket(this._socket, {
rejectUnauthorized : rejectUnauthorized,
requestCert : true,
@@ -298,6 +300,15 @@ if (tls.TLSSocket) {
isServer : false
});
// error handler for secure socket
secureSocket.on('_tlsError', function(err) {
if (secureEstablished) {
connection._handleNetworkError(err);
} else {
onSecure(err);
}
})
// cleartext <-> protocol
secureSocket.pipe(this._protocol);
this._protocol.on('data', function(data) {
@@ -305,6 +316,8 @@ if (tls.TLSSocket) {
});
secureSocket.on('secure', function() {
secureEstablished = true;
onSecure(rejectUnauthorized ? this.ssl.verifyError() : null);
});
@@ -319,6 +332,7 @@ if (tls.TLSSocket) {
// after:
// _socket <-> securePair.encrypted <-> securePair.cleartext <-> _protocol
var connection = this;
var credentials = Crypto.createCredentials({
ca : this.config.ssl.ca,
cert : this.config.ssl.cert,
@@ -328,8 +342,18 @@ if (tls.TLSSocket) {
});
var rejectUnauthorized = this.config.ssl.rejectUnauthorized;
var secureEstablished = false;
var securePair = tls.createSecurePair(credentials, false, true, rejectUnauthorized);
// error handler for secure pair
securePair.on('error', function(err) {
if (secureEstablished) {
connection._handleNetworkError(err);
} else {
onSecure(err);
}
});
// "unpipe"
this._socket.removeAllListeners('data');
this._protocol.removeAllListeners('data');
@@ -346,7 +370,10 @@ if (tls.TLSSocket) {
securePair.cleartext.write(data);
});
// secure established
securePair.on('secure', function() {
secureEstablished = true;
if (!rejectUnauthorized) {
onSecure();
return;
@@ -363,6 +390,16 @@ if (tls.TLSSocket) {
onSecure(err);
});
// node.js 0.8 bug
securePair._cycle = securePair.cycle;
securePair.cycle = function cycle() {
if (this.ssl && this.ssl.error) {
this.error();
}
return this._cycle.apply(this, arguments);
};
};
}

View File

@@ -74,8 +74,7 @@ Parser.prototype.write = function(buffer) {
hadException = false;
} catch (err) {
if (!err || typeof err.code !== 'string' || err.code.substr(0, 7) !== 'PARSER_') {
// Rethrow unknown errors
throw err;
throw err; // Rethrow non-MySQL errors
}
// Pass down parser errors

View File

@@ -108,6 +108,43 @@ exports['Amazon RDS'] = {
+ 'VPrXn2899T1rcTtFYFP16WXjGuc0\n'
+ '-----END CERTIFICATE-----\n',
/**
* Amazon RDS ap-northeast-2 certificate CA 2015 to 2020
*
* CN = Amazon RDS ap-northeast-2 CA
* OU = Amazon RDS
* O = Amazon Web Services, Inc.
* L = Seattle
* ST = Washington
* C = US
* P = 2015-11-06T00:05:46Z/2020-03-05T00:05:46Z
* F = 77:D9:33:4E:CE:56:FC:42:7B:29:57:8D:67:59:ED:29:4E:18:CB:6B
*/
'-----BEGIN CERTIFICATE-----\n'
+ 'MIIEATCCAumgAwIBAgIBTDANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCVVMx\n'
+ 'EzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoM\n'
+ 'GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx\n'
+ 'GzAZBgNVBAMMEkFtYXpvbiBSRFMgUm9vdCBDQTAeFw0xNTExMDYwMDA1NDZaFw0y\n'
+ 'MDAzMDUwMDA1NDZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3Rv\n'
+ 'bjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNl\n'
+ 'cywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1hem9uIFJE\n'
+ 'UyBhcC1ub3J0aGVhc3QtMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n'
+ 'ggEBAKSwd+RVUzTRH0FgnbwoTK8TMm/zMT4+2BvALpAUe6YXbkisg2goycWuuWLg\n'
+ 'jOpFBB3GtyvXZnkqi7MkDWUmj1a2kf8l2oLyoaZ+Hm9x/sV+IJzOqPvj1XVUGjP6\n'
+ 'yYYnPJmUYqvZeI7fEkIGdFkP2m4/sgsSGsFvpD9FK1bL1Kx2UDpYX0kHTtr18Zm/\n'
+ '1oN6irqWALSmXMDydb8hE0FB2A1VFyeKE6PnoDj/Y5cPHwPPdEi6/3gkDkSaOG30\n'
+ 'rWeQfL3pOcKqzbHaWTxMphd0DSL/quZ64Nr+Ly65Q5PRcTrtr55ekOUziuqXwk+o\n'
+ '9QpACMwcJ7ROqOznZTqTzSFVXFECAwEAAaNmMGQwDgYDVR0PAQH/BAQDAgEGMBIG\n'
+ 'A1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFM6Nox/QWbhzWVvzoJ/y0kGpNPK+\n'
+ 'MB8GA1UdIwQYMBaAFE4C7qw+9hXITO0s9QXBj5yECEmDMA0GCSqGSIb3DQEBBQUA\n'
+ 'A4IBAQCTkWBqNvyRf3Y/W21DwFx3oT/AIWrHt0BdGZO34tavummXemTH9LZ/mqv9\n'
+ 'aljt6ZuDtf5DEQjdsAwXMsyo03ffnP7doWm8iaF1+Mui77ot0TmTsP/deyGwukvJ\n'
+ 'tkxX8bZjDh+EaNauWKr+CYnniNxCQLfFtXYJsfOdVBzK3xNL+Z3ucOQRhr2helWc\n'
+ 'CDQgwfhP1+3pRVKqHvWCPC4R3fT7RZHuRmZ38kndv476GxRntejh+ePffif78bFI\n'
+ '3rIZCPBGobrrUMycafSbyXteoGca/kA+/IqrAPlk0pWQ4aEL0yTWN2h2dnjoD7oX\n'
+ 'byIuL/g9AGRh97+ssn7D6bDRPTbW\n'
+ '-----END CERTIFICATE-----\n',
/**
* Amazon RDS ap-southeast-1 certificate CA 2015 to 2020
*

View File

@@ -244,6 +244,14 @@ See [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).
## Change Log
####2.1.4
* 15/12/2015
* Correct UMD.
####2.1.3
* 13/12/2015
* Refactor re global object and crypto availability when bundling.
####2.1.2
* 10/12/2015
* Bugfix: `window.crypto` not assigned to `crypto`.

View File

@@ -1,10 +1,10 @@
/*! bignumber.js v2.1.2 https://github.com/MikeMcl/bignumber.js/LICENCE */
/*! bignumber.js v2.1.3 https://github.com/MikeMcl/bignumber.js/LICENCE */
;(function (global) {
;(function (globalObj) {
'use strict';
/*
bignumber.js v2.1.2
bignumber.js v2.1.3
A JavaScript library for arbitrary-precision arithmetic.
https://github.com/MikeMcl/bignumber.js
Copyright (c) 2015 Michael Mclaughlin <M8ch88l@gmail.com>
@@ -12,8 +12,7 @@
*/
var BigNumber, parseNumeric,
crypto = global.crypto,
var cryptoObj, parseNumeric,
isNumeric = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
mathceil = Math.ceil,
mathfloor = Math.floor,
@@ -35,11 +34,13 @@
*/
MAX = 1E9; // 0 to MAX_INT32
if ( typeof crypto != 'undefined' ) cryptoObj = crypto;
/*
* Create and return a BigNumber constructor.
*/
function another(configObj) {
function constructorFactory(configObj) {
var div,
// id tracks the caller function, so its name can be included in error messages.
@@ -314,7 +315,7 @@
// CONSTRUCTOR PROPERTIES
BigNumber.another = another;
BigNumber.another = constructorFactory;
BigNumber.ROUND_UP = 0;
BigNumber.ROUND_DOWN = 1;
@@ -442,8 +443,8 @@
if ( has( p = 'CRYPTO' ) ) {
if ( v === !!v || v === 1 || v === 0 ) {
CRYPTO = !!( v && crypto && typeof crypto == 'object' );
if ( v && !CRYPTO && ERRORS ) raise( 2, 'crypto unavailable', crypto );
CRYPTO = !!( v && cryptoObj );
if ( v && !CRYPTO && ERRORS ) raise( 2, 'crypto unavailable', cryptoObj );
} else if (ERRORS) {
raise( 2, p + notBool, v );
}
@@ -533,9 +534,9 @@
if (CRYPTO) {
// Browsers supporting crypto.getRandomValues.
if ( crypto && crypto.getRandomValues ) {
if ( cryptoObj && cryptoObj.getRandomValues ) {
a = crypto.getRandomValues( new Uint32Array( k *= 2 ) );
a = cryptoObj.getRandomValues( new Uint32Array( k *= 2 ) );
for ( ; i < k; ) {
@@ -552,7 +553,7 @@
// Probability that v >= 9e15, is
// 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251
if ( v >= 9e15 ) {
b = crypto.getRandomValues( new Uint32Array(2) );
b = cryptoObj.getRandomValues( new Uint32Array(2) );
a[i] = b[0];
a[i + 1] = b[1];
} else {
@@ -566,10 +567,10 @@
i = k / 2;
// Node.js supporting crypto.randomBytes.
} else if ( crypto && crypto.randomBytes ) {
} else if ( cryptoObj && cryptoObj.randomBytes ) {
// buffer
a = crypto.randomBytes( k *= 7 );
a = cryptoObj.randomBytes( k *= 7 );
for ( ; i < k; ) {
@@ -582,7 +583,7 @@
( a[i + 4] << 16 ) + ( a[i + 5] << 8 ) + a[i + 6];
if ( v >= 9e15 ) {
crypto.randomBytes(7).copy( a, i );
cryptoObj.randomBytes(7).copy( a, i );
} else {
// 0 <= (v % 1e14) <= 99999999999999
@@ -592,7 +593,7 @@
}
i = k / 7;
} else if (ERRORS) {
raise( 14, 'crypto unavailable', crypto );
raise( 14, 'crypto unavailable', cryptoObj );
}
}
@@ -2676,19 +2677,20 @@
// EXPORT
BigNumber = another();
// AMD.
// AMD.
if ( typeof define == 'function' && define.amd ) {
define( function () { return BigNumber; } );
define( function () { return constructorFactory(); } );
// Node and other environments that support module.exports.
// Node.js and other environments that support module.exports.
} else if ( typeof module != 'undefined' && module.exports ) {
module.exports = BigNumber;
if ( !crypto ) try { crypto = require('cry' + 'pto'); } catch (e) {}
module.exports = constructorFactory();
// Split string stops browserify adding crypto shim.
if ( !cryptoObj ) try { cryptoObj = require('cry' + 'pto'); } catch (e) {}
// Browser.
} else {
global.BigNumber = BigNumber;
if ( !globalObj ) globalObj = typeof self != 'undefined' ? self : Function('return this')();
globalObj.BigNumber = constructorFactory();
}
})(this);

View File

@@ -1 +1 @@
{"version":3,"file":"bignumber.min.js","sources":["bignumber.js"],"names":["global","another","configObj","BigNumber","n","b","c","e","i","num","len","str","x","this","ERRORS","raise","isValidInt","id","round","DECIMAL_PLACES","ROUNDING_MODE","RegExp","ALPHABET","slice","test","parseNumeric","s","replace","length","tooManyDigits","charCodeAt","convertBase","isNumeric","indexOf","search","substring","MAX_EXP","MIN_EXP","LOG_BASE","push","baseOut","baseIn","sign","d","k","r","xc","y","dp","rm","toLowerCase","POW_PRECISION","pow","toBaseOut","toFixedPoint","coeffToString","pop","div","unshift","charAt","format","caller","c0","ne","roundingMode","toString","TO_EXP_NEG","toExponential","maxOrMin","args","method","m","isArray","call","intValidatorWithErrors","min","max","name","truncate","normalise","j","msg","val","error","Error","sd","ni","rd","pows10","POWS_TEN","out","mathceil","mathfloor","BASE","P","prototype","ONE","TO_EXP_POS","CRYPTO","MODULO_MODE","FORMAT","decimalSeparator","groupSeparator","groupSize","secondaryGroupSize","fractionGroupSeparator","fractionGroupSize","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","v","p","a","arguments","o","has","hasOwnProperty","MAX","intValidatorNoErrors","notBool","crypto","lt","gt","random","pow2_53","random53bitInt","Math","rand","getRandomValues","Uint32Array","randomBytes","copy","shift","multiply","base","temp","xlo","xhi","carry","klo","SQRT_BASE","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","NaN","bitFloor","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","isNaN","p1","p2","absoluteValue","abs","ceil","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","divToInt","equals","eq","floor","greaterThan","greaterThanOrEqualTo","gte","isFinite","isInteger","isInt","isNegative","isNeg","isZero","lessThan","lessThanOrEqualTo","lte","minus","sub","t","xLTy","plus","xe","ye","reverse","modulo","mod","times","negated","neg","add","precision","z","MAX_SAFE_INTEGER","squareRoot","sqrt","rep","half","mul","xcL","ycL","ylo","yhi","zc","sqrtBase","toDigits","toFixed","toFormat","arr","split","g1","g2","intPart","fractionPart","intDigits","substr","toFraction","md","d0","d2","exp","n0","n1","d1","toNumber","toPower","parseFloat","toPrecision","truncated","trunc","valueOf","toJSON","l","obj","Object","arrL","define","amd","module","exports","require"],"mappings":"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"}
{"version":3,"file":"bignumber.min.js","sources":["bignumber.js"],"names":["globalObj","constructorFactory","configObj","BigNumber","n","b","c","e","i","num","len","str","x","this","ERRORS","raise","isValidInt","id","round","DECIMAL_PLACES","ROUNDING_MODE","RegExp","ALPHABET","slice","test","parseNumeric","s","replace","length","tooManyDigits","charCodeAt","convertBase","isNumeric","indexOf","search","substring","MAX_EXP","MIN_EXP","LOG_BASE","push","baseOut","baseIn","sign","d","k","r","xc","y","dp","rm","toLowerCase","POW_PRECISION","pow","toBaseOut","toFixedPoint","coeffToString","pop","div","unshift","charAt","format","caller","c0","ne","roundingMode","toString","TO_EXP_NEG","toExponential","maxOrMin","args","method","m","isArray","call","intValidatorWithErrors","min","max","name","truncate","normalise","j","msg","val","error","Error","sd","ni","rd","pows10","POWS_TEN","out","mathceil","mathfloor","BASE","P","prototype","ONE","TO_EXP_POS","CRYPTO","MODULO_MODE","FORMAT","decimalSeparator","groupSeparator","groupSize","secondaryGroupSize","fractionGroupSeparator","fractionGroupSize","another","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","v","p","a","arguments","o","has","hasOwnProperty","MAX","intValidatorNoErrors","notBool","cryptoObj","lt","gt","random","pow2_53","random53bitInt","Math","rand","getRandomValues","Uint32Array","randomBytes","copy","shift","multiply","base","temp","xlo","xhi","carry","klo","SQRT_BASE","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","NaN","bitFloor","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","isNaN","p1","p2","absoluteValue","abs","ceil","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","divToInt","equals","eq","floor","greaterThan","greaterThanOrEqualTo","gte","isFinite","isInteger","isInt","isNegative","isNeg","isZero","lessThan","lessThanOrEqualTo","lte","minus","sub","t","xLTy","plus","xe","ye","reverse","modulo","mod","times","negated","neg","add","precision","z","MAX_SAFE_INTEGER","squareRoot","sqrt","rep","half","mul","xcL","ycL","ylo","yhi","zc","sqrtBase","toDigits","toFixed","toFormat","arr","split","g1","g2","intPart","fractionPart","intDigits","substr","toFraction","md","d0","d2","exp","n0","n1","d1","toNumber","toPower","parseFloat","toPrecision","truncated","trunc","valueOf","toJSON","l","obj","Object","arrL","crypto","define","amd","module","exports","require","self","Function"],"mappings":"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"}

View File

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

View File

@@ -1,7 +1,7 @@
{
"name": "bignumber.js",
"main": "bignumber.js",
"version": "2.1.2",
"version": "2.1.4",
"homepage": "https://github.com/MikeMcl/bignumber.js",
"authors": [
"Michael Mclaughlin <M8ch88l@gmail.com>"

View File

@@ -1,7 +1,7 @@
{
"name": "bignumber.js",
"description": "A library for arbitrary-precision decimal and non-decimal arithmetic",
"version": "2.1.2",
"version": "2.1.4",
"keywords": [
"arbitrary",
"precision",
@@ -31,13 +31,17 @@
"license": "MIT",
"scripts": {
"test": "node ./test/every-test.js",
"build": "uglifyjs bignumber.js --source-map bignumber.js.map -c -m -o bignumber.min.js --preamble \"/* bignumber.js v2.1.2 https://github.com/MikeMcl/bignumber.js/LICENCE */\""
"build": "uglifyjs bignumber.js --source-map bignumber.js.map -c -m -o bignumber.min.js --preamble \"/* bignumber.js v2.1.4 https://github.com/MikeMcl/bignumber.js/LICENCE */\""
},
"readme": "![bignumber.js](https://raw.githubusercontent.com/MikeMcl/bignumber.js/gh-pages/bignumberjs.png)\r\n\r\nA JavaScript library for arbitrary-precision decimal and non-decimal arithmetic.\r\n\r\n[![Build Status](https://travis-ci.org/MikeMcl/bignumber.js.svg)](https://travis-ci.org/MikeMcl/bignumber.js)\r\n\r\n<br />\r\n\r\n## Features\r\n\r\n - Faster, smaller, and perhaps easier to use than JavaScript versions of Java's BigDecimal\r\n - 8 KB minified and gzipped\r\n - Simple API but full-featured\r\n - Works with numbers with or without fraction digits in bases from 2 to 64 inclusive\r\n - Replicates the `toExponential`, `toFixed`, `toPrecision` and `toString` methods of JavaScript's Number type\r\n - Includes a `toFraction` and a correctly-rounded `squareRoot` method\r\n - Supports cryptographically-secure pseudo-random number generation\r\n - No dependencies\r\n - Wide platform compatibility: uses JavaScript 1.5 (ECMAScript 3) features only\r\n - Comprehensive [documentation](http://mikemcl.github.io/bignumber.js/) and test set\r\n\r\n![API](https://raw.githubusercontent.com/MikeMcl/bignumber.js/gh-pages/API.png)\r\n\r\nIf a smaller and simpler library is required see [big.js](https://github.com/MikeMcl/big.js/).\r\nIt's less than half the size but only works with decimal numbers and only has half the methods.\r\nIt also does not allow `NaN` or `Infinity`, or have the configuration options of this library.\r\n\r\nSee also [decimal.js](https://github.com/MikeMcl/decimal.js/), which among other things adds support for non-integer powers, and performs all operations to a specified number of significant digits.\r\n\r\n## Load\r\n\r\nThe library is the single JavaScript file *bignumber.js* (or minified, *bignumber.min.js*).\r\n\r\n```html\r\n<script src='relative/path/to/bignumber.js'></script>\r\n```\r\n\r\nFor [Node.js](http://nodejs.org) or [io.js](https://iojs.org/en/index.html), the library is available from the [npm](https://npmjs.org/) registry\r\n\r\n $ npm install bignumber.js\r\n\r\n```javascript\r\nvar BigNumber = require('bignumber.js');\r\n```\r\n\r\nTo load with AMD loader libraries such as [requireJS](http://requirejs.org/):\r\n\r\n```javascript\r\nrequire(['path/to/bignumber'], function(BigNumber) { \r\n // Use BigNumber here in local scope. No global BigNumber.\r\n});\r\n```\r\n\r\n## Use\r\n\r\n*In all examples below, `var`, semicolons and `toString` calls are not shown.\r\nIf a commented-out value is in quotes it means `toString` has been called on the preceding expression.*\r\n\r\nThe library exports a single function: `BigNumber`, the constructor of BigNumber instances.\r\n\r\nIt accepts a value of type number *(up to 15 significant digits only)*, string or BigNumber object,\r\n\r\n```javascript\r\nx = new BigNumber(123.4567)\r\ny = BigNumber('123456.7e-3')\r\nz = new BigNumber(x)\r\nx.equals(y) && y.equals(z) && x.equals(z) // true\r\n```\r\n\r\n\r\nand a base from 2 to 64 inclusive can be specified.\r\n\r\n```javascript\r\nx = new BigNumber(1011, 2) // \"11\"\r\ny = new BigNumber('zz.9', 36) // \"1295.25\"\r\nz = x.plus(y) // \"1306.25\"\r\n```\r\n\r\nA BigNumber is immutable in the sense that it is not changed by its methods. \r\n\r\n```javascript\r\n0.3 - 0.1 // 0.19999999999999998 \r\nx = new BigNumber(0.3)\r\nx.minus(0.1) // \"0.2\"\r\nx // \"0.3\"\r\n```\r\n\r\nThe methods that return a BigNumber can be chained.\r\n\r\n```javascript\r\nx.dividedBy(y).plus(z).times(9).floor()\r\nx.times('1.23456780123456789e+9').plus(9876.5432321).dividedBy('4444562598.111772').ceil()\r\n```\r\n\r\nMany method names have a shorter alias.\r\n\r\n```javascript\r\nx.squareRoot().dividedBy(y).toPower(3).equals(x.sqrt().div(y).pow(3)) // true\r\nx.cmp(y.mod(z).neg()) == 1 && x.comparedTo(y.modulo(z).negated()) == 1 // true\r\n```\r\n\r\nLike JavaScript's number type, there are `toExponential`, `toFixed` and `toPrecision` methods\r\n\r\n```javascript\r\nx = new BigNumber(255.5)\r\nx.toExponential(5) // \"2.55500e+2\"\r\nx.toFixed(5) // \"255.50000\"\r\nx.toPrecision(5) // \"255.50\"\r\nx.toNumber() // 255.5\r\n```\r\n\r\n and a base can be specified for `toString`.\r\n\r\n ```javascript\r\n x.toString(16) // \"ff.8\"\r\n ```\r\n\r\nThere is also a `toFormat` method which may be useful for internationalisation\r\n\r\n```javascript\r\ny = new BigNumber('1234567.898765')\r\ny.toFormat(2) // \"1,234,567.90\"\r\n```\r\n\r\nThe maximum number of decimal places of the result of an operation involving division (i.e. a division, square root, base conversion or negative power operation) is set using the `config` method of the `BigNumber` constructor.\r\n\r\nThe other arithmetic operations always give the exact result.\r\n\r\n```javascript\r\nBigNumber.config({ DECIMAL_PLACES: 10, ROUNDING_MODE: 4 })\r\n// Alternatively, BigNumber.config( 10, 4 );\r\n\r\nx = new BigNumber(2);\r\ny = new BigNumber(3);\r\nz = x.div(y) // \"0.6666666667\"\r\nz.sqrt() // \"0.8164965809\"\r\nz.pow(-3) // \"3.3749999995\"\r\nz.toString(2) // \"0.1010101011\"\r\nz.times(z) // \"0.44444444448888888889\"\r\nz.times(z).round(10) // \"0.4444444445\"\r\n```\r\n\r\nThere is a `toFraction` method with an optional *maximum denominator* argument\r\n\r\n```javascript\r\ny = new BigNumber(355)\r\npi = y.dividedBy(113) // \"3.1415929204\"\r\npi.toFraction() // [ \"7853982301\", \"2500000000\" ]\r\npi.toFraction(1000) // [ \"355\", \"113\" ]\r\n```\r\n\r\nand `isNaN` and `isFinite` methods, as `NaN` and `Infinity` are valid `BigNumber` values.\r\n\r\n```javascript\r\nx = new BigNumber(NaN) // \"NaN\"\r\ny = new BigNumber(Infinity) // \"Infinity\"\r\nx.isNaN() && !y.isNaN() && !x.isFinite() && !y.isFinite() // true\r\n```\r\n\r\nThe value of a BigNumber is stored in a decimal floating point format in terms of a coefficient, exponent and sign.\r\n\r\n\r\n```javascript\r\nx = new BigNumber(-123.456);\r\nx.c // [ 123, 45600000000000 ] coefficient (i.e. significand)\r\nx.e // 2 exponent\r\nx.s // -1 sign\r\n```\r\n\r\n\r\nMultiple BigNumber constructors can be created, each with their own independent configuration which applies to all BigNumber's created from it.\r\n\r\n```javascript\r\n// Set DECIMAL_PLACES for the original BigNumber constructor\r\nBigNumber.config({ DECIMAL_PLACES: 10 })\r\n\r\n// Create another BigNumber constructor, optionally passing in a configuration object\r\nBN = BigNumber.another({ DECIMAL_PLACES: 5 })\r\n\r\nx = new BigNumber(1)\r\ny = new BN(1)\r\n\r\nx.div(3) // '0.3333333333'\r\ny.div(3) // '0.33333'\r\n```\r\n\r\nFor futher information see the [API](http://mikemcl.github.io/bignumber.js/) reference in the *doc* directory.\r\n\r\n## Test\r\n\r\nThe *test* directory contains the test scripts for each method.\r\n\r\nThe tests can be run with Node or a browser. For Node use\r\n\r\n $ npm test\r\n\r\nor\r\n\r\n $ node test/every-test\r\n\r\nTo test a single method, e.g.\r\n\r\n $ node test/toFraction\r\n\r\nFor the browser, see *every-test.html* and *single-test.html* in the *test/browser* directory. \r\n\r\n*bignumber-vs-number.html* enables some of the methods of bignumber.js to be compared with those of JavaScript's number type. \r\n\r\n## Versions\r\n\r\nThis is version 2.x.x of the library, for version 1.x.x see the tagged releases or switch to the 'original' branch. The advantages of version 2 are that it is considerably faster for numbers with many digits and that there are a some added methods (see Change Log below). The disadvantages are more lines of code and increased code complexity, and the loss of simplicity in no longer having the coefficient of a BigNumber stored in base 10. The 'original' version will continue to be supported.\r\n\r\n## Performance\r\n\r\nSee the [README](https://github.com/MikeMcl/bignumber.js/tree/master/perf) in the *perf* directory.\r\n\r\n## Build\r\n\r\nFor Node, if [uglify-js](https://github.com/mishoo/UglifyJS2) is installed\r\n\r\n npm install uglify-js -g\r\n\r\nthen\r\n\r\n npm run build\r\n\r\nwill create *bignumber.min.js*.\r\n\r\nA source map will also be created in the root directory.\r\n\r\n## Feedback\r\n\r\nOpen an issue, or email \r\n\r\nMichael\r\n\r\n<a href=\"mailto:M8ch88l@gmail.com\">M8ch88l@gmail.com</a>\r\n\r\n## Licence\r\n\r\nMIT.\r\n\r\nSee [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).\r\n\r\n## Change Log\r\n\r\n####2.1.2\r\n* 10/12/2015\r\n* Bugfix: `window.crypto` not assigned to `crypto`.\r\n\r\n####2.1.1\r\n* 09/12/2015\r\n* Prevent code bundler from adding `crypto` shim.\r\n\r\n####2.1.0\r\n* 26/10/2015\r\n* For `valueOf` and `toJSON`, include the minus sign with negative zero.\r\n\r\n####2.0.8\r\n* 2/10/2015\r\n* Internal round function bugfix.\r\n\r\n####2.0.6\r\n* 31/03/2015\r\n* Add bower.json. Tweak division after in-depth review.\r\n\r\n####2.0.5\r\n* 25/03/2015\r\n* Amend README. Remove bitcoin address.\r\n\r\n####2.0.4\r\n* 25/03/2015\r\n* Critical bugfix #58: division.\r\n\r\n####2.0.3\r\n* 18/02/2015\r\n* Amend README. Add source map.\r\n\r\n####2.0.2\r\n* 18/02/2015\r\n* Correct links.\r\n\r\n####2.0.1\r\n* 18/02/2015\r\n* Add `max`, `min`, `precision`, `random`, `shift`, `toDigits` and `truncated` methods.\r\n* Add the short-forms: `add`, `mul`, `sd`, `sub` and `trunc`.\r\n* Add an `another` method to enable multiple independent constructors to be created.\r\n* Add support for the base 2, 8 and 16 prefixes `0b`, `0o` and `0x`.\r\n* Enable a rounding mode to be specified as a second parameter to `toExponential`, `toFixed`, `toFormat` and `toPrecision`.\r\n* Add a `CRYPTO` configuration property so cryptographically-secure pseudo-random number generation can be specified.\r\n* Add a `MODULO_MODE` configuration property to enable the rounding mode used by the `modulo` operation to be specified.\r\n* Add a `POW_PRECISION` configuration property to enable the number of significant digits calculated by the power operation to be limited.\r\n* Improve code quality.\r\n* Improve documentation.\r\n\r\n####2.0.0\r\n* 29/12/2014\r\n* Add `dividedToIntegerBy`, `isInteger` and `toFormat` methods.\r\n* Remove the following short-forms: `isF`, `isZ`, `toE`, `toF`, `toFr`, `toN`, `toP`, `toS`.\r\n* Store a BigNumber's coefficient in base 1e14, rather than base 10.\r\n* Add fast path for integers to BigNumber constructor.\r\n* Incorporate the library into the online documentation.\r\n\r\n####1.5.0\r\n* 13/11/2014\r\n* Add `toJSON` and `decimalPlaces` methods.\r\n\r\n####1.4.1\r\n* 08/06/2014\r\n* Amend README.\r\n\r\n####1.4.0\r\n* 08/05/2014\r\n* Add `toNumber`.\r\n\r\n####1.3.0\r\n* 08/11/2013\r\n* Ensure correct rounding of `sqrt` in all, rather than almost all, cases.\r\n* Maximum radix to 64.\r\n\r\n####1.2.1\r\n* 17/10/2013\r\n* Sign of zero when x < 0 and x + (-x) = 0.\r\n\r\n####1.2.0\r\n* 19/9/2013\r\n* Throw Error objects for stack.\r\n\r\n####1.1.1\r\n* 22/8/2013\r\n* Show original value in constructor error message.\r\n\r\n####1.1.0\r\n* 1/8/2013\r\n* Allow numbers with trailing radix point. \r\n\r\n####1.0.1\r\n* Bugfix: error messages with incorrect method name\r\n\r\n####1.0.0\r\n* 8/11/2012\r\n* Initial release\r\n",
"readme": "![bignumber.js](https://raw.githubusercontent.com/MikeMcl/bignumber.js/gh-pages/bignumberjs.png)\r\n\r\nA JavaScript library for arbitrary-precision decimal and non-decimal arithmetic.\r\n\r\n[![Build Status](https://travis-ci.org/MikeMcl/bignumber.js.svg)](https://travis-ci.org/MikeMcl/bignumber.js)\r\n\r\n<br />\r\n\r\n## Features\r\n\r\n - Faster, smaller, and perhaps easier to use than JavaScript versions of Java's BigDecimal\r\n - 8 KB minified and gzipped\r\n - Simple API but full-featured\r\n - Works with numbers with or without fraction digits in bases from 2 to 64 inclusive\r\n - Replicates the `toExponential`, `toFixed`, `toPrecision` and `toString` methods of JavaScript's Number type\r\n - Includes a `toFraction` and a correctly-rounded `squareRoot` method\r\n - Supports cryptographically-secure pseudo-random number generation\r\n - No dependencies\r\n - Wide platform compatibility: uses JavaScript 1.5 (ECMAScript 3) features only\r\n - Comprehensive [documentation](http://mikemcl.github.io/bignumber.js/) and test set\r\n\r\n![API](https://raw.githubusercontent.com/MikeMcl/bignumber.js/gh-pages/API.png)\r\n\r\nIf a smaller and simpler library is required see [big.js](https://github.com/MikeMcl/big.js/).\r\nIt's less than half the size but only works with decimal numbers and only has half the methods.\r\nIt also does not allow `NaN` or `Infinity`, or have the configuration options of this library.\r\n\r\nSee also [decimal.js](https://github.com/MikeMcl/decimal.js/), which among other things adds support for non-integer powers, and performs all operations to a specified number of significant digits.\r\n\r\n## Load\r\n\r\nThe library is the single JavaScript file *bignumber.js* (or minified, *bignumber.min.js*).\r\n\r\n```html\r\n<script src='relative/path/to/bignumber.js'></script>\r\n```\r\n\r\nFor [Node.js](http://nodejs.org) or [io.js](https://iojs.org/en/index.html), the library is available from the [npm](https://npmjs.org/) registry\r\n\r\n $ npm install bignumber.js\r\n\r\n```javascript\r\nvar BigNumber = require('bignumber.js');\r\n```\r\n\r\nTo load with AMD loader libraries such as [requireJS](http://requirejs.org/):\r\n\r\n```javascript\r\nrequire(['path/to/bignumber'], function(BigNumber) { \r\n // Use BigNumber here in local scope. No global BigNumber.\r\n});\r\n```\r\n\r\n## Use\r\n\r\n*In all examples below, `var`, semicolons and `toString` calls are not shown.\r\nIf a commented-out value is in quotes it means `toString` has been called on the preceding expression.*\r\n\r\nThe library exports a single function: `BigNumber`, the constructor of BigNumber instances.\r\n\r\nIt accepts a value of type number *(up to 15 significant digits only)*, string or BigNumber object,\r\n\r\n```javascript\r\nx = new BigNumber(123.4567)\r\ny = BigNumber('123456.7e-3')\r\nz = new BigNumber(x)\r\nx.equals(y) && y.equals(z) && x.equals(z) // true\r\n```\r\n\r\n\r\nand a base from 2 to 64 inclusive can be specified.\r\n\r\n```javascript\r\nx = new BigNumber(1011, 2) // \"11\"\r\ny = new BigNumber('zz.9', 36) // \"1295.25\"\r\nz = x.plus(y) // \"1306.25\"\r\n```\r\n\r\nA BigNumber is immutable in the sense that it is not changed by its methods. \r\n\r\n```javascript\r\n0.3 - 0.1 // 0.19999999999999998 \r\nx = new BigNumber(0.3)\r\nx.minus(0.1) // \"0.2\"\r\nx // \"0.3\"\r\n```\r\n\r\nThe methods that return a BigNumber can be chained.\r\n\r\n```javascript\r\nx.dividedBy(y).plus(z).times(9).floor()\r\nx.times('1.23456780123456789e+9').plus(9876.5432321).dividedBy('4444562598.111772').ceil()\r\n```\r\n\r\nMany method names have a shorter alias.\r\n\r\n```javascript\r\nx.squareRoot().dividedBy(y).toPower(3).equals(x.sqrt().div(y).pow(3)) // true\r\nx.cmp(y.mod(z).neg()) == 1 && x.comparedTo(y.modulo(z).negated()) == 1 // true\r\n```\r\n\r\nLike JavaScript's number type, there are `toExponential`, `toFixed` and `toPrecision` methods\r\n\r\n```javascript\r\nx = new BigNumber(255.5)\r\nx.toExponential(5) // \"2.55500e+2\"\r\nx.toFixed(5) // \"255.50000\"\r\nx.toPrecision(5) // \"255.50\"\r\nx.toNumber() // 255.5\r\n```\r\n\r\n and a base can be specified for `toString`.\r\n\r\n ```javascript\r\n x.toString(16) // \"ff.8\"\r\n ```\r\n\r\nThere is also a `toFormat` method which may be useful for internationalisation\r\n\r\n```javascript\r\ny = new BigNumber('1234567.898765')\r\ny.toFormat(2) // \"1,234,567.90\"\r\n```\r\n\r\nThe maximum number of decimal places of the result of an operation involving division (i.e. a division, square root, base conversion or negative power operation) is set using the `config` method of the `BigNumber` constructor.\r\n\r\nThe other arithmetic operations always give the exact result.\r\n\r\n```javascript\r\nBigNumber.config({ DECIMAL_PLACES: 10, ROUNDING_MODE: 4 })\r\n// Alternatively, BigNumber.config( 10, 4 );\r\n\r\nx = new BigNumber(2);\r\ny = new BigNumber(3);\r\nz = x.div(y) // \"0.6666666667\"\r\nz.sqrt() // \"0.8164965809\"\r\nz.pow(-3) // \"3.3749999995\"\r\nz.toString(2) // \"0.1010101011\"\r\nz.times(z) // \"0.44444444448888888889\"\r\nz.times(z).round(10) // \"0.4444444445\"\r\n```\r\n\r\nThere is a `toFraction` method with an optional *maximum denominator* argument\r\n\r\n```javascript\r\ny = new BigNumber(355)\r\npi = y.dividedBy(113) // \"3.1415929204\"\r\npi.toFraction() // [ \"7853982301\", \"2500000000\" ]\r\npi.toFraction(1000) // [ \"355\", \"113\" ]\r\n```\r\n\r\nand `isNaN` and `isFinite` methods, as `NaN` and `Infinity` are valid `BigNumber` values.\r\n\r\n```javascript\r\nx = new BigNumber(NaN) // \"NaN\"\r\ny = new BigNumber(Infinity) // \"Infinity\"\r\nx.isNaN() && !y.isNaN() && !x.isFinite() && !y.isFinite() // true\r\n```\r\n\r\nThe value of a BigNumber is stored in a decimal floating point format in terms of a coefficient, exponent and sign.\r\n\r\n\r\n```javascript\r\nx = new BigNumber(-123.456);\r\nx.c // [ 123, 45600000000000 ] coefficient (i.e. significand)\r\nx.e // 2 exponent\r\nx.s // -1 sign\r\n```\r\n\r\n\r\nMultiple BigNumber constructors can be created, each with their own independent configuration which applies to all BigNumber's created from it.\r\n\r\n```javascript\r\n// Set DECIMAL_PLACES for the original BigNumber constructor\r\nBigNumber.config({ DECIMAL_PLACES: 10 })\r\n\r\n// Create another BigNumber constructor, optionally passing in a configuration object\r\nBN = BigNumber.another({ DECIMAL_PLACES: 5 })\r\n\r\nx = new BigNumber(1)\r\ny = new BN(1)\r\n\r\nx.div(3) // '0.3333333333'\r\ny.div(3) // '0.33333'\r\n```\r\n\r\nFor futher information see the [API](http://mikemcl.github.io/bignumber.js/) reference in the *doc* directory.\r\n\r\n## Test\r\n\r\nThe *test* directory contains the test scripts for each method.\r\n\r\nThe tests can be run with Node or a browser. For Node use\r\n\r\n $ npm test\r\n\r\nor\r\n\r\n $ node test/every-test\r\n\r\nTo test a single method, e.g.\r\n\r\n $ node test/toFraction\r\n\r\nFor the browser, see *every-test.html* and *single-test.html* in the *test/browser* directory. \r\n\r\n*bignumber-vs-number.html* enables some of the methods of bignumber.js to be compared with those of JavaScript's number type. \r\n\r\n## Versions\r\n\r\nThis is version 2.x.x of the library, for version 1.x.x see the tagged releases or switch to the 'original' branch. The advantages of version 2 are that it is considerably faster for numbers with many digits and that there are a some added methods (see Change Log below). The disadvantages are more lines of code and increased code complexity, and the loss of simplicity in no longer having the coefficient of a BigNumber stored in base 10. The 'original' version will continue to be supported.\r\n\r\n## Performance\r\n\r\nSee the [README](https://github.com/MikeMcl/bignumber.js/tree/master/perf) in the *perf* directory.\r\n\r\n## Build\r\n\r\nFor Node, if [uglify-js](https://github.com/mishoo/UglifyJS2) is installed\r\n\r\n npm install uglify-js -g\r\n\r\nthen\r\n\r\n npm run build\r\n\r\nwill create *bignumber.min.js*.\r\n\r\nA source map will also be created in the root directory.\r\n\r\n## Feedback\r\n\r\nOpen an issue, or email \r\n\r\nMichael\r\n\r\n<a href=\"mailto:M8ch88l@gmail.com\">M8ch88l@gmail.com</a>\r\n\r\n## Licence\r\n\r\nMIT.\r\n\r\nSee [LICENCE](https://github.com/MikeMcl/bignumber.js/blob/master/LICENCE).\r\n\r\n## Change Log\r\n\r\n####2.1.4\r\n* 15/12/2015\r\n* Correct UMD.\r\n\r\n####2.1.3\r\n* 13/12/2015\r\n* Refactor re global object and crypto availability when bundling.\r\n\r\n####2.1.2\r\n* 10/12/2015\r\n* Bugfix: `window.crypto` not assigned to `crypto`.\r\n\r\n####2.1.1\r\n* 09/12/2015\r\n* Prevent code bundler from adding `crypto` shim.\r\n\r\n####2.1.0\r\n* 26/10/2015\r\n* For `valueOf` and `toJSON`, include the minus sign with negative zero.\r\n\r\n####2.0.8\r\n* 2/10/2015\r\n* Internal round function bugfix.\r\n\r\n####2.0.6\r\n* 31/03/2015\r\n* Add bower.json. Tweak division after in-depth review.\r\n\r\n####2.0.5\r\n* 25/03/2015\r\n* Amend README. Remove bitcoin address.\r\n\r\n####2.0.4\r\n* 25/03/2015\r\n* Critical bugfix #58: division.\r\n\r\n####2.0.3\r\n* 18/02/2015\r\n* Amend README. Add source map.\r\n\r\n####2.0.2\r\n* 18/02/2015\r\n* Correct links.\r\n\r\n####2.0.1\r\n* 18/02/2015\r\n* Add `max`, `min`, `precision`, `random`, `shift`, `toDigits` and `truncated` methods.\r\n* Add the short-forms: `add`, `mul`, `sd`, `sub` and `trunc`.\r\n* Add an `another` method to enable multiple independent constructors to be created.\r\n* Add support for the base 2, 8 and 16 prefixes `0b`, `0o` and `0x`.\r\n* Enable a rounding mode to be specified as a second parameter to `toExponential`, `toFixed`, `toFormat` and `toPrecision`.\r\n* Add a `CRYPTO` configuration property so cryptographically-secure pseudo-random number generation can be specified.\r\n* Add a `MODULO_MODE` configuration property to enable the rounding mode used by the `modulo` operation to be specified.\r\n* Add a `POW_PRECISION` configuration property to enable the number of significant digits calculated by the power operation to be limited.\r\n* Improve code quality.\r\n* Improve documentation.\r\n\r\n####2.0.0\r\n* 29/12/2014\r\n* Add `dividedToIntegerBy`, `isInteger` and `toFormat` methods.\r\n* Remove the following short-forms: `isF`, `isZ`, `toE`, `toF`, `toFr`, `toN`, `toP`, `toS`.\r\n* Store a BigNumber's coefficient in base 1e14, rather than base 10.\r\n* Add fast path for integers to BigNumber constructor.\r\n* Incorporate the library into the online documentation.\r\n\r\n####1.5.0\r\n* 13/11/2014\r\n* Add `toJSON` and `decimalPlaces` methods.\r\n\r\n####1.4.1\r\n* 08/06/2014\r\n* Amend README.\r\n\r\n####1.4.0\r\n* 08/05/2014\r\n* Add `toNumber`.\r\n\r\n####1.3.0\r\n* 08/11/2013\r\n* Ensure correct rounding of `sqrt` in all, rather than almost all, cases.\r\n* Maximum radix to 64.\r\n\r\n####1.2.1\r\n* 17/10/2013\r\n* Sign of zero when x < 0 and x + (-x) = 0.\r\n\r\n####1.2.0\r\n* 19/9/2013\r\n* Throw Error objects for stack.\r\n\r\n####1.1.1\r\n* 22/8/2013\r\n* Show original value in constructor error message.\r\n\r\n####1.1.0\r\n* 1/8/2013\r\n* Allow numbers with trailing radix point. \r\n\r\n####1.0.1\r\n* Bugfix: error messages with incorrect method name\r\n\r\n####1.0.0\r\n* 8/11/2012\r\n* Initial release\r\n",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/MikeMcl/bignumber.js/issues"
},
"_id": "bignumber.js@2.1.2",
"_from": "bignumber.js@2.1.2"
"_id": "bignumber.js@2.1.4",
"dist": {
"shasum": "b970813768e14777b107d5a59b95bac488878519"
},
"_from": "bignumber.js@2.1.4",
"_resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.1.4.tgz"
}

View File

@@ -1,7 +1,7 @@
{
"name": "mysql",
"description": "A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 100% MIT licensed.",
"version": "2.10.0",
"version": "2.10.2",
"license": "MIT",
"author": {
"name": "Felix Geisendörfer",
@@ -28,12 +28,12 @@
"url": "git://github.com/felixge/node-mysql"
},
"dependencies": {
"bignumber.js": "2.1.2",
"bignumber.js": "2.1.4",
"readable-stream": "~1.1.13"
},
"devDependencies": {
"eslint": "1.10.1",
"istanbul": "0.4.1",
"istanbul": "0.4.2",
"require-all": "2.0.0",
"rimraf": "2.2.8",
"timezone-mock": "0.0.0",
@@ -62,6 +62,10 @@
"bugs": {
"url": "https://github.com/felixge/node-mysql/issues"
},
"_id": "mysql@2.10.0",
"_from": "mysql@"
"_id": "mysql@2.10.2",
"dist": {
"shasum": "89f2a839e243bef69c18c62cd706b2c3baf49ddf"
},
"_from": "mysql@",
"_resolved": "https://registry.npmjs.org/mysql/-/mysql-2.10.2.tgz"
}