nanocurrency
Version:
A toolkit for the Nano cryptocurrency, allowing you to derive keys, generate seeds, hashes, signatures, proofs of work and blocks.
21 lines (19 loc) • 74.7 kB
JavaScript
/*!
* nanocurrency-js v2.5.0: A toolkit for the Nano cryptocurrency.
* Copyright (c) 2020 Marvin ROGER <dev at marvinroger dot fr>
* Licensed under GPL-3.0 (https://git.io/vAZsK)
*/
!function(A,I){"object"==typeof exports&&"undefined"!=typeof module?I(exports,require("fs"),require("path")):"function"==typeof define&&define.amd?define(["exports","fs","path"],I):I((A=A||self).NanoCurrency={},A.fs,A.path)}(this,(function(A,I,i){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
function e(A,I,i,e){return new(i||(i=Promise))((function(r,n){function g(A){try{o(e.next(A))}catch(A){n(A)}}function t(A){try{o(e.throw(A))}catch(A){n(A)}}function o(A){var I;A.done?r(A.value):(I=A.value,I instanceof i?I:new i((function(A){A(I)}))).then(g,t)}o((e=e.apply(A,I||[])).next())}))}function r(A,I){var i,e,r,n,g={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function t(n){return function(t){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;g;)try{if(i=1,e&&(r=2&n[0]?e.return:n[0]?e.throw||((r=e.return)&&r.call(e),0):e.next)&&!(r=r.call(e,n[1])).done)return r;switch(e=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return g.label++,{value:n[1],done:!1};case 5:g.label++,e=n[1],n=[0];continue;case 7:n=g.ops.pop(),g.trys.pop();continue;default:if(!(r=(r=g.trys).length>0&&r[r.length-1])&&(6===n[0]||2===n[0])){g=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){g.label=n[1];break}if(6===n[0]&&g.label<r[1]){g.label=r[1],r=n;break}if(r&&g.label<r[2]){g.label=r[2],g.ops.push(n);break}r[2]&&g.ops.pop(),g.trys.pop();continue}n=I.call(A,g)}catch(A){n=[6,A],e=0}finally{i=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,t])}}}I=I&&I.hasOwnProperty("default")?I.default:I,i=i&&i.hasOwnProperty("default")?i.default:i;var n=function(A,I){return A(I={exports:{}},I.exports),I.exports}((function(A,e){var r,n=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(A){var e;A=A||{},e||(e=void 0!==A?A:{});var n,g={};for(n in e)e.hasOwnProperty(n)&&(g[n]=e[n]);e.arguments=[],e.thisProgram="./this.program",e.quit=function(A,I){throw I},e.preRun=[],e.postRun=[];var t=!1,o=!1,C=!1,a=!1;t="object"==typeof window,o="function"==typeof importScripts,C="object"==typeof process&&!t&&!o,a=!t&&!C&&!o;var h,f,u="";C?(u=__dirname+"/",e.read=function(A,e){var r=T(A);return r||(h||(h=I),f||(f=i),A=f.normalize(A),r=h.readFileSync(A)),e?r:r.toString()},e.readBinary=function(A){return(A=e.read(A,!0)).buffer||(A=new Uint8Array(A)),l(A.buffer),A},1<process.argv.length&&(e.thisProgram=process.argv[1].replace(/\\/g,"/")),e.arguments=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof _))throw A})),process.on("unhandledRejection",$),e.quit=function(A){process.exit(A)},e.inspect=function(){return"[Emscripten Module object]"}):a?("undefined"!=typeof read&&(e.read=function(A){var I=T(A);return I?J(I):read(A)}),e.readBinary=function(A){var I;return(I=T(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(l("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?e.arguments=scriptArgs:void 0!==arguments&&(e.arguments=arguments),"function"==typeof quit&&(e.quit=function(A){quit(A)})):(t||o)&&(o?u=self.location.href:document.currentScript&&(u=document.currentScript.src),r&&(u=r),u=0!==u.indexOf("blob:")?u.substr(0,u.lastIndexOf("/")+1):"",e.read=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){if(A=T(A))return J(A);throw I}},o&&(e.readBinary=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){if(A=T(A))return A;throw I}}),e.readAsync=function(A,I,i){var e=new XMLHttpRequest;e.open("GET",A,!0),e.responseType="arraybuffer",e.onload=function(){if(200==e.status||0==e.status&&e.response)I(e.response);else{var r=T(A);r?I(r.buffer):i()}},e.onerror=i,e.send(null)},e.setWindowTitle=function(A){document.title=A});var s=e.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),Q=e.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||s);for(n in g)g.hasOwnProperty(n)&&(e[n]=g[n]);g=void 0;var B={"f64-rem":function(A,I){return A%I},debugger:function(){}};"object"!=typeof WebAssembly&&Q("no native wasm support detected");var E,c=!1;function l(A,I){A||$("Assertion failed: "+I)}function w(A){var I=e["_"+A];return l(I,"Cannot call unknown function "+A+", make sure it is exported"),I}function U(A,I,i,e){var r={string:function(A){var I=0;if(null!=A&&0!==A){var i=1+(A.length<<2),e=I=q(i),r=d;if(0<i){i=e+i-1;for(var n=0;n<A.length;++n){var g=A.charCodeAt(n);if(55296<=g&&57343>=g&&(g=65536+((1023&g)<<10)|1023&A.charCodeAt(++n)),127>=g){if(e>=i)break;r[e++]=g}else{if(2047>=g){if(e+1>=i)break;r[e++]=192|g>>6}else{if(65535>=g){if(e+2>=i)break;r[e++]=224|g>>12}else{if(e+3>=i)break;r[e++]=240|g>>18,r[e++]=128|g>>12&63}r[e++]=128|g>>6&63}r[e++]=128|63&g}}r[e]=0}}return I},array:function(A){var I=q(A.length);return y.set(A,I),I}},n=w(A),g=[];if(A=0,e)for(var t=0;t<e.length;t++){var o=r[i[t]];o?(0===A&&(A=W()),g[t]=o(e[t])):g[t]=e[t]}return i=function(A){if("string"===I)if(A){for(var i=d,e=A+void 0,r=A;i[r]&&!(r>=e);)++r;if(16<r-A&&i.subarray&&S)A=S.decode(i.subarray(A,r));else{for(e="";A<r;){var n=i[A++];if(128&n){var g=63&i[A++];if(192==(224&n))e+=String.fromCharCode((31&n)<<6|g);else{var t=63&i[A++];65536>(n=224==(240&n)?(15&n)<<12|g<<6|t:(7&n)<<18|g<<12|t<<6|63&i[A++])?e+=String.fromCharCode(n):(n-=65536,e+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else e+=String.fromCharCode(n)}A=e}}else A="";else A="boolean"===I?!!A:A;return A}(i=n.apply(null,g)),0!==A&&Z(A),i}var S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var F,y,d,p,G=e.TOTAL_MEMORY||16777216;function D(A){for(;0<A.length;){var I=A.shift();if("function"==typeof I)I();else{var i=I.h;"number"==typeof i?void 0===I.g?e.dynCall_v(i):e.dynCall_vi(i,I.g):i(void 0===I.g?null:I.g)}}}5242880>G&&Q("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+G+"! (TOTAL_STACK=5242880)"),e.buffer?F=e.buffer:(F="object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(E=new WebAssembly.Memory({initial:G/65536,maximum:G/65536})).buffer:new ArrayBuffer(G),e.buffer=F),e.HEAP8=y=new Int8Array(F),e.HEAP16=new Int16Array(F),e.HEAP32=p=new Int32Array(F),e.HEAPU8=d=new Uint8Array(F),e.HEAPU16=new Uint16Array(F),e.HEAPU32=new Uint32Array(F),e.HEAPF32=new Float32Array(F),e.HEAPF64=new Float64Array(F),p[724]=5246032;var v=[],k=[],b=[],H=[],m=!1;function M(){var A=e.preRun.shift();v.unshift(A)}var Y=0,N=null;e.preloadedImages={},e.preloadedAudios={};var x="data:application/octet-stream;base64,";function K(A){return String.prototype.startsWith?A.startsWith(x):0===A.indexOf(x)}var R="data:application/octet-stream;base64,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NCAAIAM2AjggACADNgI8IABBQGshAAwBCwsDQCAAIAVIBEAgACADNgIAIABBBGohAAwBCwsLA0AgACAESARAIAAgAToAACAAQQFqIQAMAQsLIAQgAmsLxgMBA38gAkGAwABOBEAgACABIAIQABogAA8LIAAhBCAAIAJqIQMgAEEDcSABQQNxRgRAA0AgAEEDcQRAIAJFBEAgBA8LIAAgASwAADoAACAAQQFqIQAgAUEBaiEBIAJBAWshAgwBCwsgA0F8cSICQUBqIQUDQCAAIAVMBEAgACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAAgASgCNDYCNCAAIAEoAjg2AjggACABKAI8NgI8IABBQGshACABQUBrIQEMAQsLA0AgACACSARAIAAgASgCADYCACAAQQRqIQAgAUEEaiEBDAELCwUgA0EEayECA0AgACACSARAIAAgASwAADoAACAAIAEsAAE6AAEgACABLAACOgACIAAgASwAAzoAAyAAQQRqIQAgAUEEaiEBDAELCwsDQCAAIANIBEAgACABLAAAOgAAIABBAWohACABQQFqIQEMAQsLIAQLBwAgABAMpwuNAQEDfwJAAkAgACICQQNxRQ0AIAIiASEAAkADQCABLAAARQ0BIAFBAWoiASIAQQNxDQALIAEhAAwBCwwBCwNAIABBBGohASAAKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcUUEQCABIQAMAQsLIANB/wFxBEADQCAAQQFqIgAsAAANAAsLCyAAIAJrC+wFAgR/AX4DQCAAKAIEIgEgACgCZEkEfyAAIAFBAWo2AgQgAS0AAAUgABACCyIBIgNBIEYgA0F3akEFSXINAAsCQAJAIAFBK2sOAwABAAELIAFBLUZBH3RBH3UhBCAAKAIEIgEgACgCZEkEfyAAIAFBAWo2AgQgAS0AAAUgABACCyEBCwJ+An8CQAJAIAFBMEYEfiAAKAIEIgEgACgCZEkEfyAAIAFBAWo2AgQgAS0AAAUgABACCyIBQSByQfgARwRAIAFBkQhqLAAAIgNB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aiwAADoAAEG2CiABQf8BcUEEdkGACGosAAA6AABBtwogAUEPcUGACGosAAA6AABBuAogAkH/AXFBBHZBgAhqLAAAOgAAQbkKIAJBD3FBgAhqLAAAOgAAQboKIANB/wFxQQR2QYAIaiwAADoAAEG7CiADQQ9xQYAIaiwAADoAAEG8CiAJQf8BcUEEdkGACGosAAA6AABBvQogCUEPcUGACGosAAA6AABBvgogBUH/AXFBBHZBgAhqLAAAOgAAQb8KIAVBD3FBgAhqLAAAOgAAQcAKIAhB/wFxQQR2QYAIaiwAADoAAEHBCiAIQQ9xQYAIaiwAADoAAEHCCkEAOgAAIAckAUGwCgsGACAAJAELCABBABABQQALcAIBfwJ+IwEhASMBQYABaiQBIAFBADYCACABIAA2AgQgASAANgIsIAFBfyAAQf////8HaiAAQQBIGzYCCCABQX82AkwgAUEANgJoIAEgASgCCCIAIAEoAgRrNgJsIAEgADYCZCABEAghAyABJAEgAwuLAQECfyAAIAAsAEoiASABQf8BanI6AEogACgCFCAAKAIcSwRAIAAoAiQhASAAQQBBACABQQFxEQAAGgsgAEEANgIQIABBADYCHCAAQQA2AhQgACgCACIBQQRxBH8gACABQSByNgIAQX8FIAAgACgCLCAAKAIwaiICNgIIIAAgAjYCBCABQRt0QR91CwtEAQN/IwEhASMBQRBqJAEgABANBH9BfwUgACgCICECIAAgAUEBIAJBAXERAABBAUYEfyABLQAABUF/CwshAyABJAEgAwsEACMBCxsBAn8jASECIAAjAWokASMBQQ9qQXBxJAEgAgsLoAICAEGACAuRAjAxMjM0NTY3ODlhYmNkZWb/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBBoAoLAQE=";if(!K(R)){var L=R;R=e.locateFile?e.locateFile(L,u):u+L}function O(){try{if(e.wasmBinary)return new Uint8Array(e.wasmBinary);var A=T(R);if(A)return A;if(e.readBinary)return e.readBinary(R);throw"both async and sync fetching of the wasm failed"}catch(A){$(A)}}function P(){return e.wasmBinary||!t&&!o||"function"!=typeof fetch?new Promise((function(A){A(O())})):fetch(R,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+R+"'";return A.arrayBuffer()})).catch((function(){return O()}))}function j(A){function I(A){e.asm=A.exports,Y--,e.monitorRunDependencies&&e.monitorRunDependencies(Y),0==Y&&N&&(A=N,N=null,A())}function i(A){I(A.instance)}function r(A){P().then((function(A){return WebAssembly.instantiate(A,n)})).then(A,(function(A){Q("failed to asynchronously prepare wasm: "+A),$(A)}))}var n={env:A,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:B};if(Y++,e.monitorRunDependencies&&e.monitorRunDependencies(Y),e.instantiateWasm)try{return e.instantiateWasm(n,I)}catch(A){return Q("Module.instantiateWasm callback failed with error: "+A),!1}return e.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||K(R)||"function"!=typeof fetch?r(i):WebAssembly.instantiateStreaming(fetch(R,{credentials:"same-origin"}),n).then(i,(function(A){Q("wasm streaming compile failed: "+A),Q("falling back to ArrayBuffer instantiation"),r(i)})),{}}function J(A){for(var I=[],i=0;i<A.length;i++){var e=A[i];255<e&&(e&=255),I.push(String.fromCharCode(e))}return I.join("")}e.asm=function(A,I){return I.memory=E,I.table=new WebAssembly.Table({initial:2,maximum:2,element:"anyfunc"}),I.__memory_base=1024,I.__table_base=0,j(I)};var X="function"==typeof atob?atob:function(A){var I="",i=0;A=A.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(i++)),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(i++)),n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(i++)),g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(A.charAt(i++));e=e<<2|r>>4,r=(15&r)<<4|n>>2;var t=(3&n)<<6|g;I+=String.fromCharCode(e),64!==n&&(I+=String.fromCharCode(r)),64!==g&&(I+=String.fromCharCode(t))}while(i<A.length);return I};function T(A){if(K(A)){if(A=A.slice(x.length),"boolean"==typeof C&&C){try{var I=Buffer.from(A,"base64")}catch(i){I=new Buffer(A,"base64")}var i=new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}else try{var e=X(A),r=new Uint8Array(e.length);for(I=0;I<e.length;++I)r[I]=e.charCodeAt(I);i=r}catch(A){throw Error("Converting base64 string to bytes failed.")}return i}}var V=e.asm({},{b:$,a:function(A,I,i){d.set(d.subarray(I,I+i),A)}},F);e.asm=V,e._emscripten_work=function(){return e.asm.c.apply(null,arguments)};var q=e.stackAlloc=function(){return e.asm.d.apply(null,arguments)},Z=e.stackRestore=function(){return e.asm.e.apply(null,arguments)},W=e.stackSave=function(){return e.asm.f.apply(null,arguments)};function _(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function z(){function A(){if(!e.calledRun&&(e.calledRun=!0,!c)){if(m||(m=!0,D(k)),D(b),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var A=e.postRun.shift();H.unshift(A)}D(H)}}if(!(0<Y)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)M();D(v),0<Y||e.calledRun||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),A()}),1)):A())}}function $(A){throw e.onAbort&&e.onAbort(A),void 0!==A?(s(A),Q(A),A=JSON.stringify(A)):A="",c=!0,"abort("+A+"). Build with -s ASSERTIONS=1 for more info."}if(e.asm=V,e.cwrap=function(A,I,i,e){var r=(i=i||[]).every((function(A){return"number"===A}));return"string"!==I&&r&&!e?w(A):function(){return U(A,I,i,arguments)}},e.then=function(A){if(e.calledRun)A(e);else{var I=e.onRuntimeInitialized;e.onRuntimeInitialized=function(){I&&I(),A(e)}}return e},_.prototype=Error(),_.prototype.constructor=_,N=function A(){e.calledRun||z(),e.calledRun||(N=A)},e.run=z,e.abort=$,e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return e.noExitRuntime=!0,z(),A});A.exports=n})),g=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,t=Math.ceil,o=Math.floor,C="[BigNumber Error] ",a=C+"Number primitive has more than 15 significant digits: ",h=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function f(A){var I=0|A;return A>0||A===I?I:I-1}function u(A){for(var I,i,e=1,r=A.length,n=A[0]+"";e<r;){for(i=14-(I=A[e++]+"").length;i--;I="0"+I);n+=I}for(r=n.length;48===n.charCodeAt(--r););return n.slice(0,r+1||1)}function s(A,I){var i,e,r=A.c,n=I.c,g=A.s,t=I.s,o=A.e,C=I.e;if(!g||!t)return null;if(i=r&&!r[0],e=n&&!n[0],i||e)return i?e?0:-t:g;if(g!=t)return g;if(i=g<0,e=o==C,!r||!n)return e?0:!r^i?1:-1;if(!e)return o>C^i?1:-1;for(t=(o=r.length)<(C=n.length)?o:C,g=0;g<t;g++)if(r[g]!=n[g])return r[g]>n[g]^i?1:-1;return o==C?0:o>C^i?1:-1}function Q(A,I,i,e){if(A<I||A>i||A!==o(A))throw Error(C+(e||"Argument")+("number"==typeof A?A<I||A>i?" out of range: ":" not an integer: ":" not a primitive number: ")+String(A))}function B(A){var I=A.c.length-1;return f(A.e/14)==I&&A.c[I]%2!=0}function E(A,I){return(A.length>1?A.charAt(0)+"."+A.slice(1):A)+(I<0?"e":"e+")+I}function c(A,I,i){var e,r;if(I<0){for(r=i+".";++I;r+=i);A=r+A}else if(++I>(e=A.length)){for(r=i,I-=e;--I;r+=i);A+=r}else I<e&&(A=A.slice(0,I)+"."+A.slice(I));return A}var l=function A(I){var i,e,r,n,l,w,U,S,F,y=x.prototype={constructor:x,toString:null,valueOf:null},d=new x(1),p=20,G=4,D=-7,v=21,k=-1e7,b=1e7,H=!1,m=1,M=0,Y={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},N="0123456789abcdefghijklmnopqrstuvwxyz";function x(A,I){var i,n,t,C,h,f,u,s,B=this;if(!(B instanceof x))return new x(A,I);if(null==I){if(A&&!0===A._isBigNumber)return B.s=A.s,void(!A.c||A.e>b?B.c=B.e=null:A.e<k?B.c=[B.e=0]:(B.e=A.e,B.c=A.c.slice()));if((f="number"==typeof A)&&0*A==0){if(B.s=1/A<0?(A=-A,-1):1,A===~~A){for(C=0,h=A;h>=10;h/=10,C++);return void(C>b?B.c=B.e=null:(B.e=C,B.c=[A]))}s=String(A)}else{if(!g.test(s=String(A)))return r(B,s,f);B.s=45==s.charCodeAt(0)?(s=s.slice(1),-1):1}(C=s.indexOf("."))>-1&&(s=s.replace(".","")),(h=s.search(/e/i))>0?(C<0&&(C=h),C+=+s.slice(h+1),s=s.substring(0,h)):C<0&&(C=s.length)}else{if(Q(I,2,N.length,"Base"),10==I)return O(B=new x(A),p+B.e+1,G);if(s=String(A),f="number"==typeof A){if(0*A!=0)return r(B,s,f,I);if(B.s=1/A<0?(s=s.slice(1),-1):1,x.DEBUG&&s.replace(/^0\.0*|\./,"").length>15)throw Error(a+A)}else B.s=45===s.charCodeAt(0)?(s=s.slice(1),-1):1;for(i=N.slice(0,I),C=h=0,u=s.length;h<u;h++)if(i.indexOf(n=s.charAt(h))<0){if("."==n){if(h>C){C=u;continue}}else if(!t&&(s==s.toUpperCase()&&(s=s.toLowerCase())||s==s.toLowerCase()&&(s=s.toUpperCase()))){t=!0,h=-1,C=0;continue}return r(B,String(A),f,I)}f=!1,(C=(s=e(s,I,10,B.s)).indexOf("."))>-1?s=s.replace(".",""):C=s.length}for(h=0;48===s.charCodeAt(h);h++);for(u=s.length;48===s.charCodeAt(--u););if(s=s.slice(h,++u)){if(u-=h,f&&x.DEBUG&&u>15&&(A>9007199254740991||A!==o(A)))throw Error(a+B.s*A);if((C=C-h-1)>b)B.c=B.e=null;else if(C<k)B.c=[B.e=0];else{if(B.e=C,B.c=[],h=(C+1)%14,C<0&&(h+=14),h<u){for(h&&B.c.push(+s.slice(0,h)),u-=14;h<u;)B.c.push(+s.slice(h,h+=14));h=14-(s=s.slice(h)).length}else h-=u;for(;h--;s+="0");B.c.push(+s)}}else B.c=[B.e=0]}function K(A,I,i,e){var r,n,g,t,o;if(null==i?i=G:Q(i,0,8),!A.c)return A.toString();if(r=A.c[0],g=A.e,null==I)o=u(A.c),o=1==e||2==e&&(g<=D||g>=v)?E(o,g):c(o,g,"0");else if(n=(A=O(new x(A),I,i)).e,t=(o=u(A.c)).length,1==e||2==e&&(I<=n||n<=D)){for(;t<I;o+="0",t++);o=E(o,n)}else if(I-=g,o=c(o,n,"0"),n+1>t){if(--I>0)for(o+=".";I--;o+="0");}else if((I+=n-t)>0)for(n+1==t&&(o+=".");I--;o+="0");return A.s<0&&r?"-"+o:o}function R(A,I){for(var i,e=1,r=new x(A[0]);e<A.length;e++){if(!(i=new x(A[e])).s){r=i;break}I.call(r,i)&&(r=i)}return r}function L(A,I,i){for(var e=1,r=I.length;!I[--r];I.pop());for(r=I[0];r>=10;r/=10,e++);return(i=e+14*i-1)>b?A.c=A.e=null:i<k?A.c=[A.e=0]:(A.e=i,A.c=I),A}function O(A,I,i,e){var r,n,g,C,a,f,u,s=A.c,Q=h;if(s){A:{for(r=1,C=s[0];C>=10;C/=10,r++);if((n=I-r)<0)n+=14,g=I,u=(a=s[f=0])/Q[r-g-1]%10|0;else if((f=t((n+1)/14))>=s.length){if(!e)break A;for(;s.length<=f;s.push(0));a=u=0,r=1,g=(n%=14)-14+1}else{for(a=C=s[f],r=1;C>=10;C/=10,r++);u=(g=(n%=14)-14+r)<0?0:a/Q[r-g-1]%10|0}if(e=e||I<0||null!=s[f+1]||(g<0?a:a%Q[r-g-1]),e=i<4?(u||e)&&(0==i||i==(A.s<0?3:2)):u>5||5==u&&(4==i||e||6==i&&(n>0?g>0?a/Q[r-g]:0:s[f-1])%10&1||i==(A.s<0?8:7)),I<1||!s[0])return s.length=0,e?(I-=A.e+1,s[0]=Q[(14-I%14)%14],A.e=-I||0):s[0]=A.e=0,A;if(0==n?(s.length=f,C=1,f--):(s.length=f+1,C=Q[14-n],s[f]=g>0?o(a/Q[r-g]%Q[g])*C:0),e)for(;;){if(0==f){for(n=1,g=s[0];g>=10;g/=10,n++);for(g=s[0]+=C,C=1;g>=10;g/=10,C++);n!=C&&(A.e++,1e14==s[0]&&(s[0]=1));break}if(s[f]+=C,1e14!=s[f])break;s[f--]=0,C=1}for(n=s.length;0===s[--n];s.pop());}A.e>b?A.c=A.e=null:A.e<k&&(A.c=[A.e=0])}return A}function P(A){var I,i=A.e;return null===i?A.toString():(I=u(A.c),I=i<=D||i>=v?E(I,i):c(I,i,"0"),A.s<0?"-"+I:I)}return x.clone=A,x.ROUND_UP=0,x.ROUND_DOWN=1,x.ROUND_CEIL=2,x.ROUND_FLOOR=3,x.ROUND_HALF_UP=4,x.ROUND_HALF_DOWN=5,x.ROUND_HALF_EVEN=6,x.ROUND_HALF_CEIL=7,x.ROUND_HALF_FLOOR=8,x.EUCLID=9,x.config=x.set=function(A){var I,i;if(null!=A){if("object"!=typeof A)throw Error(C+"Object expected: "+A);if(A.hasOwnProperty(I="DECIMAL_PLACES")&&(Q(i=A[I],0,1e9,I),p=i),A.hasOwnProperty(I="ROUNDING_MODE")&&(Q(i=A[I],0,8,I),G=i),A.hasOwnProperty(I="EXPONENTIAL_AT")&&((i=A[I])&&i.pop?(Q(i[0],-1e9,0,I),Q(i[1],0,1e9,I),D=i[0],v=i[1]):(Q(i,-1e9,1e9,I),D=-(v=i<0?-i:i))),A.hasOwnProperty(I="RANGE"))if((i=A[I])&&i.pop)Q(i[0],-1e9,-1,I),Q(i[1],1,1e9,I),k=i[0],b=i[1];else{if(Q(i,-1e9,1e9,I),!i)throw Error(C+I+" cannot be zero: "+i);k=-(b=i<0?-i:i)}if(A.hasOwnProperty(I="CRYPTO")){if((i=A[I])!==!!i)throw Error(C+I+" not true or false: "+i);if(i){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw H=!i,Error(C+"crypto unavailable");H=i}else H=i}if(A.hasOwnProperty(I="MODULO_MODE")&&(Q(i=A[I],0,9,I),m=i),A.hasOwnProperty(I="POW_PRECISION")&&(Q(i=A[I],0,1e9,I),M=i),A.hasOwnProperty(I="FORMAT")){if("object"!=typeof(i=A[I]))throw Error(C+I+" not an object: "+i);Y=i}if(A.hasOwnProperty(I="ALPHABET")){if("string"!=typeof(i=A[I])||/^.$|[+-.\s]|(.).*\1/.test(i))throw Error(C+I+" invalid: "+i);N=i}}return{DECIMAL_PLACES:p,ROUNDING_MODE:G,EXPONENTIAL_AT:[D,v],RANGE:[k,b],CRYPTO:H,MODULO_MODE:m,POW_PRECISION:M,FORMAT:Y,ALPHABET:N}},x.isBigNumber=function(A){if(!A||!0!==A._isBigNumber)return!1;if(!x.DEBUG)return!0;var I,i,e=A.c,r=A.e,n=A.s;A:if("[object Array]"=={}.toString.call(e)){if((1===n||-1===n)&&r>=-1e9&&r<=1e9&&r===o(r)){if(0===e[0]){if(0===r&&1===e.length)return!0;break A}if((I=(r+1)%14)<1&&(I+=14),String(e[0]).length==I){for(I=0;I<e.length;I++)if((i=e[I])<0||i>=1e14||i!==o(i))break A;if(0!==i)return!0}}}else if(null===e&&null===r&&(null===n||1===n||-1===n))return!0;throw Error(C+"Invalid BigNumber: "+A)},x.maximum=x.max=function(){return R(arguments,y.lt)},x.minimum=x.min=function(){return R(arguments,y.gt)},x.random=(n=9007199254740992*Math.random()&2097151?function(){return o(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(A){var I,i,e,r,g,a=0,f=[],u=new x(d);if(null==A?A=p:Q(A,0,1e9),r=t(A/14),H)if(crypto.getRandomValues){for(I=crypto.getRandomValues(new Uint32Array(r*=2));a<r;)(g=131072*I[a]+(I[a+1]>>>11))>=9e15?(i=crypto.getRandomValues(new Uint32Array(2)),I[a]=i[0],I[a+1]=i[1]):(f.push(g%1e14),a+=2);a=r/2}else{if(!crypto.randomBytes)throw H=!1,Error(C+"crypto unavailable");for(I=crypto.randomBytes(r*=7);a<r;)(g=281474976710656*(31&I[a])+1099511627776*I[a+1]+4294967296*I[a+2]+16777216*I[a+3]+(I[a+4]<<16)+(I[a+5]<<8)+I[a+6])>=9e15?crypto.randomBytes(7).copy(I,a):(f.push(g%1e14),a+=7);a=r/7}if(!H)for(;a<r;)(g=n())<9e15&&(f[a++]=g%1e14);for(A%=14,(r=f[--a])&&A&&(g=h[14-A],f[a]=o(r/g)*g);0===f[a];f.pop(),a--);if(a<0)f=[e=0];else{for(e=-1;0===f[0];f.splice(0,1),e-=14);for(a=1,g=f[0];g>=10;g/=10,a++);a<14&&(e-=14-a)}return u.e=e,u.c=f,u}),x.sum=function(){for(var A=1,I=arguments,i=new x(I[0]);A<I.length;)i=i.plus(I[A++]);return i},e=function(){function A(A,I,i,e){for(var r,n,g=[0],t=0,o=A.length;t<o;){for(n=g.length;n--;g[n]*=I);for(g[0]+=e.indexOf(A.charAt(t++)),r=0;r<g.length;r++)g[r]>i-1&&(null==g[r+1]&&(g[r+1]=0),g[r+1]+=g[r]/i|0,g[r]%=i)}return g.reverse()}return function(I,e,r,n,g){var t,o,C,a,h,f,s,Q,B=I.indexOf("."),E=p,l=G;for(B>=0&&(a=M,M=0,I=I.replace(".",""),f=(Q=new x(e)).pow(I.length-B),M=a,Q.c=A(c(u(f.c),f.e,"0"),10,r,"0123456789"),Q.e=Q.c.length),C=a=(s=A(I,e,r,g?(t=N,"0123456789"):(t="0123456789",N))).length;0==s[--a];s.pop());if(!s[0])return t.charAt(0);if(B<0?--C:(f.c=s,f.e=C,f.s=n,s=(f=i(f,Q,E,l,r)).c,h=f.r,C=f.e),B=s[o=C+E+1],a=r/2,h=h||o<0||null!=s[o+1],h=l<4?(null!=B||h)&&(0==l||l==(f.s<0?3:2)):B>a||B==a&&(4==l||h||6==l&&1&s[o-1]||l==(f.s<0?8:7)),o<1||!s[0])I=h?c(t.charAt(1),-E,t.charAt(0)):t.charAt(0);else{if(s.length=o,h)for(--r;++s[--o]>r;)s[o]=0,o||(++C,s=[1].concat(s));for(a=s.length;!s[--a];);for(B=0,I="";B<=a;I+=t.charAt(s[B++]));I=c(I,C,t.charAt(0))}return I}}(),i=function(){function A(A,I,i){var e,r,n,g,t=0,o=A.length,C=I%1e7,a=I/1e7|0;for(A=A.slice();o--;)t=((r=C*(n=A[o]%1e7)+(e=a*n+(g=A[o]/1e7|0)*C)%1e7*1e7+t)/i|0)+(e/1e7|0)+a*g,A[o]=r%i;return t&&(A=[t].concat(A)),A}function I(A,I,i,e){var r,n;if(i!=e)n=i>e?1:-1;else for(r=n=0;r<i;r++)if(A[r]!=I[r]){n=A[r]>I[r]?1:-1;break}return n}function i(A,I,i,e){for(var r=0;i--;)A[i]-=r,r=A[i]<I[i]?1:0,A[i]=r*e+A[i]-I[i];for(;!A[0]&&A.length>1;A.splice(0,1));}return function(e,r,n,g,t){var C,a,h,u,s,Q,B,E,c,l,w,U,S,F,y,d,p,G=e.s==r.s?1:-1,D=e.c,v=r.c;if(!(D&&D[0]&&v&&v[0]))return new x(e.s&&r.s&&(D?!v||D[0]!=v[0]:v)?D&&0==D[0]||!v?0*G:G/0:NaN);for(c=(E=new x(G)).c=[],G=n+(a=e.e-r.e)+1,t||(t=1e14,a=f(e.e/14)-f(r.e/14),G=G/14|0),h=0;v[h]==(D[h]||0);h++);if(v[h]>(D[h]||0)&&a--,G<0)c.push(1),u=!0;else{for(F=D.length,d=v.length,h=0,G+=2,(s=o(t/(v[0]+1)))>1&&(v=A(v,s,t),D=A(D,s,t),d=v.length,F=D.length),S=d,w=(l=D.slice(0,d)).length;w<d;l[w++]=0);p=v.slice(),p=[0].concat(p),y=v[0],v[1]>=t/2&&y++;do{if(s=0,(C=I(v,l,d,w))<0){if(U=l[0],d!=w&&(U=U*t+(l[1]||0)),(s=o(U/y))>1)for(s>=t&&(s=t-1),B=(Q=A(v,s,t)).length,w=l.length;1==I(Q,l,B,w);)s--,i(Q,d<B?p:v,B,t),B=Q.length,C=1;else 0==s&&(C=s=1),B=(Q=v.slice()).length;if(B<w&&(Q=[0].concat(Q)),i(l,Q,w,t),w=l.length,-1==C)for(;I(v,l,d,w)<1;)s++,i(l,d<w?p:v,w,t),w=l.length}else 0===C&&(s++,l=[0]);c[h++]=s,l[0]?l[w++]=D[S]||0:(l=[D[S]],w=1)}while((S++<F||null!=l[0])&&G--);u=null!=l[0],c[0]||c.splice(0,1)}if(1e14==t){for(h=1,G=c[0];G>=10;G/=10,h++);O(E,n+(E.e=h+14*a-1)+1,g,u)}else E.e=a,E.r=+u;return E}}(),l=/^(-?)0([xbo])(?=\w[\w.]*$)/i,w=/^([^.]+)\.$/,U=/^\.([^.]+)$/,S=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g,r=function(A,I,i,e){var r,n=i?I:I.replace(F,"");if(S.test(n))A.s=isNaN(n)?null:n<0?-1:1;else{if(!i&&(n=n.replace(l,(function(A,I,i){return r="x"==(i=i.toLowerCase())?16:"b"==i?2:8,e&&e!=r?A:I})),e&&(r=e,n=n.replace(w,"$1").replace(U,"0.$1")),I!=n))return new x(n,r);if(x.DEBUG)throw Error(C+"Not a"+(e?" base "+e:"")+" number: "+I);A.s=null}A.c=A.e=null},y.absoluteValue=y.abs=function(){var A=new x(this);return A.s<0&&(A.s=1),A},y.comparedTo=function(A,I){return s(this,new x(A,I))},y.decimalPlaces=y.dp=function(A,I){var i,e,r,n=this;if(null!=A)return Q(A,0,1e9),null==I?I=G:Q(I,0,8),O(new x(n),A+n.e+1,I);if(!(i=n.c))return null;if(e=14*((r=i.length-1)-f(this.e/14)),r=i[r])for(;r%10==0;r/=10,e--);return e<0&&(e=0),e},y.dividedBy=y.div=function(A,I){return i(this,new x(A,I),p,G)},y.dividedToIntegerBy=y.idiv=function(A,I){return i(this,new x(A,I),0,1)},y.exponentiatedBy=y.pow=function(A,I){var i,e,r,n,g,a,h,f,u=this;if((A=new x(A)).c&&!A.isInteger())throw Error(C+"Exponent not an integer: "+P(A));if(null!=I&&(I=new x(I)),g=A.e>14,!u.c||!u.c[0]||1==u.c[0]&&!u.e&&1==u.c.length||!A.c||!A.c[0])return f=new x(Math.pow(+P(u),g?2-B(A):+P(A))),I?f.mod(I):f;if(a=A.s<0,I){if(I.c?!I.c[0]:!I.s)return new x(NaN);(e=!a&&u.isInteger()&&I.isInteger())&&(u=u.mod(I))}else{if(A.e>9&&(u.e>0||u.e<-1||(0==u.e?u.c[0]>1||g&&u.c[1]>=24e7:u.c[0]<8e13||g&&u.c[0]<=9999975e7)))return n=u.s<0&&B(A)?-0:0,u.e>-1&&(n=1/n),new x(a?1/n:n);M&&(n=t(M/14+2))}for(g?(i=new x(.5),a&&(A.s=1),h=B(A)):h=(r=Math.abs(+P(A)))%2,f=new x(d);;){if(h){if(!(f=f.times(u)).c)break;n?f.c.length>n&&(f.c.length=n):e&&(f=f.mod(I))}if(r){if(0===(r=o(r/2)))break;h=r%2}else if(O(A=A.times(i),A.e+1,1),A.e>14)h=B(A);else{if(0===(r=+P(A)))break;h=r%2}u=u.times(u),n?u.c&&u.c.length>n&&(u.c.length=n):e&&(u=u.mod(I))}return e?f:(a&&(f=d.div(f)),I?f.mod(I):n?O(f,M,G,void 0):f)},y.integerValue=function(A){var I=new x(this);return null==A?A=G:Q(A,0,8),O(I,I.e+1,A)},y.isEqualTo=y.eq=function(A,I){return 0===s(this,new x(A,I))},y.isFinite=function(){return!!this.c},y.isGreaterThan=y.gt=function(A,I){return s(this,new x(A,I))>0},y.isGreaterThanOrEqualTo=y.gte=function(A,I){return 1===(I=s(this,new x(A,I)))||0===I},y.isInteger=function(){return!!this.c&&f(this.e/14)>this.c.length-2},y.isLessThan=y.lt=function(A,I){return s(this,new x(A,I))<0},y.isLessThanOrEqualTo=y.lte=function(A,I){return-1===(I=s(this,new x(A,I)))||0===I},y.isNaN=function(){return!this.s},y.isNegative=function(){return this.s<0},y.isPositive=function(){return this.s>0},y.isZero=function(){return!!this.c&&0==this.c[0]},y.minus=function(A,I){var i,e,r,n,g=this,t=g.s;if(I=(A=new x(A,I)).s,!t||!I)return new x(NaN);if(t!=I)return A.s=-I,g.plus(A);var o=g.e/14,C=A.e/14,a=g.c,h=A.c;if(!o||!C){if(!a||!h)return a?(A.s=-I,A):new x(h?g:NaN);if(!a[0]||!h[0])return h[0]?(A.s=-I,A):new x(a[0]?g:3==G?-0:0)}if(o=f(o),C=f(C),a=a.slice(),t=o-C){for((n=t<0)?(t=-t,r=a):(C=o,r=h),r.reverse(),I=t;I--;r.push(0));r.reverse()}else for(e=(n=(t=a.length)<(I=h.length))?t:I,t=I=0;I<e;I++)if(a[I]!=h[I]){n=a[I]<h[I];break}if(n&&(r=a,a=h,h=r,A.s=-A.s),(I=(e=h.length)-(i=a.length))>0)for(;I--;a[i++]=0);for(I=1e14-1;e>t;){if(a[--e]<h[e]){for(i=e;i&&!a[--i];a[i]=I);--a[i],a[e]+=1e14}a[e]-=h[e]}for(;0==a[0];a.splice(0,1),--C);return a[0]?L(A,a,C):(A.s=3==G?-1:1,A.c=[A.e=0],A)},y.modulo=y.mod=function(A,I){var e,r,n=this;return A=new x(A,I),!n.c||!A.s||A.c&&!A.c[0]?new x(NaN):!A.c||n.c&&!n.c[0]?new x(n):(9==m?(r=A.s,A.s=1,e=i(n,A,0,3),A.s=r,e.s*=r):e=i(n,A,0,m),(A=n.minus(e.times(A))).c[0]||1!=m||(A.s=n.s),A)},y.multipliedBy=y.times=function(A,I){var i,e,r,n,g,t,o,C,a,h,u,s,Q,B=this,E=B.c,c=(A=new x(A,I)).c;if(!(E&&c&&E[0]&&c[0]))return!B.s||!A.s||E&&!E[0]&&!c||c&&!c[0]&&!E?A.c=A.e=A.s=null:(A.s*=B.s,E&&c?(A.c=[0],A.e=0):A.c=A.e=null),A;for(e=f(B.e/14)+f(A.e/14),A.s*=B.s,(o=E.length)<(h=c.length)&&(Q=E,E=c,c=Q,r=o,o=h,h=r),r=o+h,Q=[];r--;Q.push(0));for(1e14,1e7,r=h;--r>=0;){for(i=0,u=c[r]%1e7,s=c[r]/1e7|0,n=r+(g=o);n>r;)i=((C=u*(C=E[--g]%1e7)+(t=s*C+(a=E[g]/1e7|0)*u)%1e7*1e7+Q[n]+i)/1e14|0)+(t/1e7|0)+s*a,Q[n--]=C%1e14;Q[n]=i}return i?++e:Q.splice(0,1),L(A,Q,e)},y.negated=function(){var A=new x(this);return A.s=-A.s||null,A},y.plus=function(A,I){var i,e=this,r=e.s;if(I=(A=new x(A,I)).s,!r||!I)return new x(NaN);if(r!=I)return A.s=-I,e.minus(A);var n=e.e/14,g=A.e/14,t=e.c,o=A.c;if(!n||!g){if(!t||!o)return new x(r/0);if(!t[0]||!o[0])return o[0]?A:new x(t[0]?e:0*r)}if(n=f(n),g=f(g),t=t.slice(),r=n-g){for(r>0?(g=n,i=o):(r=-r,i=t),i.reverse();r--;i.push(0));i.reverse()}for((r=t.length)-(I=o.length)<0&&(i=o,o=t,t=i,I=r),r=0;I;)r=(t[--I]=t[I]+o[I]+r)/1e14|0,t[I]=1e14===t[I]?0:t[I]%1e14;return r&&(t=[r].concat(t),++g),L(A,t,g)},y.precision=y.sd=function(A,I){var i,e,r,n=this;if(null!=A&&A!==!!A)return Q(A,1,1e9),null==I?I=G:Q(I,0,8),O(new x(n),A,I);if(!(i=n.c))return null;if(e=14*(r=i.length-1)+1,r=i[r]){for(;r%10==0;r/=10,e--);for(r=i[0];r>=10;r/=10,e++);}return A&&n.e+1>e&&(e=n.e+1),e},y.shiftedBy=function(A){return Q(A,-9007199254740991,9007199254740991),this.times("1e"+A)},y.squareRoot=y.sqrt=function(){var A,I,e,r,n,g=this,t=g.c,o=g.s,C=g.e,a=p+4,h=new x("0.5");if(1!==o||!t||!t[0])return new x(!o||o<0&&(!t||t[0])?NaN:t?g:1/0);if(0==(o=Math.sqrt(+P(g)))||o==1/0?(((I=u(t)).length+C)%2==0&&(I+="0"),o=Math.sqrt(+I),C=f((C+1)/2)-(C<0||C%2),e=new x(I=o==1/0?"1e"+C:(I=o.toExponential()).slice(0,I.indexOf("e")+1)+C)):e=new x(o+""),e.c[0])for((o=(C=e.e)+a)<3&&(o=0);;)if(n=e,e=h.times(n.plus(i(g,n,a,1))),u(n.c).slice(0,o)===(I=u(e.c)).slice(0,o)){if(e.e<C&&--o,"9999"!=(I=I.slice(o-3,o+1))&&(r||"4999"!=I)){+I&&(+I.slice(1)||"5"!=I.charAt(0))||(O(e,e.e+p+2,1),A=!e.times(e).eq(g));break}if(!r&&(O(n,n.e+p+2,0),n.times(n).eq(g))){e=n;break}a+=4,o+=4,r=1}return O(e,e.e+p+1,G,A)},y.toExponential=function(A,I){return null!=A&&(Q(A,0,1e9),A++),K(this,A,I,1)},y.toFixed=function(A,I){return null!=A&&(Q(A,0,1e9),A=A+this.e+1),K(this,A,I)},y.toFormat=function(A,I,i){var e,r=this;if(null==i)null!=A&&I&&"object"==typeof I?(i=I,I=null):A&&"object"==typeof A?(i=A,A=I=null):i=Y;else if("object"!=typeof i)throw Error(C+"Argument not an object: "+i);if(e=r.toFixed(A,I),r.c){var n,g=e.split("."),t=+i.groupSize,o=+i.secondaryGroupSize,a=i.groupSeparator||"",h=g[0],f=g[1],u=r.s<0,s=u?h.slice(1):h,Q=s.length;if(o&&(n=t,t=o,o=n,Q-=n),t>0&&Q>0){for(n=Q%t||t,h=s.substr(0,n);n<Q;n+=t)h+=a+s.substr(n,t);o>0&&(h+=a+s.slice(n)),u&&(h="-"+h)}e=f?h+(i.decimalSeparator||"")+((o=+i.fractionGroupSize)?f.replace(new RegExp("\\d{"+o+"}\\B","g"),"$&"+(i.fractionGroupSeparator||"")):f):h}return(i.prefix||"")+e+(i.suffix||"")},y.toFraction=function(A){var I,e,r,n,g,t,o,a,f,s,Q,B,E=this,c=E.c;if(null!=A&&(!(o=new x(A)).isInteger()&&(o.c||1!==o.s)||o.lt(d)))throw Error(C+"Argument "+(o.isInteger()?"out of range: ":"not an integer: ")+P(o));if(!c)return new x(E);for(I=new x(d),f=e=new x(d),r=a=new x(d),B=u(c),g=I.e=B.length-E.e-1,I.c[0]=h[(t=g%14)<0?14+t:t],A=!A||o.comparedTo(I)>0?g>0?I:f:o,t=b,b=1/0,o=new x(B),a.c[0]=0;s=i(o,I,0,1),1!=(n=e.plus(s.times(r))).comparedTo(A);)e=r,r=n,f=a.plus(s.times(n=f)),a=n,I=o.minus(s.times(n=I)),o=n;return n=i(A.minus(e),r,0,1),a=a.plus(n.times(f)),e=e.plus(n.times(r)),a.s=f.s=E.s,Q=i(f,r,g*=2,G).minus(E).abs().comparedTo(i(a,e,g,G).minus(E).abs())<1?[f,r]:[a,e],b=t,Q},y.toNumber=function(){return+P(this)},y.toPrecision=function(A,I){return null!=A&&Q(A,1,1e9),K(this,A,I,2)},y.toString=function(A){var I,i=this,r=i.s,n=i.e;return null===n?r?(I="Infinity",r<0&&(I="-"+I)):I="NaN":(null==A?I=n<=D||n>=v?E(u(i.c),n):c(u(i.c),n,"0"):10===A?I=c(u((i=O(new x(i),p+n+1,G)).c),i.e,"0"):(Q(A,2,N.length,"Base"),I=e(c(u(i.c),n,"0"),10,A,r,!0)),r<0&&i.c[0]&&(I="-"+I)),I},y.valueOf=y.toJSON=function(){return P(this)},y._isBigNumber=!0,y[Symbol.toSt