text: var userbase=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=223)}([function(e,t){!function(){"use strict";for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=new Uint8Array(256),n=0;n<e.length;n++)r[e.charCodeAt(n)]=n;t.encode=function(t){var r,n=new Uint8Array(t),i=n.length,a="";for(r=0;r<i;r+=3)a+=e[n[r]>>2],a+=e[(3&n[r])<<4|n[r+1]>>4],a+=e[(15&n[r+1])<<2|n[r+2]>>6],a+=e[63&n[r+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},t.decode=function(e){var t,n,i,a,s,o=.75*e.length,c=e.length,f=0;"="===e[e.length-1]&&(o--,"="===e[e.length-2]&&o--);var u=new ArrayBuffer(o),h=new Uint8Array(u);for(t=0;t<c;t+=4)n=r[e.charCodeAt(t)],i=r[e.charCodeAt(t+1)],a=r[e.charCodeAt(t+2)],s=r[e.charCodeAt(t+3)],h[f++]=n<<2|i>>4,h[f++]=(15&i)<<4|a>>2,h[f++]=(3&a)<<6|63&s;return u}}()},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},function(e,t,r){
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
  var n=r(4),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=s),s.prototype=Object.create(i.prototype),a(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t){var r,n,i=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var c,f=[],u=!1,h=-1;function d(){u&&c&&(u=!1,c.length?f=c.concat(f):h=-1,f.length&&l())}function l(){if(!u){var e=o(d);u=!0;for(var t=f.length;t;){for(c=f,f=[];++h<t;)c&&c[h].run();h=-1,t=f.length}c=null,u=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function b(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];f.push(new p(e,t)),1!==f.length||u||o(l)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=b,i.addListener=b,i.once=b,i.off=b,i.removeListener=b,i.removeAllListeners=b,i.emit=b,i.prependListener=b,i.prependOnceListener=b,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){"use strict";(function(e){
  /*!
   * The buffer module from node.js, for the browser.
   *
   * @author   Feross Aboukhadijeh <http://feross.org>
   * @license  MIT
   */
  var n=r(119),i=r(120),a=r(56);function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,r){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return f(this,e,t,r)}function f(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=d(e,t);return e}(e,t,r,n):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!c.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|p(t,r),i=(e=o(e,n)).write(t,r);i!==n&&(e=e.slice(0,i));return e}(e,t,r):function(e,t){if(c.isBuffer(t)){var r=0|l(t.length);return 0===(e=o(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?o(e,0):d(e,t);if("Buffer"===t.type&&a(t.data))return d(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(u(t),e=o(e,t<0?0:0|l(t)),!c.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function d(e,t){var r=t.length<0?0:0|l(t.length);e=o(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function l(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(e).length;default:if(n)return q(e).length;t=(""+t).toLowerCase(),n=!0}}function b(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return x(this,t,r);case"utf8":case"utf-8":return A(this,t,r);case"ascii":return I(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return k(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function g(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:y(e,t,r,n,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):y(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){var a,s=1,o=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,c/=2,r/=2}function f(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var u=-1;for(a=r;a<o;a++)if(f(e,a)===f(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===c)return u*s}else-1!==u&&(a-=a-u),u=-1}else for(r+c>o&&(r=o-c),a=r;a>=0;a--){for(var h=!0,d=0;d<c;d++)if(f(e,a+d)!==f(t,d)){h=!1;break}if(h)return a}return-1}function w(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(t.substr(2*s,2),16);if(isNaN(o))return s;e[r+s]=o}return s}function v(e,t,r,n){return F(q(t,e.length-r),e,r,n)}function _(e,t,r,n){return F(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function M(e,t,r,n){return _(e,t,r,n)}function S(e,t,r,n){return F(K(t),e,r,n)}function E(e,t,r,n){return F(function(e,t){for(var r,n,i,a=[],s=0;s<e.length&&!((t-=2)<0);++s)r=e.charCodeAt(s),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function k(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function A(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a,s,o,c,f=e[i],u=null,h=f>239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(u=f);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&f)<<6|63&a)>127&&(u=c);break;case 3:a=e[i+1],s=e[i+2],128==(192&a)&&128==(192&s)&&(c=(15&f)<<12|(63&a)<<6|63&s)>2047&&(c<55296||c>57343)&&(u=c);break;case 4:a=e[i+1],s=e[i+2],o=e[i+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(c=(15&f)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&c<1114112&&(u=c)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return r}(n)}t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,r){return f(null,e,t,r)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?o(e,t):void 0!==r?"string"==typeof n?o(e,t).fill(r,n):o(e,t).fill(r):o(e,t)}(null,e,t,r)},c.allocUnsafe=function(e){return h(null,e)},c.allocUnsafeSlow=function(e){return h(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=c.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var s=e[r];if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,i),i+=s.length}return n},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?A(this,0,e):b.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,r,n,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0),o=Math.min(a,s),f=this.slice(n,i),u=e.slice(t,r),h=0;h<o;++h)if(f[h]!==u[h]){a=f[h],s=u[h];break}return a<s?-1:s<a?1:0},c.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},c.prototype.indexOf=function(e,t,r){return g(this,e,t,r,!0)},c.prototype.lastIndexOf=function(e,t,r){return g(this,e,t,r,!1)},c.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return _(this,e,t,r);case"latin1":case"binary":return M(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function I(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function R(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function x(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=L(e[a]);return i}function B(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function P(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,r,n,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function N(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function D(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function O(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(e,t,r,n,a){return a||O(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function C(e,t,r,n,a){return a||O(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=c.prototype;else{var i=t-e;r=new c(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},c.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},c.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUInt8=function(e,t){return t||P(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||P(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||P(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||P(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||P(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||P(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||P(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||P(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||P(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||T(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},c.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||T(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):D(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);T(this,e,t,r,i-1,-i)}var a=0,s=1,o=0;for(this[t]=255&e;++a<r&&(s*=256);)e<0&&0===o&&0!==this[t+a-1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);T(this,e,t,r,i-1,-i)}var a=r-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):D(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return U(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return U(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return C(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return C(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,a=n-r;if(this===e&&r<t&&t<n)for(i=a-1;i>=0;--i)e[i+t]=this[i+r];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},c.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var s=c.isBuffer(e)?e:q(new c(e,n).toString()),o=s.length;for(a=0;a<r-t;++a)this[a+t]=s[a%o]}return this};var j=/[^+\/0-9A-Za-z-_]/g;function L(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],s=0;s<n;++s){if((r=e.charCodeAt(s))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function K(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(6))},function(e,t,r){(function(e){!function(e,t){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{s=r(165).Buffer}catch(e){}function o(e,t,r){for(var n=0,i=Math.min(e.length,r),a=t;a<i;a++){var s=e.charCodeAt(a)-48;n<<=4,n|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function c(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s<a;s++){var o=e.charCodeAt(s)-48;i*=n,i+=o>=49?o-49+10:o>=17?o-17+10:o}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,s,o=0;if("be"===r)for(i=e.length-1,a=0;i>=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===r)for(i=0,a=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=e.length-6,n=0;r>=t;r-=6)i=o(e,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==t&&(i=o(e,t,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,f=0,u=r;u<o;u+=n)f=c(e,u,u+n,t),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==s){var h=1;for(f=c(e,u,e.length,t),u=0;u<s;u++)h*=t;this.imuln(h),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,c=s/67108864|0;r.words[0]=o;for(var f=1;f<n;f++){for(var u=c>>>26,h=67108863&c,d=Math.min(f,t.length-1),l=Math.max(0,f-e.length+1);l<=d;l++){var p=f-l|0;u+=(s=(i=0|e.words[p])*(a=0|t.words[l])+h)/67108864|0,h=67108863&s}r.words[f]=0|h,c=0|u}return 0!==c?r.words[f]=0|c:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,s=0;s<this.length;s++){var o=this.words[s],c=(16777215&(o<<i|a)).toString(16);r=0!==(a=o>>>24-i&16777215)||s!==this.length-1?f[6-c.length]+c+r:c+r,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var d=u[e],l=h[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(l).toString(e);r=(p=p.idivn(l)).isZero()?b+r:f[d-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var s,o,c="le"===t,f=new e(a),u=this.clone();if(c){for(o=0;!u.isZero();o++)s=u.andln(255),u.iushrn(8),f[o]=s;for(;o<a;o++)f[o]=0}else{for(o=0;o<a-i;o++)f[o]=0;for(o=0;!u.isZero();o++)s=u.andln(255),u.iushrn(8),f[a-o-1]=s}return f},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)t=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<r.length;a++)t=(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,s=0;s<n.length;s++)a=(t=(0|r.words[s])-(0|n.words[s])+a)>>26,this.words[s]=67108863&t;for(;0!==a&&s<r.length;s++)a=(t=(0|r.words[s])+a)>>26,this.words[s]=67108863&t;if(0===a&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,t,r){var n,i,a,s=e.words,o=t.words,c=r.words,f=0,u=0|s[0],h=8191&u,d=u>>>13,l=0|s[1],p=8191&l,b=l>>>13,m=0|s[2],g=8191&m,y=m>>>13,w=0|s[3],v=8191&w,_=w>>>13,M=0|s[4],S=8191&M,E=M>>>13,k=0|s[5],A=8191&k,I=k>>>13,R=0|s[6],x=8191&R,B=R>>>13,P=0|s[7],T=8191&P,N=P>>>13,D=0|s[8],O=8191&D,U=D>>>13,C=0|s[9],j=8191&C,L=C>>>13,q=0|o[0],K=8191&q,F=q>>>13,z=0|o[1],H=8191&z,V=z>>>13,W=0|o[2],G=8191&W,J=W>>>13,Y=0|o[3],Z=8191&Y,X=Y>>>13,Q=0|o[4],$=8191&Q,ee=Q>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],ae=8191&ie,se=ie>>>13,oe=0|o[7],ce=8191&oe,fe=oe>>>13,ue=0|o[8],he=8191&ue,de=ue>>>13,le=0|o[9],pe=8191&le,be=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(f+(n=Math.imul(h,K))|0)+((8191&(i=(i=Math.imul(h,F))+Math.imul(d,K)|0))<<13)|0;f=((a=Math.imul(d,F))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,K),i=(i=Math.imul(p,F))+Math.imul(b,K)|0,a=Math.imul(b,F);var ge=(f+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,H)|0))<<13)|0;f=((a=a+Math.imul(d,V)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,K),i=(i=Math.imul(g,F))+Math.imul(y,K)|0,a=Math.imul(y,F),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,V)|0;var ye=(f+(n=n+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(d,G)|0))<<13)|0;f=((a=a+Math.imul(d,J)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(v,K),i=(i=Math.imul(v,F))+Math.imul(_,K)|0,a=Math.imul(_,F),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,V)|0,n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(b,G)|0,a=a+Math.imul(b,J)|0;var we=(f+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,Z)|0))<<13)|0;f=((a=a+Math.imul(d,X)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(S,K),i=(i=Math.imul(S,F))+Math.imul(E,K)|0,a=Math.imul(E,F),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,V)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(y,G)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(b,Z)|0,a=a+Math.imul(b,X)|0;var ve=(f+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,$)|0))<<13)|0;f=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(A,K),i=(i=Math.imul(A,F))+Math.imul(I,K)|0,a=Math.imul(I,F),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,V)|0)+Math.imul(E,H)|0,a=a+Math.imul(E,V)|0,n=n+Math.imul(v,G)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(_,G)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(y,Z)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,ee)|0;var _e=(f+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(d,re)|0))<<13)|0;f=((a=a+Math.imul(d,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,K),i=(i=Math.imul(x,F))+Math.imul(B,K)|0,a=Math.imul(B,F),n=n+Math.imul(A,H)|0,i=(i=i+Math.imul(A,V)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,V)|0,n=n+Math.imul(S,G)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(E,G)|0,a=a+Math.imul(E,J)|0,n=n+Math.imul(v,Z)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(_,Z)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(b,re)|0,a=a+Math.imul(b,ne)|0;var Me=(f+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,se)|0)+Math.imul(d,ae)|0))<<13)|0;f=((a=a+Math.imul(d,se)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(T,K),i=(i=Math.imul(T,F))+Math.imul(N,K)|0,a=Math.imul(N,F),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(B,H)|0,a=a+Math.imul(B,V)|0,n=n+Math.imul(A,G)|0,i=(i=i+Math.imul(A,J)|0)+Math.imul(I,G)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(E,Z)|0,a=a+Math.imul(E,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(b,ae)|0,a=a+Math.imul(b,se)|0;var Se=(f+(n=n+Math.imul(h,ce)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(d,ce)|0))<<13)|0;f=((a=a+Math.imul(d,fe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(O,K),i=(i=Math.imul(O,F))+Math.imul(U,K)|0,a=Math.imul(U,F),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,V)|0)+Math.imul(N,H)|0,a=a+Math.imul(N,V)|0,n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(B,G)|0,a=a+Math.imul(B,J)|0,n=n+Math.imul(A,Z)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(I,Z)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(E,$)|0,a=a+Math.imul(E,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ne)|0,n=n+Math.imul(g,ae)|0,i=(i=i+Math.imul(g,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(b,ce)|0,a=a+Math.imul(b,fe)|0;var Ee=(f+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;f=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,F))+Math.imul(L,K)|0,a=Math.imul(L,F),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(U,H)|0,a=a+Math.imul(U,V)|0,n=n+Math.imul(T,G)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(N,G)|0,a=a+Math.imul(N,J)|0,n=n+Math.imul(x,Z)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(B,Z)|0,a=a+Math.imul(B,X)|0,n=n+Math.imul(A,$)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(E,re)|0,a=a+Math.imul(E,ne)|0,n=n+Math.imul(v,ae)|0,i=(i=i+Math.imul(v,se)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,se)|0,n=n+Math.imul(g,ce)|0,i=(i=i+Math.imul(g,fe)|0)+Math.imul(y,ce)|0,a=a+Math.imul(y,fe)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(b,he)|0,a=a+Math.imul(b,de)|0;var ke=(f+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,be)|0)+Math.imul(d,pe)|0))<<13)|0;f=((a=a+Math.imul(d,be)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,V))+Math.imul(L,H)|0,a=Math.imul(L,V),n=n+Math.imul(O,G)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(U,G)|0,a=a+Math.imul(U,J)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(N,Z)|0,a=a+Math.imul(N,X)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(B,$)|0,a=a+Math.imul(B,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(S,ae)|0,i=(i=i+Math.imul(S,se)|0)+Math.imul(E,ae)|0,a=a+Math.imul(E,se)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,fe)|0)+Math.imul(_,ce)|0,a=a+Math.imul(_,fe)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,de)|0)+Math.imul(y,he)|0,a=a+Math.imul(y,de)|0;var Ae=(f+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;f=((a=a+Math.imul(b,be)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(j,G),i=(i=Math.imul(j,J))+Math.imul(L,G)|0,a=Math.imul(L,J),n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(U,Z)|0,a=a+Math.imul(U,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(N,$)|0,a=a+Math.imul(N,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,se)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,se)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,fe)|0)+Math.imul(E,ce)|0,a=a+Math.imul(E,fe)|0,n=n+Math.imul(v,he)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(_,he)|0,a=a+Math.imul(_,de)|0;var Ie=(f+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,be)|0)+Math.imul(y,pe)|0))<<13)|0;f=((a=a+Math.imul(y,be)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(j,Z),i=(i=Math.imul(j,X))+Math.imul(L,Z)|0,a=Math.imul(L,X),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(U,$)|0,a=a+Math.imul(U,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(N,re)|0,a=a+Math.imul(N,ne)|0,n=n+Math.imul(x,ae)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,se)|0,n=n+Math.imul(A,ce)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(I,ce)|0,a=a+Math.imul(I,fe)|0,n=n+Math.imul(S,he)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(E,he)|0,a=a+Math.imul(E,de)|0;var Re=(f+(n=n+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,be)|0)+Math.imul(_,pe)|0))<<13)|0;f=((a=a+Math.imul(_,be)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,ee))+Math.imul(L,$)|0,a=Math.imul(L,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(U,re)|0,a=a+Math.imul(U,ne)|0,n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,se)|0)+Math.imul(N,ae)|0,a=a+Math.imul(N,se)|0,n=n+Math.imul(x,ce)|0,i=(i=i+Math.imul(x,fe)|0)+Math.imul(B,ce)|0,a=a+Math.imul(B,fe)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,de)|0)+Math.imul(I,he)|0,a=a+Math.imul(I,de)|0;var xe=(f+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,be)|0)+Math.imul(E,pe)|0))<<13)|0;f=((a=a+Math.imul(E,be)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(j,re),i=(i=Math.imul(j,ne))+Math.imul(L,re)|0,a=Math.imul(L,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(U,ae)|0,a=a+Math.imul(U,se)|0,n=n+Math.imul(T,ce)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(N,ce)|0,a=a+Math.imul(N,fe)|0,n=n+Math.imul(x,he)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(B,he)|0,a=a+Math.imul(B,de)|0;var Be=(f+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,be)|0)+Math.imul(I,pe)|0))<<13)|0;f=((a=a+Math.imul(I,be)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(j,ae),i=(i=Math.imul(j,se))+Math.imul(L,ae)|0,a=Math.imul(L,se),n=n+Math.imul(O,ce)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(U,ce)|0,a=a+Math.imul(U,fe)|0,n=n+Math.imul(T,he)|0,i=(i=i+Math.imul(T,de)|0)+Math.imul(N,he)|0,a=a+Math.imul(N,de)|0;var Pe=(f+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,be)|0)+Math.imul(B,pe)|0))<<13)|0;f=((a=a+Math.imul(B,be)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(j,ce),i=(i=Math.imul(j,fe))+Math.imul(L,ce)|0,a=Math.imul(L,fe),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(U,he)|0,a=a+Math.imul(U,de)|0;var Te=(f+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,be)|0)+Math.imul(N,pe)|0))<<13)|0;f=((a=a+Math.imul(N,be)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(j,he),i=(i=Math.imul(j,de))+Math.imul(L,he)|0,a=Math.imul(L,de);var Ne=(f+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,be)|0)+Math.imul(U,pe)|0))<<13)|0;f=((a=a+Math.imul(U,be)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var De=(f+(n=Math.imul(j,pe))|0)+((8191&(i=(i=Math.imul(j,be))+Math.imul(L,pe)|0))<<13)|0;return f=((a=Math.imul(L,be))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,c[0]=me,c[1]=ge,c[2]=ye,c[3]=we,c[4]=ve,c[5]=_e,c[6]=Me,c[7]=Se,c[8]=Ee,c[9]=ke,c[10]=Ae,c[11]=Ie,c[12]=Re,c[13]=xe,c[14]=Be,c[15]=Pe,c[16]=Te,c[17]=Ne,c[18]=De,0!==f&&(c[19]=f,r.length++),r};function p(e,t,r){return(new b).mulp(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(l=d),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var s=i;i=0;for(var o=67108863&n,c=Math.min(a,t.length-1),f=Math.max(0,a-e.length+1);f<=c;f++){var u=a-f,h=(0|e.words[u])*(0|t.words[f]),d=67108863&h;o=67108863&(d=d+o|0),i+=(s=(s=s+(h/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},b.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},b.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s<a;s++)n[s]=t[e[s]],i[s]=r[e[s]]},b.prototype.transform=function(e,t,r,n,i,a){this.permute(a,e,t,r,n,i);for(var s=1;s<i;s<<=1)for(var o=s<<1,c=Math.cos(2*Math.PI/o),f=Math.sin(2*Math.PI/o),u=0;u<i;u+=o)for(var h=c,d=f,l=0;l<s;l++){var p=r[u+l],b=n[u+l],m=r[u+l+s],g=n[u+l+s],y=h*m-d*g;g=h*g+d*m,m=y,r[u+l]=p+m,n[u+l]=b+g,r[u+l+s]=p-m,n[u+l+s]=b-g,l!==o&&(y=c*h-f*d,d=c*d+f*h,h=y)}},b.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},b.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},b.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},b.prototype.convert13b=function(e,t,r,i){for(var a=0,s=0;s<t;s++)a+=0|e[s],r[2*s]=8191&a,a>>>=13,r[2*s+1]=8191&a,a>>>=13;for(s=2*t;s<i;++s)r[s]=0;n(0===a),n(0==(-8192&a))},b.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},b.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),a=this.stub(n),s=new Array(n),o=new Array(n),c=new Array(n),f=new Array(n),u=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(e.words,e.length,s,n),this.convert13b(t.words,t.length,f,n),this.transform(s,a,o,c,n,i),this.transform(f,a,u,h,n,i);for(var l=0;l<n;l++){var p=o[l]*u[l]-c[l]*h[l];c[l]=o[l]*h[l]+c[l]*u[l],o[l]=p}return this.conjugate(o,c,n),this.transform(o,c,d,a,n,i),this.conjugate(d,a,n),this.normalize13b(d,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),p(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,a=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,c=(0|this.words[t])-o<<r;this.words[t]=c|s,s=o>>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,c=r;if(i-=s,i=Math.max(0,i),c){for(var f=0;f<s;f++)c.words[f]=this.words[f];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,f=0;f<this.length;f++)this.words[f]=this.words[f+s];else this.words[0]=0,this.length=1;var u=0;for(f=this.length-1;f>=0&&(0!==u||f>=i);f--){var h=0|this.words[f];this.words[f]=u<<26-a|h>>>a,u=h&o}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var i,a,s=e.length+r;this._expand(s);var o=0;for(i=0;i<e.length;i++){a=(0|this.words[i+r])+o;var c=(0|e.words[i])*t;o=((a-=67108863&c)>>26)-(c/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)o=(a=(0|this.words[i+r])+o)>>26,this.words[i+r]=67108863&a;if(0===o)return this.strip();for(n(-1===o),o=0,i=0;i<this.length;i++)o=(a=-(0|this.words[i])+o)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var o,c=n.length-i.length;if("mod"!==t){(o=new a(null)).length=c+1,o.words=new Array(o.length);for(var f=0;f<o.length;f++)o.words[f]=0}var u=n.clone()._ishlnsubmul(i,1,c);0===u.negative&&(n=u,o&&(o.words[c]=1));for(var h=c-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);o&&(o.words[h]=d)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(i=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(i=o.div.neg()),{div:i,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,o},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),s=new a(0),o=new a(0),c=new a(1),f=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++f;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var d=0,l=1;0==(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(u),s.isub(h)),i.iushrn(1),s.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(u),c.isub(h)),o.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(o),s.isub(c)):(r.isub(t),o.isub(i),c.isub(s))}return{a:o,b:c,gcd:r.iushln(f)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new a(1),o=new a(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,u=1;0==(t.words[0]&u)&&f<26;++f,u<<=1);if(f>0)for(t.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o)):(r.isub(t),o.isub(s))}return(i=0===t.cmpn(1)?s:o).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,s=r;0!==a&&s<this.length;s++){var o=0|this.words[s];a=(o+=a)>>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new M(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},i(y,g),y.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var a=0|e.words[n];e.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,g),i(v,g),i(_,g),_.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new w;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return m[e]=t,t},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},M.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},M.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var o=new a(1).toRed(this),c=o.redNeg(),f=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,f).cmp(c);)u.redIAdd(c);for(var h=this.pow(u,i),d=this.pow(e,i.addn(1).iushrn(1)),l=this.pow(e,i),p=s;0!==l.cmp(o);){for(var b=l,m=0;0!==b.cmp(o);m++)b=b.redSqr();n(m<p);var g=this.pow(h,new a(1).iushln(p-m-1));d=d.redMul(g),h=g.redSqr(),l=l.redMul(h),p=m}return d},M.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},M.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],s=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),n=t.length-1;n>=0;n--){for(var f=t.words[n],u=c-1;u>=0;u--){var h=f>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==s?(s<<=1,s|=h,(4===++o||0===n&&0===u)&&(i=this.mul(i,r[s]),o=0,s=0)):o=0}c=26}return i},M.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},M.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new S(e)},i(S,M),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(26)(e))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=r,r.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},function(e,t,r){"use strict";var n=t,i=r(5),a=r(7),s=r(95);n.assert=a,n.toArray=s.toArray,n.zero2=s.zero2,n.toHex=s.toHex,n.encode=s.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,a=e.clone(),s=0;s<n.length;s++){var o,c=a.andln(i-1);a.isOdd()?(o=c>(i>>1)-1?(i>>1)-c:c,a.isubn(o)):o=0,n[s]=o,a.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var a,s,o,c=e.andln(3)+n&3,f=t.andln(3)+i&3;if(3===c&&(c=-1),3===f&&(f=-1),0==(1&c))a=0;else a=3!==(o=e.andln(7)+n&7)&&5!==o||2!==f?c:-c;if(r[0].push(a),0==(1&f))s=0;else s=3!==(o=t.andln(7)+i&7)&&5!==o||2!==c?f:-f;r[1].push(s),2*n===a+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},function(e,t,r){"use strict";var n=r(7),i=r(1);function a(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function o(e){return 1===e.length?"0"+e:e}function c(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var n=0,i=0;i<e.length;i++){var s=e.charCodeAt(i);s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=63&s|128):a(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=63&s|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=63&s|128)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r},t.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=o(e[r].toString(16));return t},t.htonl=s,t.toHex32=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=s(i)),r+=c(i.toString(16))}return r},t.zero2=o,t.zero8=c,t.join32=function(e,t,r,i){var a=r-t;n(a%4==0);for(var s=new Array(a/4),o=0,c=t;o<s.length;o++,c+=4){var f;f="big"===i?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c],s[o]=f>>>0}return s},t.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var a=e[n];"big"===t?(r[i]=a>>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],a=n+e[t+1]>>>0,s=(a<n?1:0)+r+i;e[t]=s>>>0,e[t+1]=a},t.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,a,s,o){var c=0,f=t;return c+=(f=f+n>>>0)<t?1:0,c+=(f=f+a>>>0)<a?1:0,e+r+i+s+(c+=(f=f+o>>>0)<o?1:0)>>>0},t.sum64_4_lo=function(e,t,r,n,i,a,s,o){return t+n+a+o>>>0},t.sum64_5_hi=function(e,t,r,n,i,a,s,o,c,f){var u=0,h=t;return u+=(h=h+n>>>0)<t?1:0,u+=(h=h+a>>>0)<a?1:0,u+=(h=h+o>>>0)<o?1:0,e+r+i+s+c+(u+=(h=h+f>>>0)<f?1:0)>>>0},t.sum64_5_lo=function(e,t,r,n,i,a,s,o,c,f){return t+n+a+o+f>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},function(e,t,r){var n=r(2).Buffer,i=r(136).Transform,a=r(12).StringDecoder;function s(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(1)(s,i),s.prototype.update=function(e,t,r){"string"==typeof e&&(e=n.from(e,t));var i=this._update(e);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},s.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},s.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},s.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new a(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},e.exports=s},function(e,t,r){"use strict";var n,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(){void 0!==a&&e.removeListener("error",a),r([].slice.call(arguments))}var a;"error"!==t&&(a=function(r){e.removeListener(t,i),n(r)},e.once("error",a)),e.once(t,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var c=10;function f(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function h(e,t,r,n){var i,a,s,o;if(f(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),s=a[t]),void 0===s)s=a[t]=r,++e._eventsCount;else if("function"==typeof s?s=a[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,o=c,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=d.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):m(i,i.length)}function b(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function m(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var n="error"===e,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)a(c,this,t);else{var f=c.length,u=m(c,f);for(r=0;r<f;++r)a(u[r],this,t)}return!0},o.prototype.addListener=function(e,t){return h(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return h(this,e,t,!0)},o.prototype.once=function(e,t){return f(t),this.on(e,l(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return f(t),this.prependListener(e,l(this,e,t)),this},o.prototype.removeListener=function(e,t){var r,n,i,a,s;if(f(t),void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===t||r[a].listener===t){s=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)"removeListener"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):b.call(e,t)},o.prototype.listenerCount=b,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){"use strict";var n=r(127).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=f,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=u,this.end=h,t=3;break;default:return this.write=d,void(this.end=l)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function f(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function l(e){return e&&e.length?this.write(e):""}t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""},a.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},a.prototype.text=function(e,t){var r=function(e,t,r){var n=t.length-1;if(n<r)return 0;var i=s(t[n]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";var n=r(27),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=h;var a=Object.create(r(22));a.inherits=r(1);var s=r(67),o=r(39);a.inherits(h,s);for(var c=i(o.prototype),f=0;f<c.length;f++){var u=c[f];h.prototype[u]||(h.prototype[u]=o.prototype[u])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),o.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||n.nextTick(l,this)}function l(e){e.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),n.nextTick(t,e)}},function(e,t,r){"use strict";(function(t,n){var i=r(2).Buffer,a=t.crypto||t.msCrypto;a&&a.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=i.allocUnsafe(e);if(e>0)if(e>65536)for(var s=0;s<e;s+=65536)a.getRandomValues(r.slice(s,s+65536));else a.getRandomValues(r);if("function"==typeof t)return n.nextTick((function(){t(null,r)}));return r}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,r(6),r(3))},function(e,t,r){"use strict";var n={};function i(e,t,r){r||(r=Error);var i=function(e){var r,n;function i(r,n,i){return e.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i))||this}return n=e,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);i.prototype.name=r.name,i.prototype.code=e,n[e]=i}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,i,s,o;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))o="The ".concat(e," ").concat(n," ").concat(a(t,"type"));else{var c=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(a(t,"type"))}return o+=". Received type ".concat(typeof r)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=n},function(e,t,r){"use strict";(function(t){var n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=f;var i=r(59),a=r(63);r(1)(f,i);for(var s=n(a.prototype),o=0;o<s.length;o++){var c=s[o];f.prototype[c]||(f.prototype[c]=a.prototype[c])}function f(e){if(!(this instanceof f))return new f(e);i.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||t.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(f.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(f.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(f.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(f.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,r(3))},function(e,t,r){var n=r(2).Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=n.from(e,t));for(var r=this._block,i=this._blockSize,a=e.length,s=this._len,o=0;o<a;){for(var c=s%i,f=Math.min(a-o,i-c),u=0;u<f;u++)r[c+u]=e[o+u];o+=f,(s+=f)%i==0&&this._update(r)}return this._len+=a,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},function(e,t,r){"use strict";var n={};function i(e,t,r){r||(r=Error);var i=function(e){var r,n;function i(r,n,i){return e.call(this,function(e,r,n){return"string"==typeof t?t:t(e,r,n)}(r,n,i))||this}return n=e,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);i.prototype.name=r.name,i.prototype.code=e,n[e]=i}function a(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,r){var n,i,s,o;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))o="The ".concat(e," ").concat(n," ").concat(a(t,"type"));else{var c=function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(a(t,"type"))}return o+=". Received type ".concat(typeof r)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=n},function(e,t,r){"use strict";(function(t){var n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=f;var i=r(89),a=r(93);r(1)(f,i);for(var s=n(a.prototype),o=0;o<s.length;o++){var c=s[o];f.prototype[c]||(f.prototype[c]=a.prototype[c])}function f(e){if(!(this instanceof f))return new f(e);i.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||t.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(f.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(f.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(f.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(f.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,r(3))},function(e,t,r){var n=r(215),i=r(216);e.exports=function(e,t,r){var a=t&&r||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||n)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var o=0;o<16;++o)t[a+o]=s[o];return t||i(s)}},function(e,t,r){"use strict";var n=r(1),i=r(32),a=r(35),s=r(36),o=r(10);function c(e){o.call(this,"digest"),this._hash=e}n(c,o),c.prototype._update=function(e){this._hash.update(e)},c.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new a:new c(s(e))}},function(e,t,r){(function(e){function r(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===r(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===r(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===r(e)},t.isError=function(e){return"[object Error]"===r(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,r(4).Buffer)},function(e,t,r){(function(t){e.exports=function(e,r){for(var n=Math.min(e.length,r.length),i=new t(n),a=0;a<n;++a)i[a]=e[a]^r[a];return i}}).call(this,r(4).Buffer)},function(e,t,r){"use strict";var n=r(9),i=r(7);function a(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=a,a.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},a.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},a.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,a=8;a<this.padLength;a++)n[i++]=0;return n}},function(e,t,r){"use strict";const n=r(1),i=r(51).Reporter,a=r(49).Buffer;function s(e,t){i.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function o(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return o.isEncoderBuffer(e)||(e=new o(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}n(s,i),t.DecoderBuffer=s,s.isDecoderBuffer=function(e){if(e instanceof s)return!0;return"object"==typeof e&&a.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},s.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(e){const t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");const r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=o,o.isEncoderBuffer=function(e){if(e instanceof o)return!0;return"object"==typeof e&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},o.prototype.join=function(e,t){return e||(e=a.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,r,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,s,o=arguments.length;switch(o){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,r)}));case 3:return t.nextTick((function(){e.call(null,r,n)}));case 4:return t.nextTick((function(){e.call(null,r,n,i)}));default:for(a=new Array(o-1),s=0;s<a.length;)a[s++]=arguments[s];return t.nextTick((function(){e.apply(null,a)}))}}}:e.exports=t}).call(this,r(3))},function(e,t,r){var n=r(2).Buffer;function i(e){n.isBuffer(e)||(e=n.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i<t;i++)r[i]=e.readUInt32BE(4*i);return r}function a(e){for(;0<e.length;e++)e[0]=0}function s(e,t,r,n,i){for(var a,s,o,c,f=r[0],u=r[1],h=r[2],d=r[3],l=e[0]^t[0],p=e[1]^t[1],b=e[2]^t[2],m=e[3]^t[3],g=4,y=1;y<i;y++)a=f[l>>>24]^u[p>>>16&255]^h[b>>>8&255]^d[255&m]^t[g++],s=f[p>>>24]^u[b>>>16&255]^h[m>>>8&255]^d[255&l]^t[g++],o=f[b>>>24]^u[m>>>16&255]^h[l>>>8&255]^d[255&p]^t[g++],c=f[m>>>24]^u[l>>>16&255]^h[p>>>8&255]^d[255&b]^t[g++],l=a,p=s,b=o,m=c;return a=(n[l>>>24]<<24|n[p>>>16&255]<<16|n[b>>>8&255]<<8|n[255&m])^t[g++],s=(n[p>>>24]<<24|n[b>>>16&255]<<16|n[m>>>8&255]<<8|n[255&l])^t[g++],o=(n[b>>>24]<<24|n[m>>>16&255]<<16|n[l>>>8&255]<<8|n[255&p])^t[g++],c=(n[m>>>24]<<24|n[l>>>16&255]<<16|n[p>>>8&255]<<8|n[255&b])^t[g++],[a>>>=0,s>>>=0,o>>>=0,c>>>=0]}var o=[0,1,2,4,8,16,32,64,128,27,54],c=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],a=[[],[],[],[]],s=0,o=0,c=0;c<256;++c){var f=o^o<<1^o<<2^o<<3^o<<4;f=f>>>8^255&f^99,r[s]=f,n[f]=s;var u=e[s],h=e[u],d=e[h],l=257*e[f]^16843008*f;i[0][s]=l<<24|l>>>8,i[1][s]=l<<16|l>>>16,i[2][s]=l<<8|l>>>24,i[3][s]=l,l=16843009*d^65537*h^257*u^16843008*s,a[0][f]=l<<24|l>>>8,a[1][f]=l<<16|l>>>16,a[2][f]=l<<8|l>>>24,a[3][f]=l,0===s?s=o=1:(s=u^e[e[e[d^u]]],o^=e[e[o]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:a}}();function f(e){this._key=i(e),this._reset()}f.blockSize=16,f.keySize=32,f.prototype.blockSize=f.blockSize,f.prototype.keySize=f.keySize,f.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,n=4*(r+1),i=[],a=0;a<t;a++)i[a]=e[a];for(a=t;a<n;a++){var s=i[a-1];a%t==0?(s=s<<8|s>>>24,s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s],s^=o[a/t|0]<<24):t>6&&a%t==4&&(s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s]),i[a]=i[a-t]^s}for(var f=[],u=0;u<n;u++){var h=n-u,d=i[h-(u%4?0:4)];f[u]=u<4||h<=4?d:c.INV_SUB_MIX[0][c.SBOX[d>>>24]]^c.INV_SUB_MIX[1][c.SBOX[d>>>16&255]]^c.INV_SUB_MIX[2][c.SBOX[d>>>8&255]]^c.INV_SUB_MIX[3][c.SBOX[255&d]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=f},f.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,c.SUB_MIX,c.SBOX,this._nRounds)},f.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},f.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=s(e,this._invKeySchedule,c.INV_SUB_MIX,c.INV_SBOX,this._nRounds),a=n.allocUnsafe(16);return a.writeUInt32BE(r[0],0),a.writeUInt32BE(r[3],4),a.writeUInt32BE(r[2],8),a.writeUInt32BE(r[1],12),a},f.prototype.scrub=function(){a(this._keySchedule),a(this._invKeySchedule),a(this._key)},e.exports.AES=f},function(e,t,r){var n=r(2).Buffer,i=r(32);e.exports=function(e,t,r,a){if(n.isBuffer(e)||(e=n.from(e,"binary")),t&&(n.isBuffer(t)||(t=n.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=r/8,o=n.alloc(s),c=n.alloc(a||0),f=n.alloc(0);s>0||a>0;){var u=new i;u.update(f),u.update(e),t&&u.update(t),f=u.digest();var h=0;if(s>0){var d=o.length-s;h=Math.min(s,f.length),f.copy(o,d,0,h),s-=h}if(h<f.length&&a>0){var l=c.length-a,p=Math.min(a,f.length-h);f.copy(c,l,h,h+p),a-=p}}return f.fill(0),{key:o,iv:c}}},function(e,t,r){"use strict";var n=r(5),i=r(8),a=i.getNAF,s=i.getJSF,o=i.assert;function c(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function f(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=c,c.prototype.point=function(){throw new Error("Not implemented")},c.prototype.validate=function(){throw new Error("Not implemented")},c.prototype._fixedNafMul=function(e,t){o(e.precomputed);var r=e._getDoubles(),n=a(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var s=[],c=0;c<n.length;c+=r.step){var f=0;for(t=c+r.step-1;t>=c;t--)f=(f<<1)+n[t];s.push(f)}for(var u=this.jpoint(null,null,null),h=this.jpoint(null,null,null),d=i;d>0;d--){for(c=0;c<s.length;c++){(f=s[c])===d?h=h.mixedAdd(r.points[c]):f===-d&&(h=h.mixedAdd(r.points[c].neg()))}u=u.add(h)}return u.toP()},c.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var i=n.points,s=a(t,r,this._bitLength),c=this.jpoint(null,null,null),f=s.length-1;f>=0;f--){for(t=0;f>=0&&0===s[f];f--)t++;if(f>=0&&t++,c=c.dblp(t),f<0)break;var u=s[f];o(0!==u),c="affine"===e.type?u>0?c.mixedAdd(i[u-1>>1]):c.mixedAdd(i[-u-1>>1].neg()):u>0?c.add(i[u-1>>1]):c.add(i[-u-1>>1].neg())}return"affine"===e.type?c.toP():c},c.prototype._wnafMulAdd=function(e,t,r,n,i){for(var o=this._wnafT1,c=this._wnafT2,f=this._wnafT3,u=0,h=0;h<n;h++){var d=(k=t[h])._getNAFPoints(e);o[h]=d.wnd,c[h]=d.points}for(h=n-1;h>=1;h-=2){var l=h-1,p=h;if(1===o[l]&&1===o[p]){var b=[t[l],null,null,t[p]];0===t[l].y.cmp(t[p].y)?(b[1]=t[l].add(t[p]),b[2]=t[l].toJ().mixedAdd(t[p].neg())):0===t[l].y.cmp(t[p].y.redNeg())?(b[1]=t[l].toJ().mixedAdd(t[p]),b[2]=t[l].add(t[p].neg())):(b[1]=t[l].toJ().mixedAdd(t[p]),b[2]=t[l].toJ().mixedAdd(t[p].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],g=s(r[l],r[p]);u=Math.max(g[0].length,u),f[l]=new Array(u),f[p]=new Array(u);for(var y=0;y<u;y++){var w=0|g[0][y],v=0|g[1][y];f[l][y]=m[3*(w+1)+(v+1)],f[p][y]=0,c[l]=b}}else f[l]=a(r[l],o[l],this._bitLength),f[p]=a(r[p],o[p],this._bitLength),u=Math.max(f[l].length,u),u=Math.max(f[p].length,u)}var _=this.jpoint(null,null,null),M=this._wnafT4;for(h=u;h>=0;h--){for(var S=0;h>=0;){var E=!0;for(y=0;y<n;y++)M[y]=0|f[y][h],0!==M[y]&&(E=!1);if(!E)break;S++,h--}if(h>=0&&S++,_=_.dblp(S),h<0)break;for(y=0;y<n;y++){var k,A=M[y];0!==A&&(A>0?k=c[y][A-1>>1]:A<0&&(k=c[y][-A-1>>1].neg()),_="affine"===k.type?_.mixedAdd(k):_.add(k))}}for(h=0;h<n;h++)c[h]=null;return i?_:_.toP()},c.BasePoint=f,f.prototype.eq=function(){throw new Error("Not implemented")},f.prototype.validate=function(){return this.curve.validate(this)},c.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?o(e[e.length-1]%2==0):7===e[0]&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},f.prototype.encodeCompressed=function(e){return this.encode(e,!0)},f.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},f.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},f.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},f.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},f.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var a=0;a<e;a++)n=n.dbl();r.push(n)}return{step:e,points:r}},f.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},f.prototype._getBeta=function(){return null},f.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},function(e,t,r){var n=r(198),i=r(205),a=r(206),s=r(41),o=r(75),c=r(2).Buffer;function f(e){var t;"object"!=typeof e||c.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=c.from(e));var r,f,u=a(e,t),h=u.tag,d=u.data;switch(h){case"CERTIFICATE":f=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(f||(f=n.PublicKey.decode(d,"der")),r=f.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(f.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return f.subjectPrivateKey=f.subjectPublicKey,{type:"ec",data:f};case"1.2.840.10040.4.1":return f.algorithm.params.pub_key=n.DSAparam.decode(f.subjectPublicKey.data,"der"),{type:"dsa",data:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":d=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),a=i[e.algorithm.decrypt.cipher.algo.join(".")],f=e.algorithm.decrypt.cipher.iv,u=e.subjectPrivateKey,h=parseInt(a.split("-")[1],10)/8,d=o.pbkdf2Sync(t,r,n,h,"sha1"),l=s.createDecipheriv(a,d,f),p=[];return p.push(l.update(u)),p.push(l.final()),c.concat(p)}(d=n.EncryptedPrivateKey.decode(d,"der"),t);case"PRIVATE KEY":switch(r=(f=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(f.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:f.algorithm.curve,privateKey:n.ECPrivateKey.decode(f.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return f.algorithm.params.priv_key=n.DSAparam.decode(f.subjectPrivateKey,"der"),{type:"dsa",params:f.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+h)}}e.exports=f,f.signature=n.signature},function(e,t,r){"use strict";var n=r(1),i=r(58),a=r(2).Buffer,s=new Array(16);function o(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(e,t){return e<<t|e>>>32-t}function f(e,t,r,n,i,a,s){return c(e+(t&r|~t&n)+i+a|0,s)+t|0}function u(e,t,r,n,i,a,s){return c(e+(t&n|r&~n)+i+a|0,s)+t|0}function h(e,t,r,n,i,a,s){return c(e+(t^r^n)+i+a|0,s)+t|0}function d(e,t,r,n,i,a,s){return c(e+(r^(t|~n))+i+a|0,s)+t|0}n(o,i),o.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,a=this._d;r=f(r,n,i,a,e[0],3614090360,7),a=f(a,r,n,i,e[1],3905402710,12),i=f(i,a,r,n,e[2],606105819,17),n=f(n,i,a,r,e[3],3250441966,22),r=f(r,n,i,a,e[4],4118548399,7),a=f(a,r,n,i,e[5],1200080426,12),i=f(i,a,r,n,e[6],2821735955,17),n=f(n,i,a,r,e[7],4249261313,22),r=f(r,n,i,a,e[8],1770035416,7),a=f(a,r,n,i,e[9],2336552879,12),i=f(i,a,r,n,e[10],4294925233,17),n=f(n,i,a,r,e[11],2304563134,22),r=f(r,n,i,a,e[12],1804603682,7),a=f(a,r,n,i,e[13],4254626195,12),i=f(i,a,r,n,e[14],2792965006,17),r=u(r,n=f(n,i,a,r,e[15],1236535329,22),i,a,e[1],4129170786,5),a=u(a,r,n,i,e[6],3225465664,9),i=u(i,a,r,n,e[11],643717713,14),n=u(n,i,a,r,e[0],3921069994,20),r=u(r,n,i,a,e[5],3593408605,5),a=u(a,r,n,i,e[10],38016083,9),i=u(i,a,r,n,e[15],3634488961,14),n=u(n,i,a,r,e[4],3889429448,20),r=u(r,n,i,a,e[9],568446438,5),a=u(a,r,n,i,e[14],3275163606,9),i=u(i,a,r,n,e[3],4107603335,14),n=u(n,i,a,r,e[8],1163531501,20),r=u(r,n,i,a,e[13],2850285829,5),a=u(a,r,n,i,e[2],4243563512,9),i=u(i,a,r,n,e[7],1735328473,14),r=h(r,n=u(n,i,a,r,e[12],2368359562,20),i,a,e[5],4294588738,4),a=h(a,r,n,i,e[8],2272392833,11),i=h(i,a,r,n,e[11],1839030562,16),n=h(n,i,a,r,e[14],4259657740,23),r=h(r,n,i,a,e[1],2763975236,4),a=h(a,r,n,i,e[4],1272893353,11),i=h(i,a,r,n,e[7],4139469664,16),n=h(n,i,a,r,e[10],3200236656,23),r=h(r,n,i,a,e[13],681279174,4),a=h(a,r,n,i,e[0],3936430074,11),i=h(i,a,r,n,e[3],3572445317,16),n=h(n,i,a,r,e[6],76029189,23),r=h(r,n,i,a,e[9],3654602809,4),a=h(a,r,n,i,e[12],3873151461,11),i=h(i,a,r,n,e[15],530742520,16),r=d(r,n=h(n,i,a,r,e[2],3299628645,23),i,a,e[0],4096336452,6),a=d(a,r,n,i,e[7],1126891415,10),i=d(i,a,r,n,e[14],2878612391,15),n=d(n,i,a,r,e[5],4237533241,21),r=d(r,n,i,a,e[12],1700485571,6),a=d(a,r,n,i,e[3],2399980690,10),i=d(i,a,r,n,e[10],4293915773,15),n=d(n,i,a,r,e[1],2240044497,21),r=d(r,n,i,a,e[8],1873313359,6),a=d(a,r,n,i,e[15],4264355552,10),i=d(i,a,r,n,e[6],2734768916,15),n=d(n,i,a,r,e[13],1309151649,21),r=d(r,n,i,a,e[4],4149444226,6),a=d(a,r,n,i,e[11],3174756917,10),i=d(i,a,r,n,e[2],718787259,15),n=d(n,i,a,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+a|0},o.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=a.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=o},function(e,t,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,r(6))},function(e,t,r){"use strict";var n=r(15).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,a){if("function"==typeof r)return e(t,null,r);r||(r={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}(a||i);var s=r.readable||!1!==r.readable&&t.readable,o=r.writable||!1!==r.writable&&t.writable,c=function(){t.writable||u()},f=t._writableState&&t._writableState.finished,u=function(){o=!1,f=!0,s||a.call(t)},h=t._readableState&&t._readableState.endEmitted,d=function(){s=!1,h=!0,o||a.call(t)},l=function(e){a.call(t,e)},p=function(){var e;return s&&!h?(t._readableState&&t._readableState.ended||(e=new n),a.call(t,e)):o&&!f?(t._writableState&&t._writableState.ended||(e=new n),a.call(t,e)):void 0},b=function(){t.req.on("finish",u)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?o&&!t._writableState&&(t.on("end",c),t.on("close",c)):(t.on("complete",u),t.on("abort",p),t.req?b():t.on("request",b)),t.on("end",d),t.on("finish",u),!1!==r.error&&t.on("error",l),t.on("close",p),function(){t.removeListener("complete",u),t.removeListener("abort",p),t.removeListener("request",b),t.req&&t.req.removeListener("finish",u),t.removeListener("end",c),t.removeListener("close",c),t.removeListener("finish",u),t.removeListener("end",d),t.removeListener("error",l),t.removeListener("close",p)}}},function(e,t,r){"use strict";var n=r(4).Buffer,i=r(1),a=r(58),s=new Array(16),o=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],h=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function l(){a.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<<t|e>>>32-t}function b(e,t,r,n,i,a,s,o){return p(e+(t^r^n)+a+s|0,o)+i|0}function m(e,t,r,n,i,a,s,o){return p(e+(t&r|~t&n)+a+s|0,o)+i|0}function g(e,t,r,n,i,a,s,o){return p(e+((t|~r)^n)+a+s|0,o)+i|0}function y(e,t,r,n,i,a,s,o){return p(e+(t&n|r&~n)+a+s|0,o)+i|0}function w(e,t,r,n,i,a,s,o){return p(e+(t^(r|~n))+a+s|0,o)+i|0}i(l,a),l.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,a=0|this._d,l=0|this._e,v=0|this._a,_=0|this._b,M=0|this._c,S=0|this._d,E=0|this._e,k=0;k<80;k+=1){var A,I;k<16?(A=b(r,n,i,a,l,e[o[k]],h[0],f[k]),I=w(v,_,M,S,E,e[c[k]],d[0],u[k])):k<32?(A=m(r,n,i,a,l,e[o[k]],h[1],f[k]),I=y(v,_,M,S,E,e[c[k]],d[1],u[k])):k<48?(A=g(r,n,i,a,l,e[o[k]],h[2],f[k]),I=g(v,_,M,S,E,e[c[k]],d[2],u[k])):k<64?(A=y(r,n,i,a,l,e[o[k]],h[3],f[k]),I=m(v,_,M,S,E,e[c[k]],d[3],u[k])):(A=w(r,n,i,a,l,e[o[k]],h[4],f[k]),I=b(v,_,M,S,E,e[c[k]],d[4],u[k])),r=l,l=a,a=p(i,10),i=n,n=A,v=E,E=S,S=p(M,10),M=_,_=I}var R=this._b+i+S|0;this._b=this._c+a+E|0,this._c=this._d+l+v|0,this._d=this._e+r+_|0,this._e=this._a+n+M|0,this._a=R},l.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=l},function(e,t,r){(t=e.exports=function(e){e=e.toLowerCase();var r=t[e];if(!r)throw new Error(e+" is not supported (we accept pull requests)");return new r}).sha=r(132),t.sha1=r(133),t.sha224=r(134),t.sha256=r(65),t.sha384=r(135),t.sha512=r(66)},function(e,t,r){(t=e.exports=r(67)).Stream=t,t.Readable=t,t.Writable=r(39),t.Duplex=r(13),t.Transform=r(71),t.PassThrough=r(141)},function(e,t,r){var n=r(4),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=s),a(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";(function(t,n,i){var a=r(27);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var o,c=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?n:a.nextTick;y.WritableState=g;var f=Object.create(r(22));f.inherits=r(1);var u={deprecate:r(33)},h=r(68),d=r(38).Buffer,l=i.Uint8Array||function(){};var p,b=r(69);function m(){}function g(e,t){o=o||r(13),e=e||{};var n=t instanceof o;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,f=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(f||0===f)?f:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(a.nextTick(i,n),a.nextTick(E,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),E(e,t))}(e,r,n,t,i);else{var s=M(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||_(e,r),n?c(v,e,r,s,i):v(e,r,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(o=o||r(13),!(p.call(y,this)||this instanceof o))return new y(e);this._writableState=new g(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function w(e,t,r,n,i,a,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function v(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),E(e,t)}function _(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,c=!0;r;)i[o]=r,r.isBuf||(c=!1),r=r.next,o+=1;i.allBuffers=c,w(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,h=r.callback;if(w(e,t,!1,t.objectMode?1:f.length,f,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function M(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),E(e,t)}))}function E(e,t){var r=M(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,a.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}f.inherits(y,h),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof g)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,r){var n,i=this._writableState,s=!1,o=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof l);return o&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=m),i.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),a.nextTick(t,r)}(this,r):(o||function(e,t,r,n){var i=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),a.nextTick(n,s),i=!1),i}(this,i,e,r))&&(i.pendingcb++,s=function(e,t,r,n,i,a){if(!r){var s=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,r));return t}(t,n,i);n!==s&&(r=!0,i="buffer",n=s)}var o=t.objectMode?1:n.length;t.length+=o;var c=t.length<t.highWaterMark;c||(t.needDrain=!0);if(t.writing||t.corked){var f=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},f?f.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else w(e,t,!1,o,n,i,a);return c}(this,i,o,e,t,r)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,E(e,t),r&&(t.finished?a.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=b.destroy,y.prototype._undestroy=b.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,r(3),r(70).setImmediate,r(6))},function(e,t,r){"use strict";var n=r(7);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n<r;n++)this.buffer[this.bufferOff+n]=e[t+n];return this.bufferOff+=r,r},i.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(e){var t=0,r=0,n=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var a=e.length-(e.length-t)%this.blockSize;t<a;t+=this.blockSize)this._update(e,t,i,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},i.prototype._updateDecrypt=function(e){for(var t=0,r=0,n=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(n*this.blockSize);n>0;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},i.prototype._unpad=function(e){return e},i.prototype._finalDecrypt=function(){n.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},function(e,t,r){var n=r(154),i=r(162),a=r(84);t.createCipher=t.Cipher=n.createCipher,t.createCipheriv=t.Cipheriv=n.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(a)}},function(e,t,r){var n={ECB:r(155),CBC:r(156),CFB:r(157),CFB8:r(158),CFB1:r(159),OFB:r(160),CTR:r(82),GCM:r(82)},i=r(84);for(var a in i)i[a].module=n[i[a].mode];e.exports=i},function(e,t,r){var n;function i(e){this.rand=e}if(e.exports=function(e){return n||(n=new i(null)),n.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var a=r(166);if("function"!=typeof a.randomBytes)throw new Error("Not supported");i.prototype._rand=function(e){return a.randomBytes(e)}}catch(e){}},function(e,t,r){"use strict";var n=r(18).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,a){if("function"==typeof r)return e(t,null,r);r||(r={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}(a||i);var s=r.readable||!1!==r.readable&&t.readable,o=r.writable||!1!==r.writable&&t.writable,c=function(){t.writable||u()},f=t._writableState&&t._writableState.finished,u=function(){o=!1,f=!0,s||a.call(t)},h=t._readableState&&t._readableState.endEmitted,d=function(){s=!1,h=!0,o||a.call(t)},l=function(e){a.call(t,e)},p=function(){var e;return s&&!h?(t._readableState&&t._readableState.ended||(e=new n),a.call(t,e)):o&&!f?(t._writableState&&t._writableState.ended||(e=new n),a.call(t,e)):void 0},b=function(){t.req.on("finish",u)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?o&&!t._writableState&&(t.on("end",c),t.on("close",c)):(t.on("complete",u),t.on("abort",p),t.req?b():t.on("request",b)),t.on("end",d),t.on("finish",u),!1!==r.error&&t.on("error",l),t.on("close",p),function(){t.removeListener("complete",u),t.removeListener("abort",p),t.removeListener("request",b),t.req&&t.req.removeListener("finish",u),t.removeListener("end",c),t.removeListener("close",c),t.removeListener("finish",u),t.removeListener("end",d),t.removeListener("error",l),t.removeListener("close",p)}}},function(e,t,r){(function(t){var n=r(5),i=r(14);function a(e,r){var i=function(e){var t=s(e);return{blinder:t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(r),a=r.modulus.byteLength(),o=(n.mont(r.modulus),new n(e).mul(i.blinder).umod(r.modulus)),c=o.toRed(n.mont(r.prime1)),f=o.toRed(n.mont(r.prime2)),u=r.coefficient,h=r.prime1,d=r.prime2,l=c.redPow(r.exponent1),p=f.redPow(r.exponent2);l=l.fromRed(),p=p.fromRed();var b=l.isub(p).imul(u).umod(h);return b.imul(d),p.iadd(b),new t(p.imul(i.unblinder).umod(r.modulus).toArray(!1,a))}function s(e){for(var t=e.modulus.byteLength(),r=new n(i(t));r.cmp(e.modulus)>=0||!r.umod(e.prime1)||!r.umod(e.prime2);)r=new n(i(t));return r}e.exports=a,a.getr=s}).call(this,r(4).Buffer)},function(e,t,r){"use strict";var n=t;n.version=r(179).version,n.utils=r(8),n.rand=r(43),n.curve=r(96),n.curves=r(47),n.ec=r(190),n.eddsa=r(194)},function(e,t,r){"use strict";var n,i=t,a=r(48),s=r(96),o=r(8).assert;function c(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new c(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=c,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:a.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:a.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:a.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:a.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:a.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=r(189)}catch(e){n=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:a.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},function(e,t,r){var n=t;n.utils=r(9),n.common=r(24),n.sha=r(183),n.ripemd=r(187),n.hmac=r(188),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},function(e,t,r){"use strict";(function(t){var n,i=r(4),a=i.Buffer,s={};for(n in i)i.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(s[n]=i[n]);var o=s.Buffer={};for(n in a)a.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(o[n]=a[n]);if(s.Buffer.prototype=a.prototype,o.from&&o.from!==Uint8Array.from||(o.from=function(e,t,r){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return a(e,t,r)}),o.alloc||(o.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=a(e);return t&&0!==t.length?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n}),!s.kStringMaxLength)try{s.kStringMaxLength=t.binding("buffer").kStringMaxLength}catch(e){}s.constants||(s.constants={MAX_LENGTH:s.kMaxLength},s.kStringMaxLength&&(s.constants.MAX_STRING_LENGTH=s.kStringMaxLength)),e.exports=s}).call(this,r(3))},function(e,t,r){"use strict";const n=r(51).Reporter,i=r(25).EncoderBuffer,a=r(25).DecoderBuffer,s=r(7),o=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],c=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(o);function f(e,t,r){const n={};this._baseState=n,n.name=r,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=f;const u=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];f.prototype.clone=function(){const e=this._baseState,t={};u.forEach((function(r){t[r]=e[r]}));const r=new this.constructor(t.parent);return r._baseState=t,r},f.prototype._wrap=function(){const e=this._baseState;c.forEach((function(t){this[t]=function(){const r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},f.prototype._init=function(e){const t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},f.prototype._useArgs=function(e){const t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(s(null===t.children),t.children=r,r.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);const n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){f.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),o.forEach((function(e){f.prototype[e]=function(){const t=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(r),this}})),f.prototype.use=function(e){s(e);const t=this._baseState;return s(null===t.use),t.use=e,this},f.prototype.optional=function(){return this._baseState.optional=!0,this},f.prototype.def=function(e){const t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},f.prototype.explicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},f.prototype.implicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},f.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},f.prototype.key=function(e){const t=this._baseState;return s(null===t.key),t.key=e,this},f.prototype.any=function(){return this._baseState.any=!0,this},f.prototype.choice=function(e){const t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},f.prototype.contains=function(e){const t=this._baseState;return s(null===t.use),t.contains=e,this},f.prototype._decode=function(e,t){const r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));let n,i=r.default,s=!0,o=null;if(null!==r.key&&(o=e.enterKey(r.key)),r.optional){let n=null;if(null!==r.explicit?n=r.explicit:null!==r.implicit?n=r.implicit:null!==r.tag&&(n=r.tag),null!==n||r.any){if(s=this._peekTag(e,n,r.any),e.isError(s))return s}else{const n=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(n)}}if(r.obj&&s&&(n=e.enterObject()),s){if(null!==r.explicit){const t=this._decodeTag(e,r.explicit);if(e.isError(t))return t;e=t}const n=e.offset;if(null===r.use&&null===r.choice){let t;r.any&&(t=e.save());const n=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(n))return n;r.any?i=e.raw(t):e=n}if(t&&t.track&&null!==r.tag&&t.track(e.path(),n,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const n=new a(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(n,t)}}return r.obj&&s&&(i=e.leaveObject(n)),null===r.key||null===i&&!0!==s?null!==o&&e.exitKey(o):e.leaveKey(o,r.key,i),i},f.prototype._decodeGeneric=function(e,t,r){const n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},f.prototype._getUse=function(e,t){const r=this._baseState;return r.useDecoder=this._use(e,t),s(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},f.prototype._decodeChoice=function(e,t){const r=this._baseState;let n=null,i=!1;return Object.keys(r.choice).some((function(a){const s=e.save(),o=r.choice[a];try{const r=o._decode(e,t);if(e.isError(r))return!1;n={type:a,value:r},i=!0}catch(t){return e.restore(s),!1}return!0}),this),i?n:e.error("Choice not matched")},f.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},f.prototype._encode=function(e,t,r){const n=this._baseState;if(null!==n.default&&n.default===e)return;const i=this._encodeValue(e,t,r);return void 0===i||this._skipDefault(i,t,r)?void 0:i},f.prototype._encodeValue=function(e,t,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new n);let a=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}let s=null,o=!1;if(i.any)a=this._createEncoderBuffer(e);else if(i.choice)a=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,r)._encode(e,t),o=!0;else if(i.children)s=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");const n=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");const i=r._encode(e[r._baseState.key],t,e);return t.leaveKey(n),i}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(r){const n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),r))}else null!==i.use?a=this._getUse(i.use,r)._encode(e,t):(s=this._encodePrimitive(i.tag,e),o=!0);if(!i.any&&null===i.choice){const e=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?"universal":"context";null===e?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(a=this._encodeComposite(e,o,r,s))}return null!==i.explicit&&(a=this._encodeComposite(i.explicit,!1,"context",a)),a},f.prototype._encodeChoice=function(e,t){const r=this._baseState,n=r.choice[e.type];return n||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},f.prototype._encodePrimitive=function(e,t){const r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},f.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},f.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},function(e,t,r){"use strict";const n=r(1);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function a(e,t){this.path=e,this.rethrow(t)}t.Reporter=i,i.prototype.isError=function(e){return e instanceof a},i.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,r){const n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){const t=this._reporterState,r=t.obj;return t.obj=e,r},i.prototype.error=function(e){let t;const r=this._reporterState,n=e instanceof a;if(t=n?e:new a(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},i.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(a,Error),a.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,a),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,r){"use strict";function n(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const n=e[r];t[n]=r})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=n(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=n(t.tag)},function(e,t,r){(function(e){!function(e,t){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{s=r(218).Buffer}catch(e){}function o(e,t,r){for(var n=0,i=Math.min(e.length,r),a=t;a<i;a++){var s=e.charCodeAt(a)-48;n<<=4,n|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function c(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s<a;s++){var o=e.charCodeAt(s)-48;i*=n,i+=o>=49?o-49+10:o>=17?o-17+10:o}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,s,o=0;if("be"===r)for(i=e.length-1,a=0;i>=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===r)for(i=0,a=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=e.length-6,n=0;r>=t;r-=6)i=o(e,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==t&&(i=o(e,t,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,f=0,u=r;u<o;u+=n)f=c(e,u,u+n,t),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==s){var h=1;for(f=c(e,u,e.length,t),u=0;u<s;u++)h*=t;this.imuln(h),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,c=s/67108864|0;r.words[0]=o;for(var f=1;f<n;f++){for(var u=c>>>26,h=67108863&c,d=Math.min(f,t.length-1),l=Math.max(0,f-e.length+1);l<=d;l++){var p=f-l|0;u+=(s=(i=0|e.words[p])*(a=0|t.words[l])+h)/67108864|0,h=67108863&s}r.words[f]=0|h,c=0|u}return 0!==c?r.words[f]=0|c:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,s=0;s<this.length;s++){var o=this.words[s],c=(16777215&(o<<i|a)).toString(16);r=0!==(a=o>>>24-i&16777215)||s!==this.length-1?f[6-c.length]+c+r:c+r,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var d=u[e],l=h[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(l).toString(e);r=(p=p.idivn(l)).isZero()?b+r:f[d-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var s,o,c="le"===t,f=new e(a),u=this.clone();if(c){for(o=0;!u.isZero();o++)s=u.andln(255),u.iushrn(8),f[o]=s;for(;o<a;o++)f[o]=0}else{for(o=0;o<a-i;o++)f[o]=0;for(o=0;!u.isZero();o++)s=u.andln(255),u.iushrn(8),f[a-o-1]=s}return f},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)t=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<r.length;a++)t=(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,s=0;s<n.length;s++)a=(t=(0|r.words[s])-(0|n.words[s])+a)>>26,this.words[s]=67108863&t;for(;0!==a&&s<r.length;s++)a=(t=(0|r.words[s])+a)>>26,this.words[s]=67108863&t;if(0===a&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var l=function(e,t,r){var n,i,a,s=e.words,o=t.words,c=r.words,f=0,u=0|s[0],h=8191&u,d=u>>>13,l=0|s[1],p=8191&l,b=l>>>13,m=0|s[2],g=8191&m,y=m>>>13,w=0|s[3],v=8191&w,_=w>>>13,M=0|s[4],S=8191&M,E=M>>>13,k=0|s[5],A=8191&k,I=k>>>13,R=0|s[6],x=8191&R,B=R>>>13,P=0|s[7],T=8191&P,N=P>>>13,D=0|s[8],O=8191&D,U=D>>>13,C=0|s[9],j=8191&C,L=C>>>13,q=0|o[0],K=8191&q,F=q>>>13,z=0|o[1],H=8191&z,V=z>>>13,W=0|o[2],G=8191&W,J=W>>>13,Y=0|o[3],Z=8191&Y,X=Y>>>13,Q=0|o[4],$=8191&Q,ee=Q>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],ae=8191&ie,se=ie>>>13,oe=0|o[7],ce=8191&oe,fe=oe>>>13,ue=0|o[8],he=8191&ue,de=ue>>>13,le=0|o[9],pe=8191&le,be=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(f+(n=Math.imul(h,K))|0)+((8191&(i=(i=Math.imul(h,F))+Math.imul(d,K)|0))<<13)|0;f=((a=Math.imul(d,F))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,K),i=(i=Math.imul(p,F))+Math.imul(b,K)|0,a=Math.imul(b,F);var ge=(f+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,H)|0))<<13)|0;f=((a=a+Math.imul(d,V)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,K),i=(i=Math.imul(g,F))+Math.imul(y,K)|0,a=Math.imul(y,F),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,V)|0;var ye=(f+(n=n+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(d,G)|0))<<13)|0;f=((a=a+Math.imul(d,J)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(v,K),i=(i=Math.imul(v,F))+Math.imul(_,K)|0,a=Math.imul(_,F),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,V)|0,n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(b,G)|0,a=a+Math.imul(b,J)|0;var we=(f+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,Z)|0))<<13)|0;f=((a=a+Math.imul(d,X)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(S,K),i=(i=Math.imul(S,F))+Math.imul(E,K)|0,a=Math.imul(E,F),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,V)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(y,G)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(b,Z)|0,a=a+Math.imul(b,X)|0;var ve=(f+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,$)|0))<<13)|0;f=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(A,K),i=(i=Math.imul(A,F))+Math.imul(I,K)|0,a=Math.imul(I,F),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,V)|0)+Math.imul(E,H)|0,a=a+Math.imul(E,V)|0,n=n+Math.imul(v,G)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(_,G)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(y,Z)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,ee)|0;var _e=(f+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(d,re)|0))<<13)|0;f=((a=a+Math.imul(d,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,K),i=(i=Math.imul(x,F))+Math.imul(B,K)|0,a=Math.imul(B,F),n=n+Math.imul(A,H)|0,i=(i=i+Math.imul(A,V)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,V)|0,n=n+Math.imul(S,G)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(E,G)|0,a=a+Math.imul(E,J)|0,n=n+Math.imul(v,Z)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(_,Z)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(b,re)|0,a=a+Math.imul(b,ne)|0;var Me=(f+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,se)|0)+Math.imul(d,ae)|0))<<13)|0;f=((a=a+Math.imul(d,se)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(T,K),i=(i=Math.imul(T,F))+Math.imul(N,K)|0,a=Math.imul(N,F),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(B,H)|0,a=a+Math.imul(B,V)|0,n=n+Math.imul(A,G)|0,i=(i=i+Math.imul(A,J)|0)+Math.imul(I,G)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(E,Z)|0,a=a+Math.imul(E,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(b,ae)|0,a=a+Math.imul(b,se)|0;var Se=(f+(n=n+Math.imul(h,ce)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(d,ce)|0))<<13)|0;f=((a=a+Math.imul(d,fe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(O,K),i=(i=Math.imul(O,F))+Math.imul(U,K)|0,a=Math.imul(U,F),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,V)|0)+Math.imul(N,H)|0,a=a+Math.imul(N,V)|0,n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(B,G)|0,a=a+Math.imul(B,J)|0,n=n+Math.imul(A,Z)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(I,Z)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(E,$)|0,a=a+Math.imul(E,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ne)|0,n=n+Math.imul(g,ae)|0,i=(i=i+Math.imul(g,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(b,ce)|0,a=a+Math.imul(b,fe)|0;var Ee=(f+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;f=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,F))+Math.imul(L,K)|0,a=Math.imul(L,F),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(U,H)|0,a=a+Math.imul(U,V)|0,n=n+Math.imul(T,G)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(N,G)|0,a=a+Math.imul(N,J)|0,n=n+Math.imul(x,Z)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(B,Z)|0,a=a+Math.imul(B,X)|0,n=n+Math.imul(A,$)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(E,re)|0,a=a+Math.imul(E,ne)|0,n=n+Math.imul(v,ae)|0,i=(i=i+Math.imul(v,se)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,se)|0,n=n+Math.imul(g,ce)|0,i=(i=i+Math.imul(g,fe)|0)+Math.imul(y,ce)|0,a=a+Math.imul(y,fe)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(b,he)|0,a=a+Math.imul(b,de)|0;var ke=(f+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,be)|0)+Math.imul(d,pe)|0))<<13)|0;f=((a=a+Math.imul(d,be)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,V))+Math.imul(L,H)|0,a=Math.imul(L,V),n=n+Math.imul(O,G)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(U,G)|0,a=a+Math.imul(U,J)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(N,Z)|0,a=a+Math.imul(N,X)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(B,$)|0,a=a+Math.imul(B,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(S,ae)|0,i=(i=i+Math.imul(S,se)|0)+Math.imul(E,ae)|0,a=a+Math.imul(E,se)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,fe)|0)+Math.imul(_,ce)|0,a=a+Math.imul(_,fe)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,de)|0)+Math.imul(y,he)|0,a=a+Math.imul(y,de)|0;var Ae=(f+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;f=((a=a+Math.imul(b,be)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(j,G),i=(i=Math.imul(j,J))+Math.imul(L,G)|0,a=Math.imul(L,J),n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(U,Z)|0,a=a+Math.imul(U,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(N,$)|0,a=a+Math.imul(N,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,se)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,se)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,fe)|0)+Math.imul(E,ce)|0,a=a+Math.imul(E,fe)|0,n=n+Math.imul(v,he)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(_,he)|0,a=a+Math.imul(_,de)|0;var Ie=(f+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,be)|0)+Math.imul(y,pe)|0))<<13)|0;f=((a=a+Math.imul(y,be)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(j,Z),i=(i=Math.imul(j,X))+Math.imul(L,Z)|0,a=Math.imul(L,X),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(U,$)|0,a=a+Math.imul(U,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(N,re)|0,a=a+Math.imul(N,ne)|0,n=n+Math.imul(x,ae)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,se)|0,n=n+Math.imul(A,ce)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(I,ce)|0,a=a+Math.imul(I,fe)|0,n=n+Math.imul(S,he)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(E,he)|0,a=a+Math.imul(E,de)|0;var Re=(f+(n=n+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,be)|0)+Math.imul(_,pe)|0))<<13)|0;f=((a=a+Math.imul(_,be)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,ee))+Math.imul(L,$)|0,a=Math.imul(L,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(U,re)|0,a=a+Math.imul(U,ne)|0,n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,se)|0)+Math.imul(N,ae)|0,a=a+Math.imul(N,se)|0,n=n+Math.imul(x,ce)|0,i=(i=i+Math.imul(x,fe)|0)+Math.imul(B,ce)|0,a=a+Math.imul(B,fe)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,de)|0)+Math.imul(I,he)|0,a=a+Math.imul(I,de)|0;var xe=(f+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,be)|0)+Math.imul(E,pe)|0))<<13)|0;f=((a=a+Math.imul(E,be)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(j,re),i=(i=Math.imul(j,ne))+Math.imul(L,re)|0,a=Math.imul(L,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(U,ae)|0,a=a+Math.imul(U,se)|0,n=n+Math.imul(T,ce)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(N,ce)|0,a=a+Math.imul(N,fe)|0,n=n+Math.imul(x,he)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(B,he)|0,a=a+Math.imul(B,de)|0;var Be=(f+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,be)|0)+Math.imul(I,pe)|0))<<13)|0;f=((a=a+Math.imul(I,be)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(j,ae),i=(i=Math.imul(j,se))+Math.imul(L,ae)|0,a=Math.imul(L,se),n=n+Math.imul(O,ce)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(U,ce)|0,a=a+Math.imul(U,fe)|0,n=n+Math.imul(T,he)|0,i=(i=i+Math.imul(T,de)|0)+Math.imul(N,he)|0,a=a+Math.imul(N,de)|0;var Pe=(f+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,be)|0)+Math.imul(B,pe)|0))<<13)|0;f=((a=a+Math.imul(B,be)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(j,ce),i=(i=Math.imul(j,fe))+Math.imul(L,ce)|0,a=Math.imul(L,fe),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(U,he)|0,a=a+Math.imul(U,de)|0;var Te=(f+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,be)|0)+Math.imul(N,pe)|0))<<13)|0;f=((a=a+Math.imul(N,be)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(j,he),i=(i=Math.imul(j,de))+Math.imul(L,he)|0,a=Math.imul(L,de);var Ne=(f+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,be)|0)+Math.imul(U,pe)|0))<<13)|0;f=((a=a+Math.imul(U,be)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var De=(f+(n=Math.imul(j,pe))|0)+((8191&(i=(i=Math.imul(j,be))+Math.imul(L,pe)|0))<<13)|0;return f=((a=Math.imul(L,be))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,c[0]=me,c[1]=ge,c[2]=ye,c[3]=we,c[4]=ve,c[5]=_e,c[6]=Me,c[7]=Se,c[8]=Ee,c[9]=ke,c[10]=Ae,c[11]=Ie,c[12]=Re,c[13]=xe,c[14]=Be,c[15]=Pe,c[16]=Te,c[17]=Ne,c[18]=De,0!==f&&(c[19]=f,r.length++),r};function p(e,t,r){return(new b).mulp(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(l=d),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?l(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var s=i;i=0;for(var o=67108863&n,c=Math.min(a,t.length-1),f=Math.max(0,a-e.length+1);f<=c;f++){var u=a-f,h=(0|e.words[u])*(0|t.words[f]),d=67108863&h;o=67108863&(d=d+o|0),i+=(s=(s=s+(h/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},b.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},b.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s<a;s++)n[s]=t[e[s]],i[s]=r[e[s]]},b.prototype.transform=function(e,t,r,n,i,a){this.permute(a,e,t,r,n,i);for(var s=1;s<i;s<<=1)for(var o=s<<1,c=Math.cos(2*Math.PI/o),f=Math.sin(2*Math.PI/o),u=0;u<i;u+=o)for(var h=c,d=f,l=0;l<s;l++){var p=r[u+l],b=n[u+l],m=r[u+l+s],g=n[u+l+s],y=h*m-d*g;g=h*g+d*m,m=y,r[u+l]=p+m,n[u+l]=b+g,r[u+l+s]=p-m,n[u+l+s]=b-g,l!==o&&(y=c*h-f*d,d=c*d+f*h,h=y)}},b.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},b.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},b.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},b.prototype.convert13b=function(e,t,r,i){for(var a=0,s=0;s<t;s++)a+=0|e[s],r[2*s]=8191&a,a>>>=13,r[2*s+1]=8191&a,a>>>=13;for(s=2*t;s<i;++s)r[s]=0;n(0===a),n(0==(-8192&a))},b.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},b.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),a=this.stub(n),s=new Array(n),o=new Array(n),c=new Array(n),f=new Array(n),u=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(e.words,e.length,s,n),this.convert13b(t.words,t.length,f,n),this.transform(s,a,o,c,n,i),this.transform(f,a,u,h,n,i);for(var l=0;l<n;l++){var p=o[l]*u[l]-c[l]*h[l];c[l]=o[l]*h[l]+c[l]*u[l],o[l]=p}return this.conjugate(o,c,n),this.transform(o,c,d,a,n,i),this.conjugate(d,a,n),this.normalize13b(d,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),p(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,a=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,c=(0|this.words[t])-o<<r;this.words[t]=c|s,s=o>>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,c=r;if(i-=s,i=Math.max(0,i),c){for(var f=0;f<s;f++)c.words[f]=this.words[f];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,f=0;f<this.length;f++)this.words[f]=this.words[f+s];else this.words[0]=0,this.length=1;var u=0;for(f=this.length-1;f>=0&&(0!==u||f>=i);f--){var h=0|this.words[f];this.words[f]=u<<26-a|h>>>a,u=h&o}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var i,a,s=e.length+r;this._expand(s);var o=0;for(i=0;i<e.length;i++){a=(0|this.words[i+r])+o;var c=(0|e.words[i])*t;o=((a-=67108863&c)>>26)-(c/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)o=(a=(0|this.words[i+r])+o)>>26,this.words[i+r]=67108863&a;if(0===o)return this.strip();for(n(-1===o),o=0,i=0;i<this.length;i++)o=(a=-(0|this.words[i])+o)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var o,c=n.length-i.length;if("mod"!==t){(o=new a(null)).length=c+1,o.words=new Array(o.length);for(var f=0;f<o.length;f++)o.words[f]=0}var u=n.clone()._ishlnsubmul(i,1,c);0===u.negative&&(n=u,o&&(o.words[c]=1));for(var h=c-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);o&&(o.words[h]=d)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(i=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(i=o.div.neg()),{div:i,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,o},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),s=new a(0),o=new a(0),c=new a(1),f=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++f;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var d=0,l=1;0==(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(u),s.isub(h)),i.iushrn(1),s.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(u),c.isub(h)),o.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(o),s.isub(c)):(r.isub(t),o.isub(i),c.isub(s))}return{a:o,b:c,gcd:r.iushln(f)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new a(1),o=new a(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,u=1;0==(t.words[0]&u)&&f<26;++f,u<<=1);if(f>0)for(t.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o)):(r.isub(t),o.isub(s))}return(i=0===t.cmpn(1)?s:o).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,s=r;0!==a&&s<this.length;s++){var o=0|this.words[s];a=(o+=a)>>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new M(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},i(y,g),y.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var a=0|e.words[n];e.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,g),i(v,g),i(_,g),_.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new w;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return m[e]=t,t},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},M.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},M.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var o=new a(1).toRed(this),c=o.redNeg(),f=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,f).cmp(c);)u.redIAdd(c);for(var h=this.pow(u,i),d=this.pow(e,i.addn(1).iushrn(1)),l=this.pow(e,i),p=s;0!==l.cmp(o);){for(var b=l,m=0;0!==b.cmp(o);m++)b=b.redSqr();n(m<p);var g=this.pow(h,new a(1).iushln(p-m-1));d=d.redMul(g),h=g.redSqr(),l=l.redMul(h),p=m}return d},M.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},M.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],s=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),n=t.length-1;n>=0;n--){for(var f=t.words[n],u=c-1;u>=0;u--){var h=f>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==s?(s<<=1,s|=h,(4===++o||0===n&&0===u)&&(i=this.mul(i,r[s]),o=0,s=0)):o=0}c=26}return i},M.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},M.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new S(e)},i(S,M),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(26)(e))},function(e,t,r){var n,i=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,t){if(!n[e]){n[e]={};for(var r=0;r<e.length;r++)n[e][e.charAt(r)]=r}return n[e][t]}var a={compressToBase64:function(e){if(null==e)return"";var r=a._compress(e,6,(function(e){return t.charAt(e)}));switch(r.length%4){default:case 0:return r;case 1:return r+"===";case 2:return r+"==";case 3:return r+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:a._decompress(e.length,32,(function(r){return i(t,e.charAt(r))}))},compressToUTF16:function(t){return null==t?"":a._compress(t,15,(function(t){return e(t+32)}))+" "},decompressFromUTF16:function(e){return null==e?"":""==e?null:a._decompress(e.length,16384,(function(t){return e.charCodeAt(t)-32}))},compressToUint8Array:function(e){for(var t=a.compress(e),r=new Uint8Array(2*t.length),n=0,i=t.length;n<i;n++){var s=t.charCodeAt(n);r[2*n]=s>>>8,r[2*n+1]=s%256}return r},decompressFromUint8Array:function(t){if(null==t)return a.decompress(t);for(var r=new Array(t.length/2),n=0,i=r.length;n<i;n++)r[n]=256*t[2*n]+t[2*n+1];var s=[];return r.forEach((function(t){s.push(e(t))})),a.decompress(s.join(""))},compressToEncodedURIComponent:function(e){return null==e?"":a._compress(e,6,(function(e){return r.charAt(e)}))},decompressFromEncodedURIComponent:function(e){return null==e?"":""==e?null:(e=e.replace(/ /g,"+"),a._decompress(e.length,32,(function(t){return i(r,e.charAt(t))})))},compress:function(t){return a._compress(t,16,(function(t){return e(t)}))},_compress:function(e,t,r){if(null==e)return"";var n,i,a,s={},o={},c="",f="",u="",h=2,d=3,l=2,p=[],b=0,m=0;for(a=0;a<e.length;a+=1)if(c=e.charAt(a),Object.prototype.hasOwnProperty.call(s,c)||(s[c]=d++,o[c]=!0),f=u+c,Object.prototype.hasOwnProperty.call(s,f))u=f;else{if(Object.prototype.hasOwnProperty.call(o,u)){if(u.charCodeAt(0)<256){for(n=0;n<l;n++)b<<=1,m==t-1?(m=0,p.push(r(b)),b=0):m++;for(i=u.charCodeAt(0),n=0;n<8;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}else{for(i=1,n=0;n<l;n++)b=b<<1|i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}0==--h&&(h=Math.pow(2,l),l++),delete o[u]}else for(i=s[u],n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;0==--h&&(h=Math.pow(2,l),l++),s[f]=d++,u=String(c)}if(""!==u){if(Object.prototype.hasOwnProperty.call(o,u)){if(u.charCodeAt(0)<256){for(n=0;n<l;n++)b<<=1,m==t-1?(m=0,p.push(r(b)),b=0):m++;for(i=u.charCodeAt(0),n=0;n<8;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}else{for(i=1,n=0;n<l;n++)b=b<<1|i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}0==--h&&(h=Math.pow(2,l),l++),delete o[u]}else for(i=s[u],n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;0==--h&&(h=Math.pow(2,l),l++)}for(i=2,n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;for(;;){if(b<<=1,m==t-1){p.push(r(b));break}m++}return p.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,r,n){var i,a,s,o,c,f,u,h=[],d=4,l=4,p=3,b="",m=[],g={val:n(0),position:r,index:1};for(i=0;i<3;i+=1)h[i]=i;for(s=0,c=Math.pow(2,2),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;switch(s){case 0:for(s=0,c=Math.pow(2,8),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;u=e(s);break;case 1:for(s=0,c=Math.pow(2,16),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;u=e(s);break;case 2:return""}for(h[3]=u,a=u,m.push(u);;){if(g.index>t)return"";for(s=0,c=Math.pow(2,p),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;switch(u=s){case 0:for(s=0,c=Math.pow(2,8),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;h[l++]=e(s),u=l-1,d--;break;case 1:for(s=0,c=Math.pow(2,16),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;h[l++]=e(s),u=l-1,d--;break;case 2:return m.join("")}if(0==d&&(d=Math.pow(2,p),p++),h[u])b=h[u];else{if(u!==l)return null;b=a+a.charAt(0)}m.push(b),h[l++]=a+b.charAt(0),a=b,0==--d&&(d=Math.pow(2,p),p++)}}};return a}();void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)},function(e,t,r){var n,i=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,t){if(!n[e]){n[e]={};for(var r=0;r<e.length;r++)n[e][e.charAt(r)]=r}return n[e][t]}var a={compressToBase64:function(e){if(null==e)return"";var r=a._compress(e,6,(function(e){return t.charAt(e)}));switch(r.length%4){default:case 0:return r;case 1:return r+"===";case 2:return r+"==";case 3:return r+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:a._decompress(e.length,32,(function(r){return i(t,e.charAt(r))}))},compressToUTF16:function(t){return null==t?"":a._compress(t,15,(function(t){return e(t+32)}))+" "},decompressFromUTF16:function(e){return null==e?"":""==e?null:a._decompress(e.length,16384,(function(t){return e.charCodeAt(t)-32}))},compressToUint8Array:function(e){for(var t=a.compress(e),r=new Uint8Array(2*t.length),n=0,i=t.length;n<i;n++){var s=t.charCodeAt(n);r[2*n]=s>>>8,r[2*n+1]=s%256}return r},decompressFromUint8Array:function(t){if(null==t)return a.decompress(t);for(var r=new Array(t.length/2),n=0,i=r.length;n<i;n++)r[n]=256*t[2*n]+t[2*n+1];var s=[];return r.forEach((function(t){s.push(e(t))})),a.decompress(s.join(""))},compressToEncodedURIComponent:function(e){return null==e?"":a._compress(e,6,(function(e){return r.charAt(e)}))},decompressFromEncodedURIComponent:function(e){return null==e?"":""==e?null:(e=e.replace(/ /g,"+"),a._decompress(e.length,32,(function(t){return i(r,e.charAt(t))})))},compress:function(t){return a._compress(t,16,(function(t){return e(t)}))},_compress:function(e,t,r){if(null==e)return"";var n,i,a,s={},o={},c="",f="",u="",h=2,d=3,l=2,p=[],b=0,m=0;for(a=0;a<e.length;a+=1)if(c=e.charAt(a),Object.prototype.hasOwnProperty.call(s,c)||(s[c]=d++,o[c]=!0),f=u+c,Object.prototype.hasOwnProperty.call(s,f))u=f;else{if(Object.prototype.hasOwnProperty.call(o,u)){if(u.charCodeAt(0)<256){for(n=0;n<l;n++)b<<=1,m==t-1?(m=0,p.push(r(b)),b=0):m++;for(i=u.charCodeAt(0),n=0;n<8;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}else{for(i=1,n=0;n<l;n++)b=b<<1|i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}0==--h&&(h=Math.pow(2,l),l++),delete o[u]}else for(i=s[u],n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;0==--h&&(h=Math.pow(2,l),l++),s[f]=d++,u=String(c)}if(""!==u){if(Object.prototype.hasOwnProperty.call(o,u)){if(u.charCodeAt(0)<256){for(n=0;n<l;n++)b<<=1,m==t-1?(m=0,p.push(r(b)),b=0):m++;for(i=u.charCodeAt(0),n=0;n<8;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}else{for(i=1,n=0;n<l;n++)b=b<<1|i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1}0==--h&&(h=Math.pow(2,l),l++),delete o[u]}else for(i=s[u],n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;0==--h&&(h=Math.pow(2,l),l++)}for(i=2,n=0;n<l;n++)b=b<<1|1&i,m==t-1?(m=0,p.push(r(b)),b=0):m++,i>>=1;for(;;){if(b<<=1,m==t-1){p.push(r(b));break}m++}return p.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,r,n){var i,a,s,o,c,f,u,h=[],d=4,l=4,p=3,b="",m=[],g={val:n(0),position:r,index:1};for(i=0;i<3;i+=1)h[i]=i;for(s=0,c=Math.pow(2,2),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;switch(s){case 0:for(s=0,c=Math.pow(2,8),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;u=e(s);break;case 1:for(s=0,c=Math.pow(2,16),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;u=e(s);break;case 2:return""}for(h[3]=u,a=u,m.push(u);;){if(g.index>t)return"";for(s=0,c=Math.pow(2,p),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;switch(u=s){case 0:for(s=0,c=Math.pow(2,8),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;h[l++]=e(s),u=l-1,d--;break;case 1:for(s=0,c=Math.pow(2,16),f=1;f!=c;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=r,g.val=n(g.index++)),s|=(o>0?1:0)*f,f<<=1;h[l++]=e(s),u=l-1,d--;break;case 2:return m.join("")}if(0==d&&(d=Math.pow(2,p),p++),h[u])b=h[u];else{if(u!==l)return null;b=a+a.charAt(0)}m.push(b),h[l++]=a+b.charAt(0),a=b,0==--d&&(d=Math.pow(2,p),p++)}}};return a}();void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}t.resolve=function(){for(var t="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var s=a>=0?arguments[a]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=r(n(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var a=t.isAbsolute(e),s="/"===i(e,-1);return(e=r(n(e.split("/"),(function(e){return!!e})),!a).join("/"))||a||(e="."),e&&s&&(e+="/"),(a?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var i=n(e.split("/")),a=n(r.split("/")),s=Math.min(i.length,a.length),o=s,c=0;c<s;c++)if(i[c]!==a[c]){o=c;break}var f=[];for(c=o;c<i.length;c++)f.push("..");return(f=f.concat(a.slice(o))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,n=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){n=a;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var r=function(e){"string"!=typeof e&&(e+="");var t,r=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){r=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(r,n)}(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,r=0,n=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var o=e.charCodeAt(s);if(47!==o)-1===n&&(i=!1,n=s+1),46===o?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=s+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)};var i="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r(3))},function(e,t,r){"use strict";var n=r(2).Buffer,i=r(123).Transform;function a(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(1)(a,i),a.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},a.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},a.prototype.update=function(e,t){if(function(e,t){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var a=this._blockOffset;a<this._blockSize;)r[a++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)r[this._blockOffset++]=e[i++];for(var s=0,o=8*e.length;o>0;++s)this._length[s]+=o,(o=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*o);return this},a.prototype._update=function(){throw new Error("_update is not implemented")},a.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},a.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=a},function(e,t,r){"use strict";(function(t,n){var i;e.exports=k,k.ReadableState=E;r(11).EventEmitter;var a=function(e,t){return e.listeners(t).length},s=r(60),o=r(4).Buffer,c=t.Uint8Array||function(){};var f,u=r(124);f=u&&u.debuglog?u.debuglog("stream"):function(){};var h,d,l,p=r(125),b=r(61),m=r(62).getHighWaterMark,g=r(15).codes,y=g.ERR_INVALID_ARG_TYPE,w=g.ERR_STREAM_PUSH_AFTER_EOF,v=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(1)(k,s);var M=b.errorOrDestroy,S=["error","close","destroy","pause","resume"];function E(e,t,n){i=i||r(16),e=e||{},"boolean"!=typeof n&&(n=t instanceof i),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=m(this,e,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(h||(h=r(12).StringDecoder),this.decoder=new h(e.encoding),this.encoding=e.encoding)}function k(e){if(i=i||r(16),!(this instanceof k))return new k(e);var t=this instanceof i;this._readableState=new E(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function A(e,t,r,n,i){f("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(f("onEofChunk"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,B(e)))}(e,s);else if(i||(a=function(e,t){var r;n=t,o.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],t));var n;return r}(s,t)),a)M(e,a);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=function(e){return o.from(e)}(t)),n)s.endEmitted?M(e,new _):I(e,s,t,!0);else if(s.ended)M(e,new w);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?I(e,s,t,!1):P(e,s)):I(e,s,t,!1)}else n||(s.reading=!1,P(e,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function I(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&x(e)),P(e,t)}Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),k.prototype.destroy=b.destroy,k.prototype._undestroy=b.undestroy,k.prototype._destroy=function(e,t){t(e)},k.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=o.from(e,t),t=""),r=!0),A(this,e,t,!1,r)},k.prototype.unshift=function(e){return A(this,e,null,!0,!1)},k.prototype.isPaused=function(){return!1===this._readableState.flowing},k.prototype.setEncoding=function(e){h||(h=r(12).StringDecoder);var t=new h(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i="";null!==n;)i+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function R(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;f("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(B,e))}function B(e){var t=e._readableState;f("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,U(e)}function P(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(T,e,t))}function T(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(f("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function N(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function D(e){f("readable nexttick read 0"),e.read(0)}function O(e,t){f("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),U(e),t.flowing&&!t.reading&&e.read(0)}function U(e){var t=e._readableState;for(f("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function j(e){var t=e._readableState;f("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(L,t,e))}function L(e,t){if(f("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function q(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}k.prototype.read=function(e){f("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?j(this):x(this),null;if(0===(e=R(e,t))&&t.ended)return 0===t.length&&j(this),null;var n,i=t.needReadable;return f("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&f("length less than watermark",i=!0),t.ended||t.reading?f("reading or ended",i=!1):i&&(f("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=R(r,t))),null===(n=e>0?C(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&j(this)),null!==n&&this.emit("data",n),n},k.prototype._read=function(e){M(this,new v("_read()"))},k.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:m;function o(t,n){f("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),e.removeListener("close",p),e.removeListener("finish",b),e.removeListener("drain",u),e.removeListener("error",l),e.removeListener("unpipe",o),r.removeListener("end",c),r.removeListener("end",m),r.removeListener("data",d),h=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){f("onend"),e.end()}i.endEmitted?n.nextTick(s):r.once("end",s),e.on("unpipe",o);var u=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,U(e))}}(r);e.on("drain",u);var h=!1;function d(t){f("ondata");var n=e.write(t);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==q(i.pipes,e))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function l(t){f("onerror",t),m(),e.removeListener("error",l),0===a(e,"error")&&M(e,t)}function p(){e.removeListener("finish",b),m()}function b(){f("onfinish"),e.removeListener("close",p),m()}function m(){f("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",p),e.once("finish",b),e.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,{hasUnpiped:!1});return this}var s=q(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},k.prototype.on=function(e,t){var r=s.prototype.on.call(this,e,t),i=this._readableState;return"data"===e?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?x(this):i.reading||n.nextTick(D,this))),r},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(N,this),r},k.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(N,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(f("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(O,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<S.length;a++)e.on(S[a],this.emit.bind(this,S[a]));return this._read=function(t){f("wrapped _read",t),n&&(n=!1,e.resume())},this},"function"==typeof Symbol&&(k.prototype[Symbol.asyncIterator]=function(){return void 0===d&&(d=r(128)),d(this)}),Object.defineProperty(k.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(k.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(k.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),k._fromList=C,Object.defineProperty(k.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(k.from=function(e,t){return void 0===l&&(l=r(129)),l(k,e,t)})}).call(this,r(6),r(3))},function(e,t,r){e.exports=r(11).EventEmitter},function(e,t,r){"use strict";(function(t){function r(e,t){i(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,a){var s=this,o=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return o||c?(a?a(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(i,this,e)):t.nextTick(i,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?s._writableState?s._writableState.errorEmitted?t.nextTick(n,s):(s._writableState.errorEmitted=!0,t.nextTick(r,s,e)):t.nextTick(r,s,e):a?(t.nextTick(n,s),a(e)):t.nextTick(n,s)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}}).call(this,r(3))},function(e,t,r){"use strict";var n=r(15).codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}},function(e,t,r){"use strict";(function(t,n){function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}var a;e.exports=k,k.WritableState=E;var s={deprecate:r(33)},o=r(60),c=r(4).Buffer,f=t.Uint8Array||function(){};var u,h=r(61),d=r(62).getHighWaterMark,l=r(15).codes,p=l.ERR_INVALID_ARG_TYPE,b=l.ERR_METHOD_NOT_IMPLEMENTED,m=l.ERR_MULTIPLE_CALLBACK,g=l.ERR_STREAM_CANNOT_PIPE,y=l.ERR_STREAM_DESTROYED,w=l.ERR_STREAM_NULL_VALUES,v=l.ERR_STREAM_WRITE_AFTER_END,_=l.ERR_UNKNOWN_ENCODING,M=h.errorOrDestroy;function S(){}function E(e,t,s){a=a||r(16),e=e||{},"boolean"!=typeof s&&(s=t instanceof a),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,i=r.sync,a=r.writecb;if("function"!=typeof a)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,i,a){--t.pendingcb,r?(n.nextTick(a,i),n.nextTick(P,e,t),e._writableState.errorEmitted=!0,M(e,i)):(a(i),e._writableState.errorEmitted=!0,M(e,i),P(e,t))}(e,r,i,t,a);else{var s=x(r)||e.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||R(e,r),i?n.nextTick(I,e,r,s,a):I(e,r,s,a)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function k(e){var t=this instanceof(a=a||r(16));if(!t&&!u.call(k,this))return new k(e);this._writableState=new E(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function A(e,t,r,n,i,a,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function I(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),P(e,t)}function R(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,a=new Array(n),s=t.corkedRequestsFree;s.entry=r;for(var o=0,c=!0;r;)a[o]=r,r.isBuf||(c=!1),r=r.next,o+=1;a.allBuffers=c,A(e,t,!0,t.length,a,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,h=r.callback;if(A(e,t,!1,t.objectMode?1:f.length,f,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function x(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function B(e,t){e._final((function(r){t.pendingcb--,r&&M(e,r),t.prefinished=!0,e.emit("prefinish"),P(e,t)}))}function P(e,t){var r=x(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,n.nextTick(B,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}r(1)(k,o),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||this===k&&(e&&e._writableState instanceof E)}})):u=function(e){return e instanceof this},k.prototype.pipe=function(){M(this,new g)},k.prototype.write=function(e,t,r){var i,a=this._writableState,s=!1,o=!a.objectMode&&(i=e,c.isBuffer(i)||i instanceof f);return o&&!c.isBuffer(e)&&(e=function(e){return c.from(e)}(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=a.defaultEncoding),"function"!=typeof r&&(r=S),a.ending?function(e,t){var r=new v;M(e,r),n.nextTick(t,r)}(this,r):(o||function(e,t,r,i){var a;return null===r?a=new w:"string"==typeof r||t.objectMode||(a=new p("chunk",["string","Buffer"],r)),!a||(M(e,a),n.nextTick(i,a),!1)}(this,a,e,r))&&(a.pendingcb++,s=function(e,t,r,n,i,a){if(!r){var s=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=c.from(t,r));return t}(t,n,i);n!==s&&(r=!0,i="buffer",n=s)}var o=t.objectMode?1:n.length;t.length+=o;var f=t.length<t.highWaterMark;f||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else A(e,t,!1,o,n,i,a);return f}(this,a,o,e,t,r)),s},k.prototype.cork=function(){this._writableState.corked++},k.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||R(this,e))},k.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,r){r(new b("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,r){t.ending=!0,P(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,i,r),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=h.destroy,k.prototype._undestroy=h.undestroy,k.prototype._destroy=function(e,t){t(e)}}).call(this,r(6),r(3))},function(e,t,r){"use strict";e.exports=u;var n=r(15).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,s=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,c=r(16);function f(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);c.call(this,e),this._transformState={afterTransform:f.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",h)}function h(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?d(this,null,null):this._flush((function(t,r){d(e,t,r)}))}function d(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new o;if(e._transformState.transforming)throw new s;return e.push(null)}r(1)(u,c),u.prototype.push=function(e,t){return this._transformState.needTransform=!1,c.prototype.push.call(this,e,t)},u.prototype._transform=function(e,t,r){r(new i("_transform()"))},u.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},u.prototype._destroy=function(e,t){c.prototype._destroy.call(this,e,(function(e){t(e)}))}},function(e,t,r){var n=r(1),i=r(17),a=r(2).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],o=new Array(64);function c(){this.init(),this._w=o,i.call(this,64,56)}function f(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function h(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function l(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}n(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,a=0|this._c,o=0|this._d,c=0|this._e,p=0|this._f,b=0|this._g,m=0|this._h,g=0;g<16;++g)r[g]=e.readInt32BE(4*g);for(;g<64;++g)r[g]=0|(((t=r[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[g-7]+l(r[g-15])+r[g-16];for(var y=0;y<64;++y){var w=m+d(c)+f(c,p,b)+s[y]+r[y]|0,v=h(n)+u(n,i,a)|0;m=b,b=p,p=c,c=o+w|0,o=a,a=i,i=n,n=w+v|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=a+this._c|0,this._d=o+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=b+this._g|0,this._h=m+this._h|0},c.prototype._hash=function(){var e=a.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},function(e,t,r){var n=r(1),i=r(17),a=r(2).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],o=new Array(160);function c(){this.init(),this._w=o,i.call(this,128,112)}function f(e,t,r){return r^e&(t^r)}function u(e,t,r){return e&t|r&(e|t)}function h(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function b(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function g(e,t){return e>>>0<t>>>0?1:0}n(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,a=0|this._dh,o=0|this._eh,c=0|this._fh,y=0|this._gh,w=0|this._hh,v=0|this._al,_=0|this._bl,M=0|this._cl,S=0|this._dl,E=0|this._el,k=0|this._fl,A=0|this._gl,I=0|this._hl,R=0;R<32;R+=2)t[R]=e.readInt32BE(4*R),t[R+1]=e.readInt32BE(4*R+4);for(;R<160;R+=2){var x=t[R-30],B=t[R-30+1],P=l(x,B),T=p(B,x),N=b(x=t[R-4],B=t[R-4+1]),D=m(B,x),O=t[R-14],U=t[R-14+1],C=t[R-32],j=t[R-32+1],L=T+U|0,q=P+O+g(L,T)|0;q=(q=q+N+g(L=L+D|0,D)|0)+C+g(L=L+j|0,j)|0,t[R]=q,t[R+1]=L}for(var K=0;K<160;K+=2){q=t[K],L=t[K+1];var F=u(r,n,i),z=u(v,_,M),H=h(r,v),V=h(v,r),W=d(o,E),G=d(E,o),J=s[K],Y=s[K+1],Z=f(o,c,y),X=f(E,k,A),Q=I+G|0,$=w+W+g(Q,I)|0;$=($=($=$+Z+g(Q=Q+X|0,X)|0)+J+g(Q=Q+Y|0,Y)|0)+q+g(Q=Q+L|0,L)|0;var ee=V+z|0,te=H+F+g(ee,V)|0;w=y,I=A,y=c,A=k,c=o,k=E,o=a+$+g(E=S+Q|0,S)|0,a=i,S=M,i=n,M=_,n=r,_=v,r=$+te+g(v=Q+ee|0,Q)|0}this._al=this._al+v|0,this._bl=this._bl+_|0,this._cl=this._cl+M|0,this._dl=this._dl+S|0,this._el=this._el+E|0,this._fl=this._fl+k|0,this._gl=this._gl+A|0,this._hl=this._hl+I|0,this._ah=this._ah+r+g(this._al,v)|0,this._bh=this._bh+n+g(this._bl,_)|0,this._ch=this._ch+i+g(this._cl,M)|0,this._dh=this._dh+a+g(this._dl,S)|0,this._eh=this._eh+o+g(this._el,E)|0,this._fh=this._fh+c+g(this._fl,k)|0,this._gh=this._gh+y+g(this._gl,A)|0,this._hh=this._hh+w+g(this._hl,I)|0},c.prototype._hash=function(){var e=a.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},function(e,t,r){"use strict";(function(t,n){var i=r(27);e.exports=w;var a,s=r(56);w.ReadableState=y;r(11).EventEmitter;var o=function(e,t){return e.listeners(t).length},c=r(68),f=r(38).Buffer,u=t.Uint8Array||function(){};var h=Object.create(r(22));h.inherits=r(1);var d=r(137),l=void 0;l=d&&d.debuglog?d.debuglog("stream"):function(){};var p,b=r(138),m=r(69);h.inherits(w,c);var g=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var n=t instanceof(a=a||r(13));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,o=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:o,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=r(12).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function w(e){if(a=a||r(13),!(this instanceof w))return new w(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function v(e,t,r,n,i){var a,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,S(e)}(e,s)):(i||(a=function(e,t){var r;n=t,f.isBuffer(n)||n instanceof u||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(s,t)),a?e.emit("error",a):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===f.prototype||(t=function(e){return f.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):_(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?_(e,s,t,!1):k(e,s)):_(e,s,t,!1))):n||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function _(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&S(e)),k(e,t)}Object.defineProperty(w.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),w.prototype.destroy=m.destroy,w.prototype._undestroy=m.undestroy,w.prototype._destroy=function(e,t){this.push(null),t(e)},w.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=f.from(e,t),t=""),r=!0),v(this,e,t,!1,r)},w.prototype.unshift=function(e){return v(this,e,null,!0,!1)},w.prototype.isPaused=function(){return!1===this._readableState.flowing},w.prototype.setEncoding=function(e){return p||(p=r(12).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};function M(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function S(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(l("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(E,e):E(e))}function E(e){l("emit readable"),e.emit("readable"),x(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(A,e,t))}function A(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(l("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function I(e){l("readable nexttick read 0"),e.read(0)}function R(e,t){t.reading||(l("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),x(e),t.flowing&&!t.reading&&e.read(0)}function x(e){var t=e._readableState;for(l("flow",t.flowing);t.flowing&&null!==e.read(););}function B(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():r?function(e,t){var r=t.head,n=1,i=r.data;e-=i.length;for(;r=r.next;){var a=r.data,s=e>a.length?a.length:e;if(s===a.length?i+=a:i+=a.slice(0,e),0===(e-=s)){s===a.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(s));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=f.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var a=n.data,s=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,s),0===(e-=s)){s===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(s));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function P(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(T,t,e))}function T(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}w.prototype.read=function(e){l("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return l("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?P(this):S(this),null;if(0===(e=M(e,t))&&t.ended)return 0===t.length&&P(this),null;var n,i=t.needReadable;return l("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&l("length less than watermark",i=!0),t.ended||t.reading?l("reading or ended",i=!1):i&&(l("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=M(r,t))),null===(n=e>0?B(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&P(this)),null!==n&&this.emit("data",n),n},w.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,l("pipe count=%d opts=%j",a.pipesCount,t);var c=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?u:w;function f(t,n){l("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,l("cleanup"),e.removeListener("close",g),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",f),r.removeListener("end",u),r.removeListener("end",w),r.removeListener("data",b),d=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function u(){l("onend"),e.end()}a.endEmitted?i.nextTick(c):r.once("end",c),e.on("unpipe",f);var h=function(e){return function(){var t=e._readableState;l("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,x(e))}}(r);e.on("drain",h);var d=!1;var p=!1;function b(t){l("ondata"),p=!1,!1!==e.write(t)||p||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==N(a.pipes,e))&&!d&&(l("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function m(t){l("onerror",t),w(),e.removeListener("error",m),0===o(e,"error")&&e.emit("error",t)}function g(){e.removeListener("finish",y),w()}function y(){l("onfinish"),e.removeListener("close",g),w()}function w(){l("unpipe"),r.unpipe(e)}return r.on("data",b),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",m),e.once("close",g),e.once("finish",y),e.emit("pipe",r),a.flowing||(l("pipe resume"),r.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,r);return this}var s=N(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},w.prototype.on=function(e,t){var r=c.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&S(this):i.nextTick(I,this))}return r},w.prototype.addListener=w.prototype.on,w.prototype.resume=function(){var e=this._readableState;return e.flowing||(l("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(R,e,t))}(this,e)),this},w.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this},w.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(l("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<g.length;a++)e.on(g[a],this.emit.bind(this,g[a]));return this._read=function(t){l("wrapped _read",t),n&&(n=!1,e.resume())},this},Object.defineProperty(w.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),w._fromList=B}).call(this,r(6),r(3))},function(e,t,r){e.exports=r(11).EventEmitter},function(e,t,r){"use strict";var n=r(27);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(n.nextTick(i,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,r){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function a(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new a(i.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new a(i.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(140),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(6))},function(e,t,r){"use strict";e.exports=s;var n=r(13),i=Object.create(r(22));function a(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);n.call(this,e),this._transformState={afterTransform:a.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",o)}function o(){var e=this;"function"==typeof this._flush?this._flush((function(t,r){c(e,t,r)})):c(this,null,null)}function c(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=r(1),i.inherits(s,n),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,r){throw new Error("_transform() is not implemented")},s.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var r=this;n.prototype._destroy.call(this,e,(function(e){t(e),r.emit("close")}))}},function(e,t,r){"use strict";var n=r(1),i=r(146),a=r(10),s=r(2).Buffer,o=r(73),c=r(35),f=r(36),u=s.alloc(128);function h(e,t){a.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var r="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>r)?t=("rmd160"===e?new c:f(e)).update(t).digest():t.length<r&&(t=s.concat([t,u],r));for(var n=this._ipad=s.allocUnsafe(r),i=this._opad=s.allocUnsafe(r),o=0;o<r;o++)n[o]=54^t[o],i[o]=92^t[o];this._hash="rmd160"===e?new c:f(e),this._hash.update(n)}n(h,a),h.prototype._update=function(e){this._hash.update(e)},h.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new c:f(this._alg)).update(this._opad).update(e).digest()},e.exports=function(e,t){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new h("rmd160",t):"md5"===e?new i(o,t):new h(e,t)}},function(e,t,r){var n=r(32);e.exports=function(e){return(new n).update(e).digest()}},function(e){e.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},function(e,t,r){t.pbkdf2=r(148),t.pbkdf2Sync=r(78)},function(e,t){var r=Math.pow(2,30)-1;e.exports=function(e,t){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>r||t!=t)throw new TypeError("Bad key length")}},function(e,t,r){(function(t){var r;if(t.browser)r="utf-8";else if(t.version){r=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else r="utf-8";e.exports=r}).call(this,r(3))},function(e,t,r){var n=r(73),i=r(35),a=r(36),s=r(2).Buffer,o=r(76),c=r(77),f=r(79),u=s.alloc(128),h={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(e,t,r){var o=function(e){function t(t){return a(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?n:t}(e),c="sha512"===e||"sha384"===e?128:64;t.length>c?t=o(t):t.length<c&&(t=s.concat([t,u],c));for(var f=s.allocUnsafe(c+h[e]),d=s.allocUnsafe(c+h[e]),l=0;l<c;l++)f[l]=54^t[l],d[l]=92^t[l];var p=s.allocUnsafe(c+r+4);f.copy(p,0,0,c),this.ipad1=p,this.ipad2=f,this.opad=d,this.alg=e,this.blocksize=c,this.hash=o,this.size=h[e]}d.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(e,t,r,n,i){o(r,n);var a=new d(i=i||"sha1",e=f(e,c,"Password"),(t=f(t,c,"Salt")).length),u=s.allocUnsafe(n),l=s.allocUnsafe(t.length+4);t.copy(l,0,0,t.length);for(var p=0,b=h[i],m=Math.ceil(n/b),g=1;g<=m;g++){l.writeUInt32BE(g,t.length);for(var y=a.run(l,a.ipad1),w=y,v=1;v<r;v++){w=a.run(w,a.ipad2);for(var _=0;_<b;_++)y[_]^=w[_]}y.copy(u,p),p+=b}return u}},function(e,t,r){var n=r(2).Buffer;e.exports=function(e,t,r){if(n.isBuffer(e))return e;if("string"==typeof e)return n.from(e,t);if(ArrayBuffer.isView(e))return n.from(e.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},function(e,t,r){"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},t.ip=function(e,t,r,n){for(var i=0,a=0,s=6;s>=0;s-=2){for(var o=0;o<=24;o+=8)i<<=1,i|=t>>>o+s&1;for(o=0;o<=24;o+=8)i<<=1,i|=e>>>o+s&1}for(s=6;s>=0;s-=2){for(o=1;o<=25;o+=8)a<<=1,a|=t>>>o+s&1;for(o=1;o<=25;o+=8)a<<=1,a|=e>>>o+s&1}r[n+0]=i>>>0,r[n+1]=a>>>0},t.rip=function(e,t,r,n){for(var i=0,a=0,s=0;s<4;s++)for(var o=24;o>=0;o-=8)i<<=1,i|=t>>>o+s&1,i<<=1,i|=e>>>o+s&1;for(s=4;s<8;s++)for(o=24;o>=0;o-=8)a<<=1,a|=t>>>o+s&1,a<<=1,a|=e>>>o+s&1;r[n+0]=i>>>0,r[n+1]=a>>>0},t.pc1=function(e,t,r,n){for(var i=0,a=0,s=7;s>=5;s--){for(var o=0;o<=24;o+=8)i<<=1,i|=t>>o+s&1;for(o=0;o<=24;o+=8)i<<=1,i|=e>>o+s&1}for(o=0;o<=24;o+=8)i<<=1,i|=t>>o+s&1;for(s=1;s<=3;s++){for(o=0;o<=24;o+=8)a<<=1,a|=t>>o+s&1;for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+s&1}for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+s&1;r[n+0]=i>>>0,r[n+1]=a>>>0},t.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,r,i){for(var a=0,s=0,o=n.length>>>1,c=0;c<o;c++)a<<=1,a|=e>>>n[c]&1;for(c=o;c<n.length;c++)s<<=1,s|=t>>>n[c]&1;r[i+0]=a>>>0,r[i+1]=s>>>0},t.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var a=23;a>=15;a-=4)n<<=6,n|=e>>>a&63;for(a=11;a>=3;a-=4)i|=e>>>a&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(e>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(t>>>18-6*n&63)]}return r>>>0};var a=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,r=0;r<a.length;r++)t<<=1,t|=e>>>a[r]&1;return t>>>0},t.padSplit=function(e,t,r){for(var n=e.toString(2);n.length<t;)n="0"+n;for(var i=[],a=0;a<t;a+=r)i.push(n.slice(a,a+r));return i.join(" ")}},function(e,t,r){"use strict";var n=r(7),i=r(1),a=r(80),s=r(40);function o(){this.tmp=new Array(2),this.keys=null}function c(e){s.call(this,e);var t=new o;this._desState=t,this.deriveKeys(t,e.key)}i(c,s),e.exports=c,c.create=function(e){return new c(e)};var f=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];c.prototype.deriveKeys=function(e,t){e.keys=new Array(32),n.equal(t.length,this.blockSize,"Invalid key length");var r=a.readUInt32BE(t,0),i=a.readUInt32BE(t,4);a.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var s=0;s<e.keys.length;s+=2){var o=f[s>>>1];r=a.r28shl(r,o),i=a.r28shl(i,o),a.pc2(r,i,e.keys,s)}},c.prototype._update=function(e,t,r,n){var i=this._desState,s=a.readUInt32BE(e,t),o=a.readUInt32BE(e,t+4);a.ip(s,o,i.tmp,0),s=i.tmp[0],o=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,o,i.tmp,0):this._decrypt(i,s,o,i.tmp,0),s=i.tmp[0],o=i.tmp[1],a.writeUInt32BE(r,s,n),a.writeUInt32BE(r,o,n+4)},c.prototype._pad=function(e,t){for(var r=e.length-t,n=t;n<e.length;n++)e[n]=r;return!0},c.prototype._unpad=function(e){for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)n.equal(e[r],t);return e.slice(0,e.length-t)},c.prototype._encrypt=function(e,t,r,n,i){for(var s=t,o=r,c=0;c<e.keys.length;c+=2){var f=e.keys[c],u=e.keys[c+1];a.expand(o,e.tmp,0),f^=e.tmp[0],u^=e.tmp[1];var h=a.substitute(f,u),d=o;o=(s^a.permute(h))>>>0,s=d}a.rip(o,s,n,i)},c.prototype._decrypt=function(e,t,r,n,i){for(var s=r,o=t,c=e.keys.length-2;c>=0;c-=2){var f=e.keys[c],u=e.keys[c+1];a.expand(s,e.tmp,0),f^=e.tmp[0],u^=e.tmp[1];var h=a.substitute(f,u),d=s;s=(o^a.permute(h))>>>0,o=d}a.rip(s,o,n,i)}},function(e,t,r){var n=r(23),i=r(2).Buffer,a=r(83);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return a(e._prev),t}t.encrypt=function(e,t){var r=Math.ceil(t.length/16),a=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*r)]);for(var o=0;o<r;o++){var c=s(e),f=a+16*o;e._cache.writeUInt32BE(c[0],f+0),e._cache.writeUInt32BE(c[1],f+4),e._cache.writeUInt32BE(c[2],f+8),e._cache.writeUInt32BE(c[3],f+12)}var u=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),n(t,u)}},function(e,t){e.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},function(e){e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},function(e,t,r){var n=r(28),i=r(2).Buffer,a=r(10),s=r(1),o=r(161),c=r(23),f=r(83);function u(e,t,r,s){a.call(this);var c=i.alloc(4,0);this._cipher=new n.AES(t);var u=this._cipher.encryptBlock(c);this._ghash=new o(u),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new o(r),a=t.length,s=a%16;n.update(t),s&&(s=16-s,n.update(i.alloc(s,0))),n.update(i.alloc(8,0));var c=8*a,u=i.alloc(8);u.writeUIntBE(c,0,8),n.update(u),e._finID=n.state;var h=i.from(e._finID);return f(h),h}(this,r,u),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(u,a),u.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=c(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i<n;++i)r+=e[i]^t[i];return r}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},u.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},u.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},e.exports=u},function(e,t,r){var n=r(28),i=r(2).Buffer,a=r(10);function s(e,t,r,s){a.call(this),this._cipher=new n.AES(t),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=e}r(1)(s,a),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},e.exports=s},function(e,t,r){var n=r(14);e.exports=y,y.simpleSieve=m,y.fermatTest=g;var i=r(5),a=new i(24),s=new(r(88)),o=new i(1),c=new i(2),f=new i(5),u=(new i(16),new i(8),new i(10)),h=new i(3),d=(new i(7),new i(11)),l=new i(4),p=(new i(12),null);function b(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;i<t&&e[i]<=n&&r%e[i]!=0;i++);t!==i&&e[i]<=n||(e[t++]=r)}return p=e,e}function m(e){for(var t=b(),r=0;r<t.length;r++)if(0===e.modn(t[r]))return 0===e.cmpn(t[r]);return!0}function g(e){var t=i.mont(e);return 0===c.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function y(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var r,p;for(t=new i(t);;){for(r=new i(n(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(o),r.testn(1)||r.iadd(c),t.cmp(c)){if(!t.cmp(f))for(;r.mod(u).cmp(h);)r.iadd(l)}else for(;r.mod(a).cmp(d);)r.iadd(l);if(m(p=r.shrn(1))&&m(r)&&g(p)&&g(r)&&s.test(p)&&s.test(r))return r}}},function(e,t,r){var n=r(5),i=r(43);function a(e){this.rand=e||new i.Rand}e.exports=a,a.create=function(e){return new a(e)},a.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(e)>=0);return i},a.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},a.prototype.test=function(e,t,r){var i=e.bitLength(),a=n.mont(e),s=new n(1).toRed(a);t||(t=Math.max(1,i/48|0));for(var o=e.subn(1),c=0;!o.testn(c);c++);for(var f=e.shrn(c),u=o.toRed(a);t>0;t--){var h=this._randrange(new n(2),o);r&&r(h);var d=h.toRed(a).redPow(f);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var l=1;l<c;l++){if(0===(d=d.redSqr()).cmp(s))return!1;if(0===d.cmp(u))break}if(l===c)return!1}}return!0},a.prototype.getDivisor=function(e,t){var r=e.bitLength(),i=n.mont(e),a=new n(1).toRed(i);t||(t=Math.max(1,r/48|0));for(var s=e.subn(1),o=0;!s.testn(o);o++);for(var c=e.shrn(o),f=s.toRed(i);t>0;t--){var u=this._randrange(new n(2),s),h=e.gcd(u);if(0!==h.cmpn(1))return h;var d=u.toRed(i).redPow(c);if(0!==d.cmp(a)&&0!==d.cmp(f)){for(var l=1;l<o;l++){if(0===(d=d.redSqr()).cmp(a))return d.fromRed().subn(1).gcd(e);if(0===d.cmp(f))break}if(l===o)return(d=d.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t,r){"use strict";(function(t,n){var i;e.exports=k,k.ReadableState=E;r(11).EventEmitter;var a=function(e,t){return e.listeners(t).length},s=r(90),o=r(4).Buffer,c=t.Uint8Array||function(){};var f,u=r(171);f=u&&u.debuglog?u.debuglog("stream"):function(){};var h,d,l,p=r(172),b=r(91),m=r(92).getHighWaterMark,g=r(18).codes,y=g.ERR_INVALID_ARG_TYPE,w=g.ERR_STREAM_PUSH_AFTER_EOF,v=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(1)(k,s);var M=b.errorOrDestroy,S=["error","close","destroy","pause","resume"];function E(e,t,n){i=i||r(19),e=e||{},"boolean"!=typeof n&&(n=t instanceof i),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=m(this,e,"readableHighWaterMark",n),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(h||(h=r(12).StringDecoder),this.decoder=new h(e.encoding),this.encoding=e.encoding)}function k(e){if(i=i||r(19),!(this instanceof k))return new k(e);var t=this instanceof i;this._readableState=new E(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function A(e,t,r,n,i){f("readableAddChunk",t);var a,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(f("onEofChunk"),t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,B(e)))}(e,s);else if(i||(a=function(e,t){var r;n=t,o.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],t));var n;return r}(s,t)),a)M(e,a);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=function(e){return o.from(e)}(t)),n)s.endEmitted?M(e,new _):I(e,s,t,!0);else if(s.ended)M(e,new w);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?I(e,s,t,!1):P(e,s)):I(e,s,t,!1)}else n||(s.reading=!1,P(e,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function I(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&x(e)),P(e,t)}Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),k.prototype.destroy=b.destroy,k.prototype._undestroy=b.undestroy,k.prototype._destroy=function(e,t){t(e)},k.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=o.from(e,t),t=""),r=!0),A(this,e,t,!1,r)},k.prototype.unshift=function(e){return A(this,e,null,!0,!1)},k.prototype.isPaused=function(){return!1===this._readableState.flowing},k.prototype.setEncoding=function(e){h||(h=r(12).StringDecoder);var t=new h(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i="";null!==n;)i+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function R(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;f("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(B,e))}function B(e){var t=e._readableState;f("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,U(e)}function P(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(T,e,t))}function T(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(f("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function N(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function D(e){f("readable nexttick read 0"),e.read(0)}function O(e,t){f("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),U(e),t.flowing&&!t.reading&&e.read(0)}function U(e){var t=e._readableState;for(f("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function j(e){var t=e._readableState;f("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(L,t,e))}function L(e,t){if(f("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function q(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}k.prototype.read=function(e){f("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return f("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?j(this):x(this),null;if(0===(e=R(e,t))&&t.ended)return 0===t.length&&j(this),null;var n,i=t.needReadable;return f("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&f("length less than watermark",i=!0),t.ended||t.reading?f("reading or ended",i=!1):i&&(f("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=R(r,t))),null===(n=e>0?C(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&j(this)),null!==n&&this.emit("data",n),n},k.prototype._read=function(e){M(this,new v("_read()"))},k.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:m;function o(t,n){f("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,f("cleanup"),e.removeListener("close",p),e.removeListener("finish",b),e.removeListener("drain",u),e.removeListener("error",l),e.removeListener("unpipe",o),r.removeListener("end",c),r.removeListener("end",m),r.removeListener("data",d),h=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function c(){f("onend"),e.end()}i.endEmitted?n.nextTick(s):r.once("end",s),e.on("unpipe",o);var u=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,U(e))}}(r);e.on("drain",u);var h=!1;function d(t){f("ondata");var n=e.write(t);f("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==q(i.pipes,e))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function l(t){f("onerror",t),m(),e.removeListener("error",l),0===a(e,"error")&&M(e,t)}function p(){e.removeListener("finish",b),m()}function b(){f("onfinish"),e.removeListener("close",p),m()}function m(){f("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",l),e.once("close",p),e.once("finish",b),e.emit("pipe",r),i.flowing||(f("pipe resume"),r.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,{hasUnpiped:!1});return this}var s=q(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},k.prototype.on=function(e,t){var r=s.prototype.on.call(this,e,t),i=this._readableState;return"data"===e?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,f("on readable",i.length,i.reading),i.length?x(this):i.reading||n.nextTick(D,this))),r},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(N,this),r},k.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(N,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(f("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(O,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(f("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<S.length;a++)e.on(S[a],this.emit.bind(this,S[a]));return this._read=function(t){f("wrapped _read",t),n&&(n=!1,e.resume())},this},"function"==typeof Symbol&&(k.prototype[Symbol.asyncIterator]=function(){return void 0===d&&(d=r(174)),d(this)}),Object.defineProperty(k.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(k.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(k.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),k._fromList=C,Object.defineProperty(k.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(k.from=function(e,t){return void 0===l&&(l=r(175)),l(k,e,t)})}).call(this,r(6),r(3))},function(e,t,r){e.exports=r(11).EventEmitter},function(e,t,r){"use strict";(function(t){function r(e,t){i(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,a){var s=this,o=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return o||c?(a?a(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(i,this,e)):t.nextTick(i,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?s._writableState?s._writableState.errorEmitted?t.nextTick(n,s):(s._writableState.errorEmitted=!0,t.nextTick(r,s,e)):t.nextTick(r,s,e):a?(t.nextTick(n,s),a(e)):t.nextTick(n,s)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}}).call(this,r(3))},function(e,t,r){"use strict";var n=r(18).codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}},function(e,t,r){"use strict";(function(t,n){function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}var a;e.exports=k,k.WritableState=E;var s={deprecate:r(33)},o=r(90),c=r(4).Buffer,f=t.Uint8Array||function(){};var u,h=r(91),d=r(92).getHighWaterMark,l=r(18).codes,p=l.ERR_INVALID_ARG_TYPE,b=l.ERR_METHOD_NOT_IMPLEMENTED,m=l.ERR_MULTIPLE_CALLBACK,g=l.ERR_STREAM_CANNOT_PIPE,y=l.ERR_STREAM_DESTROYED,w=l.ERR_STREAM_NULL_VALUES,v=l.ERR_STREAM_WRITE_AFTER_END,_=l.ERR_UNKNOWN_ENCODING,M=h.errorOrDestroy;function S(){}function E(e,t,s){a=a||r(19),e=e||{},"boolean"!=typeof s&&(s=t instanceof a),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,i=r.sync,a=r.writecb;if("function"!=typeof a)throw new m;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,i,a){--t.pendingcb,r?(n.nextTick(a,i),n.nextTick(P,e,t),e._writableState.errorEmitted=!0,M(e,i)):(a(i),e._writableState.errorEmitted=!0,M(e,i),P(e,t))}(e,r,i,t,a);else{var s=x(r)||e.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||R(e,r),i?n.nextTick(I,e,r,s,a):I(e,r,s,a)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function k(e){var t=this instanceof(a=a||r(19));if(!t&&!u.call(k,this))return new k(e);this._writableState=new E(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function A(e,t,r,n,i,a,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function I(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),P(e,t)}function R(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,a=new Array(n),s=t.corkedRequestsFree;s.entry=r;for(var o=0,c=!0;r;)a[o]=r,r.isBuf||(c=!1),r=r.next,o+=1;a.allBuffers=c,A(e,t,!0,t.length,a,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,h=r.callback;if(A(e,t,!1,t.objectMode?1:f.length,f,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function x(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function B(e,t){e._final((function(r){t.pendingcb--,r&&M(e,r),t.prefinished=!0,e.emit("prefinish"),P(e,t)}))}function P(e,t){var r=x(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,n.nextTick(B,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}r(1)(k,o),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||this===k&&(e&&e._writableState instanceof E)}})):u=function(e){return e instanceof this},k.prototype.pipe=function(){M(this,new g)},k.prototype.write=function(e,t,r){var i,a=this._writableState,s=!1,o=!a.objectMode&&(i=e,c.isBuffer(i)||i instanceof f);return o&&!c.isBuffer(e)&&(e=function(e){return c.from(e)}(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=a.defaultEncoding),"function"!=typeof r&&(r=S),a.ending?function(e,t){var r=new v;M(e,r),n.nextTick(t,r)}(this,r):(o||function(e,t,r,i){var a;return null===r?a=new w:"string"==typeof r||t.objectMode||(a=new p("chunk",["string","Buffer"],r)),!a||(M(e,a),n.nextTick(i,a),!1)}(this,a,e,r))&&(a.pendingcb++,s=function(e,t,r,n,i,a){if(!r){var s=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=c.from(t,r));return t}(t,n,i);n!==s&&(r=!0,i="buffer",n=s)}var o=t.objectMode?1:n.length;t.length+=o;var f=t.length<t.highWaterMark;f||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else A(e,t,!1,o,n,i,a);return f}(this,a,o,e,t,r)),s},k.prototype.cork=function(){this._writableState.corked++},k.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||R(this,e))},k.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,r){r(new b("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,r){t.ending=!0,P(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,i,r),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=h.destroy,k.prototype._undestroy=h.undestroy,k.prototype._destroy=function(e,t){t(e)}}).call(this,r(6),r(3))},function(e,t,r){"use strict";e.exports=u;var n=r(18).codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,s=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,c=r(19);function f(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);c.call(this,e),this._transformState={afterTransform:f.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",h)}function h(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?d(this,null,null):this._flush((function(t,r){d(e,t,r)}))}function d(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new o;if(e._transformState.transforming)throw new s;return e.push(null)}r(1)(u,c),u.prototype.push=function(e,t){return this._transformState.needTransform=!1,c.prototype.push.call(this,e,t)},u.prototype._transform=function(e,t,r){r(new i("_transform()"))},u.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},u.prototype._destroy=function(e,t){c.prototype._destroy.call(this,e,(function(e){t(e)}))}},function(e,t,r){"use strict";var n=t;function i(e){return 1===e.length?"0"+e:e}function a(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),a=i>>8,s=255&i;a?r.push(a,s):r.push(s)}return r},n.zero2=i,n.toHex=a,n.encode=function(e,t){return"hex"===t?a(e):e}},function(e,t,r){"use strict";var n=t;n.base=r(30),n.short=r(180),n.mont=r(181),n.edwards=r(182)},function(e,t,r){"use strict";var n=r(9).rotr32;function i(e,t,r){return e&t^~e&r}function a(e,t,r){return e&t^e&r^t&r}function s(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?s(t,r,n):2===e?a(t,r,n):void 0},t.ch32=i,t.maj32=a,t.p32=s,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},function(e,t,r){"use strict";var n=r(9),i=r(24),a=r(97),s=r(7),o=n.sum32,c=n.sum32_4,f=n.sum32_5,u=a.ch32,h=a.maj32,d=a.s0_256,l=a.s1_256,p=a.g0_256,b=a.g1_256,m=i.BlockHash,g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}n.inherits(y,m),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=c(b(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],a=this.h[1],m=this.h[2],g=this.h[3],y=this.h[4],w=this.h[5],v=this.h[6],_=this.h[7];for(s(this.k.length===r.length),n=0;n<r.length;n++){var M=f(_,l(y),u(y,w,v),this.k[n],r[n]),S=o(d(i),h(i,a,m));_=v,v=w,w=y,y=o(g,M),g=m,m=a,a=i,i=o(M,S)}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],m),this.h[3]=o(this.h[3],g),this.h[4]=o(this.h[4],y),this.h[5]=o(this.h[5],w),this.h[6]=o(this.h[6],v),this.h[7]=o(this.h[7],_)},y.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,t,r){"use strict";var n=r(9),i=r(24),a=r(7),s=n.rotr64_hi,o=n.rotr64_lo,c=n.shr64_hi,f=n.shr64_lo,u=n.sum64,h=n.sum64_hi,d=n.sum64_lo,l=n.sum64_4_hi,p=n.sum64_4_lo,b=n.sum64_5_hi,m=n.sum64_5_lo,g=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function w(){if(!(this instanceof w))return new w;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function v(e,t,r,n,i){var a=e&r^~e&i;return a<0&&(a+=4294967296),a}function _(e,t,r,n,i,a){var s=t&n^~t&a;return s<0&&(s+=4294967296),s}function M(e,t,r,n,i){var a=e&r^e&i^r&i;return a<0&&(a+=4294967296),a}function S(e,t,r,n,i,a){var s=t&n^t&a^n&a;return s<0&&(s+=4294967296),s}function E(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function k(e,t){var r=o(e,t,28)^o(t,e,2)^o(t,e,7);return r<0&&(r+=4294967296),r}function A(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function I(e,t){var r=o(e,t,14)^o(e,t,18)^o(t,e,9);return r<0&&(r+=4294967296),r}function R(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=o(e,t,1)^o(e,t,8)^f(e,t,7);return r<0&&(r+=4294967296),r}function B(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}function P(e,t){var r=o(e,t,19)^o(t,e,29)^f(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(w,g),e.exports=w,w.blockSize=1024,w.outSize=512,w.hmacStrength=192,w.padLength=128,w.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=B(r[n-4],r[n-3]),a=P(r[n-4],r[n-3]),s=r[n-14],o=r[n-13],c=R(r[n-30],r[n-29]),f=x(r[n-30],r[n-29]),u=r[n-32],h=r[n-31];r[n]=l(i,a,s,o,c,f,u,h),r[n+1]=p(i,a,s,o,c,f,u,h)}},w.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],f=this.h[5],l=this.h[6],p=this.h[7],g=this.h[8],y=this.h[9],w=this.h[10],R=this.h[11],x=this.h[12],B=this.h[13],P=this.h[14],T=this.h[15];a(this.k.length===r.length);for(var N=0;N<r.length;N+=2){var D=P,O=T,U=A(g,y),C=I(g,y),j=v(g,y,w,R,x),L=_(g,y,w,R,x,B),q=this.k[N],K=this.k[N+1],F=r[N],z=r[N+1],H=b(D,O,U,C,j,L,q,K,F,z),V=m(D,O,U,C,j,L,q,K,F,z);D=E(n,i),O=k(n,i),U=M(n,i,s,o,c),C=S(n,i,s,o,c,f);var W=h(D,O,U,C),G=d(D,O,U,C);P=x,T=B,x=w,B=R,w=g,R=y,g=h(l,p,H,V),y=d(p,p,H,V),l=c,p=f,c=s,f=o,s=n,o=i,n=h(H,V,W,G),i=d(H,V,W,G)}u(this.h,0,n,i),u(this.h,2,s,o),u(this.h,4,c,f),u(this.h,6,l,p),u(this.h,8,g,y),u(this.h,10,w,R),u(this.h,12,x,B),u(this.h,14,P,T)},w.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,t,r){(function(e){!function(e,t){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{s=r(197).Buffer}catch(e){}function o(e,t,r){for(var i=0,a=Math.min(e.length,r),s=0,o=t;o<a;o++){var c,f=e.charCodeAt(o)-48;i<<=4,i|=c=f>=49&&f<=54?f-49+10:f>=17&&f<=22?f-17+10:f,s|=c}return n(!(240&s),"Invalid character in "+e),i}function c(e,t,r,i){for(var a=0,s=0,o=Math.min(e.length,r),c=t;c<o;c++){var f=e.charCodeAt(c)-48;a*=i,s=f>=49?f-49+10:f>=17?f-17+10:f,n(f>=0&&s<i,"Invalid character"),a+=s}return a}function f(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this._strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,s,o=0;if("be"===r)for(i=e.length-1,a=0;i>=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===r)for(i=0,a=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=s<<o&67108863,this.words[a+1]=s>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this._strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=e.length-6,n=0;r>=t;r-=6)i=o(e,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==t&&(i=o(e,t,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this._strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,f=0,u=r;u<o;u+=n)f=c(e,u,u+n,t),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==s){var h=1;for(f=c(e,u,e.length,t),u=0;u<s;u++)h*=t;this.imuln(h),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype._move=function(e){f(e,this)},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=u}catch(e){a.prototype.inspect=u}else a.prototype.inspect=u;function u(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,s=0;s<this.length;s++){var o=this.words[s],c=(16777215&(o<<i|a)).toString(16);r=0!==(a=o>>>24-i&16777215)||s!==this.length-1?h[6-c.length]+c+r:c+r,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var f=d[e],u=l[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modrn(u).toString(e);r=(p=p.idivn(u)).isZero()?b+r:h[f-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function p(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,c=s/67108864|0;r.words[0]=o;for(var f=1;f<n;f++){for(var u=c>>>26,h=67108863&c,d=Math.min(f,t.length-1),l=Math.max(0,f-e.length+1);l<=d;l++){var p=f-l|0;u+=(s=(i=0|e.words[p])*(a=0|t.words[l])+h)/67108864|0,h=67108863&s}r.words[f]=0|h,c=0|u}return 0!==c?r.words[f]=0|c:r.length--,r._strip()}a.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0");var s=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,a);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},a.prototype._toArrayLikeLE=function(e,t){for(var r=0,n=0,i=0,a=0;i<this.length;i++){var s=this.words[i]<<a|n;e[r++]=255&s,r<e.length&&(e[r++]=s>>8&255),r<e.length&&(e[r++]=s>>16&255),6===a?(r<e.length&&(e[r++]=s>>24&255),n=0,a=0):(n=s>>>24,a+=2)}if(r<e.length)for(e[r++]=n;r<e.length;)e[r++]=0},a.prototype._toArrayLikeBE=function(e,t){for(var r=e.length-1,n=0,i=0,a=0;i<this.length;i++){var s=this.words[i]<<a|n;e[r--]=255&s,r>=0&&(e[r--]=s>>8&255),r>=0&&(e[r--]=s>>16&255),6===a?(r>=0&&(e[r--]=s>>24&255),n=0,a=0):(n=s>>>24,a+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},a.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this._strip()},a.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this._strip()},a.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},a.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)t=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<r.length;a++)t=(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,s=0;s<n.length;s++)a=(t=(0|r.words[s])-(0|n.words[s])+a)>>26,this.words[s]=67108863&t;for(;0!==a&&s<r.length;s++)a=(t=(0|r.words[s])+a)>>26,this.words[s]=67108863&t;if(0===a&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var b=function(e,t,r){var n,i,a,s=e.words,o=t.words,c=r.words,f=0,u=0|s[0],h=8191&u,d=u>>>13,l=0|s[1],p=8191&l,b=l>>>13,m=0|s[2],g=8191&m,y=m>>>13,w=0|s[3],v=8191&w,_=w>>>13,M=0|s[4],S=8191&M,E=M>>>13,k=0|s[5],A=8191&k,I=k>>>13,R=0|s[6],x=8191&R,B=R>>>13,P=0|s[7],T=8191&P,N=P>>>13,D=0|s[8],O=8191&D,U=D>>>13,C=0|s[9],j=8191&C,L=C>>>13,q=0|o[0],K=8191&q,F=q>>>13,z=0|o[1],H=8191&z,V=z>>>13,W=0|o[2],G=8191&W,J=W>>>13,Y=0|o[3],Z=8191&Y,X=Y>>>13,Q=0|o[4],$=8191&Q,ee=Q>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],ae=8191&ie,se=ie>>>13,oe=0|o[7],ce=8191&oe,fe=oe>>>13,ue=0|o[8],he=8191&ue,de=ue>>>13,le=0|o[9],pe=8191&le,be=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(f+(n=Math.imul(h,K))|0)+((8191&(i=(i=Math.imul(h,F))+Math.imul(d,K)|0))<<13)|0;f=((a=Math.imul(d,F))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,K),i=(i=Math.imul(p,F))+Math.imul(b,K)|0,a=Math.imul(b,F);var ge=(f+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,H)|0))<<13)|0;f=((a=a+Math.imul(d,V)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,K),i=(i=Math.imul(g,F))+Math.imul(y,K)|0,a=Math.imul(y,F),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,V)|0;var ye=(f+(n=n+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(d,G)|0))<<13)|0;f=((a=a+Math.imul(d,J)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(v,K),i=(i=Math.imul(v,F))+Math.imul(_,K)|0,a=Math.imul(_,F),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,V)|0,n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(b,G)|0,a=a+Math.imul(b,J)|0;var we=(f+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,Z)|0))<<13)|0;f=((a=a+Math.imul(d,X)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(S,K),i=(i=Math.imul(S,F))+Math.imul(E,K)|0,a=Math.imul(E,F),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,V)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(y,G)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(b,Z)|0,a=a+Math.imul(b,X)|0;var ve=(f+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,$)|0))<<13)|0;f=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(A,K),i=(i=Math.imul(A,F))+Math.imul(I,K)|0,a=Math.imul(I,F),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,V)|0)+Math.imul(E,H)|0,a=a+Math.imul(E,V)|0,n=n+Math.imul(v,G)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(_,G)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(y,Z)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,ee)|0;var _e=(f+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(d,re)|0))<<13)|0;f=((a=a+Math.imul(d,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,K),i=(i=Math.imul(x,F))+Math.imul(B,K)|0,a=Math.imul(B,F),n=n+Math.imul(A,H)|0,i=(i=i+Math.imul(A,V)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,V)|0,n=n+Math.imul(S,G)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(E,G)|0,a=a+Math.imul(E,J)|0,n=n+Math.imul(v,Z)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(_,Z)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(b,re)|0,a=a+Math.imul(b,ne)|0;var Me=(f+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,se)|0)+Math.imul(d,ae)|0))<<13)|0;f=((a=a+Math.imul(d,se)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(T,K),i=(i=Math.imul(T,F))+Math.imul(N,K)|0,a=Math.imul(N,F),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(B,H)|0,a=a+Math.imul(B,V)|0,n=n+Math.imul(A,G)|0,i=(i=i+Math.imul(A,J)|0)+Math.imul(I,G)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(E,Z)|0,a=a+Math.imul(E,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(b,ae)|0,a=a+Math.imul(b,se)|0;var Se=(f+(n=n+Math.imul(h,ce)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(d,ce)|0))<<13)|0;f=((a=a+Math.imul(d,fe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(O,K),i=(i=Math.imul(O,F))+Math.imul(U,K)|0,a=Math.imul(U,F),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,V)|0)+Math.imul(N,H)|0,a=a+Math.imul(N,V)|0,n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(B,G)|0,a=a+Math.imul(B,J)|0,n=n+Math.imul(A,Z)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(I,Z)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(E,$)|0,a=a+Math.imul(E,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ne)|0,n=n+Math.imul(g,ae)|0,i=(i=i+Math.imul(g,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(b,ce)|0,a=a+Math.imul(b,fe)|0;var Ee=(f+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;f=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,F))+Math.imul(L,K)|0,a=Math.imul(L,F),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(U,H)|0,a=a+Math.imul(U,V)|0,n=n+Math.imul(T,G)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(N,G)|0,a=a+Math.imul(N,J)|0,n=n+Math.imul(x,Z)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(B,Z)|0,a=a+Math.imul(B,X)|0,n=n+Math.imul(A,$)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(E,re)|0,a=a+Math.imul(E,ne)|0,n=n+Math.imul(v,ae)|0,i=(i=i+Math.imul(v,se)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,se)|0,n=n+Math.imul(g,ce)|0,i=(i=i+Math.imul(g,fe)|0)+Math.imul(y,ce)|0,a=a+Math.imul(y,fe)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(b,he)|0,a=a+Math.imul(b,de)|0;var ke=(f+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,be)|0)+Math.imul(d,pe)|0))<<13)|0;f=((a=a+Math.imul(d,be)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,V))+Math.imul(L,H)|0,a=Math.imul(L,V),n=n+Math.imul(O,G)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(U,G)|0,a=a+Math.imul(U,J)|0,n=n+Math.imul(T,Z)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(N,Z)|0,a=a+Math.imul(N,X)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(B,$)|0,a=a+Math.imul(B,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(S,ae)|0,i=(i=i+Math.imul(S,se)|0)+Math.imul(E,ae)|0,a=a+Math.imul(E,se)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,fe)|0)+Math.imul(_,ce)|0,a=a+Math.imul(_,fe)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,de)|0)+Math.imul(y,he)|0,a=a+Math.imul(y,de)|0;var Ae=(f+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;f=((a=a+Math.imul(b,be)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(j,G),i=(i=Math.imul(j,J))+Math.imul(L,G)|0,a=Math.imul(L,J),n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(U,Z)|0,a=a+Math.imul(U,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(N,$)|0,a=a+Math.imul(N,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(B,re)|0,a=a+Math.imul(B,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,se)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,se)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,fe)|0)+Math.imul(E,ce)|0,a=a+Math.imul(E,fe)|0,n=n+Math.imul(v,he)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(_,he)|0,a=a+Math.imul(_,de)|0;var Ie=(f+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,be)|0)+Math.imul(y,pe)|0))<<13)|0;f=((a=a+Math.imul(y,be)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(j,Z),i=(i=Math.imul(j,X))+Math.imul(L,Z)|0,a=Math.imul(L,X),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(U,$)|0,a=a+Math.imul(U,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(N,re)|0,a=a+Math.imul(N,ne)|0,n=n+Math.imul(x,ae)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(B,ae)|0,a=a+Math.imul(B,se)|0,n=n+Math.imul(A,ce)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(I,ce)|0,a=a+Math.imul(I,fe)|0,n=n+Math.imul(S,he)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(E,he)|0,a=a+Math.imul(E,de)|0;var Re=(f+(n=n+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,be)|0)+Math.imul(_,pe)|0))<<13)|0;f=((a=a+Math.imul(_,be)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,ee))+Math.imul(L,$)|0,a=Math.imul(L,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(U,re)|0,a=a+Math.imul(U,ne)|0,n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,se)|0)+Math.imul(N,ae)|0,a=a+Math.imul(N,se)|0,n=n+Math.imul(x,ce)|0,i=(i=i+Math.imul(x,fe)|0)+Math.imul(B,ce)|0,a=a+Math.imul(B,fe)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,de)|0)+Math.imul(I,he)|0,a=a+Math.imul(I,de)|0;var xe=(f+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,be)|0)+Math.imul(E,pe)|0))<<13)|0;f=((a=a+Math.imul(E,be)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(j,re),i=(i=Math.imul(j,ne))+Math.imul(L,re)|0,a=Math.imul(L,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(U,ae)|0,a=a+Math.imul(U,se)|0,n=n+Math.imul(T,ce)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(N,ce)|0,a=a+Math.imul(N,fe)|0,n=n+Math.imul(x,he)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(B,he)|0,a=a+Math.imul(B,de)|0;var Be=(f+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,be)|0)+Math.imul(I,pe)|0))<<13)|0;f=((a=a+Math.imul(I,be)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(j,ae),i=(i=Math.imul(j,se))+Math.imul(L,ae)|0,a=Math.imul(L,se),n=n+Math.imul(O,ce)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(U,ce)|0,a=a+Math.imul(U,fe)|0,n=n+Math.imul(T,he)|0,i=(i=i+Math.imul(T,de)|0)+Math.imul(N,he)|0,a=a+Math.imul(N,de)|0;var Pe=(f+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,be)|0)+Math.imul(B,pe)|0))<<13)|0;f=((a=a+Math.imul(B,be)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(j,ce),i=(i=Math.imul(j,fe))+Math.imul(L,ce)|0,a=Math.imul(L,fe),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(U,he)|0,a=a+Math.imul(U,de)|0;var Te=(f+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,be)|0)+Math.imul(N,pe)|0))<<13)|0;f=((a=a+Math.imul(N,be)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(j,he),i=(i=Math.imul(j,de))+Math.imul(L,he)|0,a=Math.imul(L,de);var Ne=(f+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,be)|0)+Math.imul(U,pe)|0))<<13)|0;f=((a=a+Math.imul(U,be)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var De=(f+(n=Math.imul(j,pe))|0)+((8191&(i=(i=Math.imul(j,be))+Math.imul(L,pe)|0))<<13)|0;return f=((a=Math.imul(L,be))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,c[0]=me,c[1]=ge,c[2]=ye,c[3]=we,c[4]=ve,c[5]=_e,c[6]=Me,c[7]=Se,c[8]=Ee,c[9]=ke,c[10]=Ae,c[11]=Ie,c[12]=Re,c[13]=xe,c[14]=Be,c[15]=Pe,c[16]=Te,c[17]=Ne,c[18]=De,0!==f&&(c[19]=f,r.length++),r};function m(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var s=i;i=0;for(var o=67108863&n,c=Math.min(a,t.length-1),f=Math.max(0,a-e.length+1);f<=c;f++){var u=a-f,h=(0|e.words[u])*(0|t.words[f]),d=67108863&h;o=67108863&(d=d+o|0),i+=(s=(s=s+(h/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r._strip()}function g(e,t,r){return m(e,t,r)}function y(e,t){this.x=e,this.y=t}Math.imul||(b=p),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?b(this,e,t):r<63?p(this,e,t):r<1024?m(this,e,t):g(this,e,t)},y.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},y.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},y.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s<a;s++)n[s]=t[e[s]],i[s]=r[e[s]]},y.prototype.transform=function(e,t,r,n,i,a){this.permute(a,e,t,r,n,i);for(var s=1;s<i;s<<=1)for(var o=s<<1,c=Math.cos(2*Math.PI/o),f=Math.sin(2*Math.PI/o),u=0;u<i;u+=o)for(var h=c,d=f,l=0;l<s;l++){var p=r[u+l],b=n[u+l],m=r[u+l+s],g=n[u+l+s],y=h*m-d*g;g=h*g+d*m,m=y,r[u+l]=p+m,n[u+l]=b+g,r[u+l+s]=p-m,n[u+l+s]=b-g,l!==o&&(y=c*h-f*d,d=c*d+f*h,h=y)}},y.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},y.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},y.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},y.prototype.convert13b=function(e,t,r,i){for(var a=0,s=0;s<t;s++)a+=0|e[s],r[2*s]=8191&a,a>>>=13,r[2*s+1]=8191&a,a>>>=13;for(s=2*t;s<i;++s)r[s]=0;n(0===a),n(0==(-8192&a))},y.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},y.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),a=this.stub(n),s=new Array(n),o=new Array(n),c=new Array(n),f=new Array(n),u=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(e.words,e.length,s,n),this.convert13b(t.words,t.length,f,n),this.transform(s,a,o,c,n,i),this.transform(f,a,u,h,n,i);for(var l=0;l<n;l++){var p=o[l]*u[l]-c[l]*h[l];c[l]=o[l]*h[l]+c[l]*u[l],o[l]=p}return this.conjugate(o,c,n),this.transform(o,c,d,a,n,i),this.conjugate(d,a,n),this.normalize13b(d,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r._strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),g(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n("number"==typeof e),n(e<67108864);for(var r=0,i=0;i<this.length;i++){var a=(0|this.words[i])*e,s=(67108863&a)+(67108863&r);r>>=26,r+=a/67108864|0,r+=s>>>26,this.words[i]=67108863&s}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=e.words[n]>>>i&1}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,c=(0|this.words[t])-o<<r;this.words[t]=c|s,s=o>>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this._strip()},a.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,c=r;if(i-=s,i=Math.max(0,i),c){for(var f=0;f<s;f++)c.words[f]=this.words[f];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,f=0;f<this.length;f++)this.words[f]=this.words[f+s];else this.words[0]=0,this.length=1;var u=0;for(f=this.length-1;f>=0&&(0!==u||f>=i);f--){var h=0|this.words[f];this.words[f]=u<<26-a|h>>>a,u=h&o}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var i,a,s=e.length+r;this._expand(s);var o=0;for(i=0;i<e.length;i++){a=(0|this.words[i+r])+o;var c=(0|e.words[i])*t;o=((a-=67108863&c)>>26)-(c/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)o=(a=(0|this.words[i+r])+o)>>26,this.words[i+r]=67108863&a;if(0===o)return this._strip();for(n(-1===o),o=0,i=0;i<this.length;i++)o=(a=-(0|this.words[i])+o)>>26,this.words[i]=67108863&a;return this.negative=1,this._strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var o,c=n.length-i.length;if("mod"!==t){(o=new a(null)).length=c+1,o.words=new Array(o.length);for(var f=0;f<o.length;f++)o.words[f]=0}var u=n.clone()._ishlnsubmul(i,1,c);0===u.negative&&(n=u,o&&(o.words[c]=1));for(var h=c-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);o&&(o.words[h]=d)}return o&&o._strip(),n._strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(i=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(i=o.div.neg()),{div:i,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,s,o},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,a=this.length-1;a>=0;a--)i=(r*i+(0|this.words[a]))%e;return t?-i:i},a.prototype.modn=function(e){return this.modrn(e)},a.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var a=(0|this.words[i])+67108864*r;this.words[i]=a/e|0,r=a%e}return this._strip(),t?this.ineg():this},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),s=new a(0),o=new a(0),c=new a(1),f=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++f;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var d=0,l=1;0==(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(u),s.isub(h)),i.iushrn(1),s.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||c.isOdd())&&(o.iadd(u),c.isub(h)),o.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(o),s.isub(c)):(r.isub(t),o.isub(i),c.isub(s))}return{a:o,b:c,gcd:r.iushln(f)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new a(1),o=new a(0),c=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,u=1;0==(t.words[0]&u)&&f<26;++f,u<<=1);if(f>0)for(t.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o)):(r.isub(t),o.isub(s))}return(i=0===t.cmpn(1)?s:o).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,s=r;0!==a&&s<this.length;s++){var o=0|this.words[s];a=(o+=a)>>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new k(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var w={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function S(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function A(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(_,v),_.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var a=0|e.words[n];e.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(M,v),i(S,v),i(E,v),E.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(w[e])return w[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new M;else if("p192"===e)t=new S;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new E}return w[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},k.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(f(e,e.umod(this.m)._forceRed(this)),e)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var o=new a(1).toRed(this),c=o.redNeg(),f=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,f).cmp(c);)u.redIAdd(c);for(var h=this.pow(u,i),d=this.pow(e,i.addn(1).iushrn(1)),l=this.pow(e,i),p=s;0!==l.cmp(o);){for(var b=l,m=0;0!==b.cmp(o);m++)b=b.redSqr();n(m<p);var g=this.pow(h,new a(1).iushln(p-m-1));d=d.redMul(g),h=g.redSqr(),l=l.redMul(h),p=m}return d},k.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},k.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],s=0,o=0,c=t.bitLength()%26;for(0===c&&(c=26),n=t.length-1;n>=0;n--){for(var f=t.words[n],u=c-1;u>=0;u--){var h=f>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==s?(s<<=1,s|=h,(4===++o||0===n&&0===u)&&(i=this.mul(i,r[s]),o=0,s=0)):o=0}c=26}return i},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new A(e)},i(A,k),A.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},A.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},A.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},A.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,r(26)(e))},function(e,t,r){"use strict";const n=t;n.bignum=r(5),n.define=r(199).define,n.base=r(202),n.constants=r(203),n.decoders=r(104),n.encoders=r(102)},function(e,t,r){"use strict";const n=t;n.der=r(103),n.pem=r(200)},function(e,t,r){"use strict";const n=r(1),i=r(49).Buffer,a=r(50),s=r(52);function o(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){a.call(this,"der",e)}function f(e){return e<10?"0"+e:e}e.exports=o,o.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},n(c,a),c.prototype._encodeComposite=function(e,t,r,n){const a=function(e,t,r,n){let i;"seqof"===e?e="seq":"setof"===e&&(e="set");if(s.tagByName.hasOwnProperty(e))i=s.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return n.error("Unknown tag: "+e);i=e}if(i>=31)return n.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=s.tagClassByName[r||"universal"]<<6,i}(e,t,r,this.reporter);if(n.length<128){const e=i.alloc(2);return e[0]=a,e[1]=n.length,this._createEncoderBuffer([e,n])}let o=1;for(let e=n.length;e>=256;e>>=8)o++;const c=i.alloc(2+o);c[0]=a,c[1]=128|o;for(let e=1+o,t=n.length;t>0;e--,t>>=8)c[e]=255&t;return this._createEncoderBuffer([c,n])},c.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){const t=i.alloc(2*e.length);for(let r=0;r<e.length;r++)t.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(t)}return"numstr"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(t)||"objDesc"===t?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+t+" unsupported")},c.prototype._encodeObjid=function(e,t,r){if("string"==typeof e){if(!t)return this.reporter.error("string objid given, but no values map found");if(!t.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=t[e].split(/[\s.]+/g);for(let t=0;t<e.length;t++)e[t]|=0}else if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!r){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let n=0;for(let t=0;t<e.length;t++){let r=e[t];for(n++;r>=128;r>>=7)n++}const a=i.alloc(n);let s=a.length-1;for(let t=e.length-1;t>=0;t--){let r=e[t];for(a[s--]=127&r;(r>>=7)>0;)a[s--]=128|127&r}return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(e,t){let r;const n=new Date(e);return"gentime"===t?r=[f(n.getUTCFullYear()),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[f(n.getUTCFullYear()%100),f(n.getUTCMonth()+1),f(n.getUTCDate()),f(n.getUTCHours()),f(n.getUTCMinutes()),f(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=i.from(t)}if(i.isBuffer(e)){let t=e.length;0===e.length&&t++;const r=i.alloc(t);return e.copy(r),0===e.length&&(r[0]=0),this._createEncoderBuffer(r)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let r=1;for(let t=e;t>=256;t>>=8)r++;const n=new Array(r);for(let t=n.length-1;t>=0;t--)n[t]=255&e,e>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(i.from(n))},c.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},c.prototype._skipDefault=function(e,t,r){const n=this._baseState;let i;if(null===n.default)return!1;const a=e.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,t,r).join()),a.length!==n.defaultBuffer.length)return!1;for(i=0;i<a.length;i++)if(a[i]!==n.defaultBuffer[i])return!1;return!0}},function(e,t,r){"use strict";const n=t;n.der=r(105),n.pem=r(201)},function(e,t,r){"use strict";const n=r(1),i=r(5),a=r(25).DecoderBuffer,s=r(50),o=r(52);function c(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new f,this.tree._init(e.body)}function f(e){s.call(this,"der",e)}function u(e,t){let r=e.readUInt8(t);if(e.isError(r))return r;const n=o.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){let n=r;for(r=0;128==(128&n);){if(n=e.readUInt8(t),e.isError(n))return n;r<<=7,r|=127&n}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:o.tag[r]}}function h(e,t,r){let n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;const i=127&n;if(i>4)return e.error("length octect is too long");n=0;for(let t=0;t<i;t++){n<<=8;const t=e.readUInt8(r);if(e.isError(t))return t;n|=t}return n}e.exports=c,c.prototype.decode=function(e,t){return a.isDecoderBuffer(e)||(e=new a(e,t)),this.tree._decode(e,t)},n(f,s),f.prototype._peekTag=function(e,t,r){if(e.isEmpty())return!1;const n=e.save(),i=u(e,'Failed to peek tag: "'+t+'"');return e.isError(i)?i:(e.restore(n),i.tag===t||i.tagStr===t||i.tagStr+"of"===t||r)},f.prototype._decodeTag=function(e,t,r){const n=u(e,'Failed to decode tag of "'+t+'"');if(e.isError(n))return n;let i=h(e,n.primitive,'Failed to get length of "'+t+'"');if(e.isError(i))return i;if(!r&&n.tag!==t&&n.tagStr!==t&&n.tagStr+"of"!==t)return e.error('Failed to match tag: "'+t+'"');if(n.primitive||null!==i)return e.skip(i,'Failed to match body of: "'+t+'"');const a=e.save(),s=this._skipUntilEnd(e,'Failed to skip indefinite length body: "'+this.tag+'"');return e.isError(s)?s:(i=e.offset-a.offset,e.restore(a),e.skip(i,'Failed to match body of: "'+t+'"'))},f.prototype._skipUntilEnd=function(e,t){for(;;){const r=u(e,t);if(e.isError(r))return r;const n=h(e,r.primitive,t);if(e.isError(n))return n;let i;if(i=r.primitive||null!==n?e.skip(n):this._skipUntilEnd(e,t),e.isError(i))return i;if("end"===r.tagStr)break}},f.prototype._decodeList=function(e,t,r,n){const i=[];for(;!e.isEmpty();){const t=this._peekTag(e,"end");if(e.isError(t))return t;const a=r.decode(e,"der",n);if(e.isError(a)&&t)break;i.push(a)}return i},f.prototype._decodeStr=function(e,t){if("bitstr"===t){const t=e.readUInt8();return e.isError(t)?t:{unused:t,data:e.raw()}}if("bmpstr"===t){const t=e.raw();if(t.length%2==1)return e.error("Decoding of string type: bmpstr length mismatch");let r="";for(let e=0;e<t.length/2;e++)r+=String.fromCharCode(t.readUInt16BE(2*e));return r}if("numstr"===t){const t=e.raw().toString("ascii");return this._isNumstr(t)?t:e.error("Decoding of string type: numstr unsupported characters")}if("octstr"===t)return e.raw();if("objDesc"===t)return e.raw();if("printstr"===t){const t=e.raw().toString("ascii");return this._isPrintstr(t)?t:e.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(t)?e.raw().toString():e.error("Decoding of string type: "+t+" unsupported")},f.prototype._decodeObjid=function(e,t,r){let n;const i=[];let a=0,s=0;for(;!e.isEmpty();)s=e.readUInt8(),a<<=7,a|=127&s,0==(128&s)&&(i.push(a),a=0);128&s&&i.push(a);const o=i[0]/40|0,c=i[0]%40;if(n=r?i:[o,c].concat(i.slice(1)),t){let e=t[n.join(" ")];void 0===e&&(e=t[n.join(".")]),void 0!==e&&(n=e)}return n},f.prototype._decodeTime=function(e,t){const r=e.raw().toString();let n,i,a,s,o,c;if("gentime"===t)n=0|r.slice(0,4),i=0|r.slice(4,6),a=0|r.slice(6,8),s=0|r.slice(8,10),o=0|r.slice(10,12),c=0|r.slice(12,14);else{if("utctime"!==t)return e.error("Decoding "+t+" time is not supported yet");n=0|r.slice(0,2),i=0|r.slice(2,4),a=0|r.slice(4,6),s=0|r.slice(6,8),o=0|r.slice(8,10),c=0|r.slice(10,12),n=n<70?2e3+n:1900+n}return Date.UTC(n,i-1,a,s,o,c,0)},f.prototype._decodeNull=function(){return null},f.prototype._decodeBool=function(e){const t=e.readUInt8();return e.isError(t)?t:0!==t},f.prototype._decodeInt=function(e,t){const r=e.raw();let n=new i(r);return t&&(n=t[n.toString(10)]||n),n},f.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getDecoder("der").tree}},function(e){e.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},function(e,t,r){var n=r(21),i=r(2).Buffer;function a(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var r,s=i.alloc(0),o=0;s.length<t;)r=a(o++),s=i.concat([s,n("sha1").update(e).update(r).digest()]);return s.slice(0,t)}},function(e,t){e.exports=function(e,t){for(var r=e.length,n=-1;++n<r;)e[n]^=t[n];return e}},function(e,t,r){var n=r(5),i=r(2).Buffer;e.exports=function(e,t){return i.from(e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed().toArray())}},function(e,t,r){var n=r(111);e.exports=y,y.simpleSieve=m,y.fermatTest=g;var i=r(53),a=new i(24),s=new(r(112)),o=new i(1),c=new i(2),f=new i(5),u=(new i(16),new i(8),new i(10)),h=new i(3),d=(new i(7),new i(11)),l=new i(4),p=(new i(12),null);function b(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;i<t&&e[i]<=n&&r%e[i]!=0;i++);t!==i&&e[i]<=n||(e[t++]=r)}return p=e,e}function m(e){for(var t=b(),r=0;r<t.length;r++)if(0===e.modn(t[r]))return 0===e.cmpn(t[r]);return!0}function g(e){var t=i.mont(e);return 0===c.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function y(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var r,p;for(t=new i(t);;){for(r=new i(n(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(o),r.testn(1)||r.iadd(c),t.cmp(c)){if(!t.cmp(f))for(;r.mod(u).cmp(h);)r.iadd(l)}else for(;r.mod(a).cmp(d);)r.iadd(l);if(m(p=r.shrn(1))&&m(r)&&g(p)&&g(r)&&s.test(p)&&s.test(r))return r}}},function(e,t,r){"use strict";(function(t,n){var i=r(217).Buffer,a=t.crypto||t.msCrypto;a&&a.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=i.allocUnsafe(e);if(e>0)if(e>65536)for(var s=0;s<e;s+=65536)a.getRandomValues(r.slice(s,s+65536));else a.getRandomValues(r);if("function"==typeof t)return n.nextTick((function(){t(null,r)}));return r}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,r(6),r(3))},function(e,t,r){var n=r(53),i=r(219);function a(e){this.rand=e||new i.Rand}e.exports=a,a.create=function(e){return new a(e)},a.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(e)>=0);return i},a.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},a.prototype.test=function(e,t,r){var i=e.bitLength(),a=n.mont(e),s=new n(1).toRed(a);t||(t=Math.max(1,i/48|0));for(var o=e.subn(1),c=0;!o.testn(c);c++);for(var f=e.shrn(c),u=o.toRed(a);t>0;t--){var h=this._randrange(new n(2),o);r&&r(h);var d=h.toRed(a).redPow(f);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var l=1;l<c;l++){if(0===(d=d.redSqr()).cmp(s))return!1;if(0===d.cmp(u))break}if(l===c)return!1}}return!0},a.prototype.getDivisor=function(e,t){var r=e.bitLength(),i=n.mont(e),a=new n(1).toRed(i);t||(t=Math.max(1,r/48|0));for(var s=e.subn(1),o=0;!s.testn(o);o++);for(var c=e.shrn(o),f=s.toRed(i);t>0;t--){var u=this._randrange(new n(2),s),h=e.gcd(u);if(0!==h.cmpn(1))return h;var d=u.toRed(i).redPow(c);if(0!==d.cmp(a)&&0!==d.cmp(f)){for(var l=1;l<o;l++){if(0===(d=d.redSqr()).cmp(a))return d.fromRed().subn(1).gcd(e);if(0===d.cmp(f))break}if(l===o)return(d=d.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){(function(e,t,n,i){var a=void 0,s=function(s){return a||(a=new Promise((function(a,o){var c,f=void 0!==s?s:{},u=f.onAbort;f.onAbort=function(e){o(new Error(e)),u&&u(e)},f.postRun=f.postRun||[],f.postRun.push((function(){a(f)})),e=void 0,c||(c=void 0!==f?f:{}),c.onRuntimeInitialized=function(){function e(e,t){this.Na=e,this.db=t,this.Ma=1,this.eb=[]}function t(e){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),null!=e){var t=this.filename,n=t?Ee("//"+t):"/";if(n=ot(n,4095&(void 0!==(t=Et(!0,!0))?t:438)|32768,0),e){if("string"==typeof e){for(var a=Array(e.length),s=0,o=e.length;s<o;++s)a[s]=e.charCodeAt(s);e=a}bt(n,146|t),Mt(a=yt(n,"w"),e,0,e.length,0,void 0),wt(a),bt(n,t)}}this.handleError(i(this.filename,r)),this.db=T(r,"i32"),$(this.db),this.bb={},this.Ta={}}var r=rr(4),n=c.cwrap,i=n("sqlite3_open","number",["string","number"]),a=n("sqlite3_close_v2","number",["number"]),s=n("sqlite3_exec","number",["number","string","number","number","number"]),o=n("sqlite3_changes","number",["number"]),f=n("sqlite3_prepare_v2","number",["number","string","number","number","number"]),u=n("sqlite3_prepare_v2","number",["number","number","number","number","number"]),h=n("sqlite3_bind_text","number",["number","number","number","number","number"]),d=n("sqlite3_bind_blob","number",["number","number","number","number","number"]),l=n("sqlite3_bind_double","number",["number","number","number"]),p=n("sqlite3_bind_int","number",["number","number","number"]),b=n("sqlite3_bind_parameter_index","number",["number","string"]),m=n("sqlite3_step","number",["number"]),g=n("sqlite3_errmsg","string",["number"]),y=n("sqlite3_data_count","number",["number"]),w=n("sqlite3_column_double","number",["number","number"]),v=n("sqlite3_column_text","string",["number","number"]),_=n("sqlite3_column_blob","number",["number","number"]),M=n("sqlite3_column_bytes","number",["number","number"]),S=n("sqlite3_column_type","number",["number","number"]),E=n("sqlite3_column_name","string",["number","number"]),k=n("sqlite3_reset","number",["number"]),I=n("sqlite3_clear_bindings","number",["number"]),N=n("sqlite3_finalize","number",["number"]),O=n("sqlite3_create_function_v2","number","number string number number number number number number number".split(" ")),C=n("sqlite3_value_type","number",["number"]),j=n("sqlite3_value_bytes","number",["number"]),q=n("sqlite3_value_text","string",["number"]),F=n("sqlite3_value_blob","number",["number"]),z=n("sqlite3_value_double","number",["number"]),H=n("sqlite3_result_double","",["number","number"]),V=n("sqlite3_result_null","",["number"]),W=n("sqlite3_result_text","",["number","string","number","number"]),G=n("sqlite3_result_blob","",["number","number","number","number"]),Y=n("sqlite3_result_int","",["number","number"]),Q=n("sqlite3_result_error","",["number","string","number"]),$=n("RegisterExtensionFunctions","number",["number"]);e.prototype.bind=function(e){if(!this.Na)throw"Statement closed";return this.reset(),Array.isArray(e)?this.sb(e):null==e||"object"!=typeof e||this.tb(e)},e.prototype.step=function(){if(!this.Na)throw"Statement closed";this.Ma=1;var e=m(this.Na);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},e.prototype.zb=function(e){return null==e&&(e=this.Ma,this.Ma+=1),w(this.Na,e)},e.prototype.Ab=function(e){return null==e&&(e=this.Ma,this.Ma+=1),v(this.Na,e)},e.prototype.getBlob=function(e){null==e&&(e=this.Ma,this.Ma+=1);var t=M(this.Na,e),r=_(this.Na,e),n=new Uint8Array(t);for(e=0;e<t;)n[e]=K[r+e],e+=1;return n},e.prototype.get=function(e){var t;null!=e&&this.bind(e)&&this.step();var r=[];for(e=0,t=y(this.Na);e<t;){switch(S(this.Na,e)){case 1:case 2:r.push(this.zb(e));break;case 3:r.push(this.Ab(e));break;case 4:r.push(this.getBlob(e));break;default:r.push(null)}e+=1}return r},e.prototype.getColumnNames=function(){var e,t=[],r=0;for(e=y(this.Na);r<e;)t.push(E(this.Na,r)),r+=1;return t},e.prototype.getAsObject=function(e){var t,r=this.get(e),n=this.getColumnNames(),i={};for(e=0,t=n.length;e<t;){i[n[e]]=r[e],e+=1}return i},e.prototype.run=function(e){return null!=e&&this.bind(e),this.step(),this.reset()},e.prototype.wb=function(e,t){null==t&&(t=this.Ma,this.Ma+=1);var r=L(e=Ft(e));this.eb.push(r),this.db.handleError(h(this.Na,t,r,e.length-1,0))},e.prototype.rb=function(e,t){null==t&&(t=this.Ma,this.Ma+=1);var r=L(e);this.eb.push(r),this.db.handleError(d(this.Na,t,r,e.length,0))},e.prototype.vb=function(e,t){null==t&&(t=this.Ma,this.Ma+=1),this.db.handleError((e===(0|e)?p:l)(this.Na,t,e))},e.prototype.ub=function(e){null==e&&(e=this.Ma,this.Ma+=1),d(this.Na,e,0,0,0)},e.prototype.kb=function(e,t){switch(null==t&&(t=this.Ma,this.Ma+=1),typeof e){case"string":return void this.wb(e,t);case"number":case"boolean":return void this.vb(e+0,t);case"object":if(null===e)return void this.ub(t);if(null!=e.length)return void this.rb(e,t)}throw"Wrong API use : tried to bind a value of an unknown type ("+e+")."},e.prototype.tb=function(e){var t=this;return Object.keys(e).forEach((function(r){var n=b(t.Na,r);0!==n&&t.kb(e[r],n)})),!0},e.prototype.sb=function(e){var t;for(t=0;t<e.length;)this.kb(e[t],t+1),t+=1;return!0},e.prototype.reset=function(){return 0===I(this.Na)&&0===k(this.Na)},e.prototype.freemem=function(){for(var e;void 0!==(e=this.eb.pop());)Yt(e)},e.prototype.free=function(){var e=0===N(this.Na);return delete this.db.bb[this.Na],this.Na=0,e},t.prototype.run=function(e,t){if(!this.db)throw"Database closed";if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(s(this.db,e,0,0,r));return this},t.prototype.exec=function(t,n){if(!this.db)throw"Database closed";var i=tr();try{var a=X(t)+1,s=rr(a);Z(t,K,s,a);var o=s,c=rr(4);for(t=[];0!==T(o,"i8");){P(r),P(c),this.handleError(u(this.db,o,-1,r,c));var f=T(r,"i32");if(o=T(c,"i32"),0!==f){var h=null,d=new e(f,this);for(null!=n&&d.bind(n);d.step();)null===h&&(h={columns:d.getColumnNames(),values:[]},t.push(h)),h.values.push(d.get());d.free()}}return t}catch(e){throw d&&d.free(),e}finally{nr(i)}},t.prototype.each=function(e,t,r,n){"function"==typeof t&&(n=r,r=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)r(e.getAsObject())}finally{e.free()}if("function"==typeof n)return n()},t.prototype.prepare=function(t,n){if(P(r),this.handleError(f(this.db,t,-1,r,0)),0===(t=T(r,"i32")))throw"Nothing to prepare";var i=new e(t,this);return null!=n&&i.bind(n),this.bb[t]=i},t.prototype.export=function(){Object.values(this.bb).forEach((function(e){e.free()})),Object.values(this.Ta).forEach(B),this.Ta={},this.handleError(a(this.db));var e=function(e){var t={encoding:"binary"};if((t=t||{}).flags=t.flags||"r",t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error('Invalid encoding type "'+t.encoding+'"');var r,n=yt(e,t.flags);e=lt(e).size;var i=new Uint8Array(e);return _t(n,i,0,e,0),"utf8"===t.encoding?r=J(i,0):"binary"===t.encoding&&(r=i),wt(n),r}(this.filename);return this.handleError(i(this.filename,r)),this.db=T(r,"i32"),e},t.prototype.close=function(){null!==this.db&&(Object.values(this.bb).forEach((function(e){e.free()})),Object.values(this.Ta).forEach(B),this.Ta={},this.handleError(a(this.db)),ht("/"+this.filename),this.db=null)},t.prototype.handleError=function(e){if(0===e)return null;throw e=g(this.db),Error(e)},t.prototype.getRowsModified=function(){return o(this.db)},t.prototype.create_function=function(e,t){Object.prototype.hasOwnProperty.call(this.Ta,e)&&(x(this.Ta[e]),delete this.Ta[e]);var r=function(e){if(!A){A=new WeakMap;for(var t=0;t<D.length;t++){var r=D.get(t);r&&A.set(r,t)}}if(A.has(e))e=A.get(e);else{if(R.length)t=R.pop();else{t=D.length;try{D.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}}try{D.set(t,e)}catch(a){if(!(a instanceof TypeError))throw a;if(U(!0,"Missing signature argument to addFunction"),"function"==typeof WebAssembly.Function){var n={i:"i32",j:"i64",f:"f32",d:"f64"},i={parameters:[],results:[]};for(r=1;4>r;++r)i.parameters.push(n["viii"[r]]);r=new WebAssembly.Function(i,e)}else{for(i={i:127,j:126,f:125,d:124},(n=[1,0,1,96]).push(3),r=0;3>r;++r)n.push(i["iii"[r]]);n.push(0),n[1]=n.length-2,r=new Uint8Array([0,97,115,109,1,0,0,0].concat(n,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),r=new WebAssembly.Module(r),r=new WebAssembly.Instance(r,{e:{f:e}}).exports.f}D.set(t,r)}A.set(e,t),e=t}return e}((function(e,r,n){for(var i,a=[],s=0;s<r;s+=1){var o=T(n+4*s,"i32"),c=C(o);if(1===c||2===c)o=z(o);else if(3===c)o=q(o);else if(4===c){o=j(c=o),c=F(c);for(var f=new Uint8Array(o),u=0;u<o;u+=1)f[u]=K[c+u];o=f}else o=null;a.push(o)}try{i=t.apply(null,a)}catch(t){return void Q(e,t,-1)}switch(typeof i){case"boolean":Y(e,i?1:0);break;case"number":H(e,i);break;case"string":W(e,i,-1,-1);break;case"object":null===i?V(e):null!=i.length?(r=L(i),G(e,r,i.length,-1),Yt(r)):Q(e,"Wrong API use : tried to return a value of an unknown type ("+i+").",-1);break;default:V(e)}}));return this.Ta[e]=r,this.handleError(O(this.db,e,t.length,1,0,r,0,0,0)),this},c.Database=t};var h,d={};for(h in c)c.hasOwnProperty(h)&&(d[h]=c[h]);var l,p,b,m,g="./this.program";l="object"==typeof window,p="function"==typeof importScripts,b="object"==typeof t&&"object"==typeof t.versions&&"string"==typeof t.versions.node,m=!l&&!b&&!p;var y,w,v,_,M="";b?(M=p?r(57).dirname(M)+"/":n+"/",y=function(e,t){return v||(v=r(121)),_||(_=r(57)),e=_.normalize(e),v.readFileSync(e,t?null:"utf8")},w=function(e){return(e=y(e,!0)).buffer||(e=new Uint8Array(e)),U(e.buffer),e},1<t.argv.length&&(g=t.argv[1].replace(/\\/g,"/")),t.argv.slice(2),e.exports=c,t.on("unhandledRejection",be),c.inspect=function(){return"[Emscripten Module object]"}):m?("undefined"!=typeof read&&(y=function(e){return read(e)}),w=function(e){return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(U("object"==typeof(e=read(e,"binary"))),e)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(l||p)&&(p?M=self.location.href:document.currentScript&&(M=document.currentScript.src),M=0!==M.indexOf("blob:")?M.substr(0,M.lastIndexOf("/")+1):"",y=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},p&&(w=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}));var S=c.print||console.log.bind(console),E=c.printErr||console.warn.bind(console);for(h in d)d.hasOwnProperty(h)&&(c[h]=d[h]);function k(e){var t=H[ee>>2];return H[ee>>2]=t+e+15&-16,t}d=null,c.thisProgram&&(g=c.thisProgram);var A,I,R=[];function x(e){A.delete(D.get(e)),R.push(e)}function B(e){x(e)}function P(e){var t="i32";switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":K[e>>0]=0;break;case"i16":z[e>>1]=0;break;case"i32":H[e>>2]=0;break;case"i64":we=[0,(ye=0,1<=+ce(ye)?0<ye?(0|he(+ue(ye/4294967296),4294967295))>>>0:~~+fe((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[e>>2]=we[0],H[e+4>>2]=we[1];break;case"float":V[e>>2]=0;break;case"double":W[e>>3]=0;break;default:be("invalid type for setValue: "+t)}}function T(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return K[e>>0];case"i16":return z[e>>1];case"i32":case"i64":return H[e>>2];case"float":return V[e>>2];case"double":return W[e>>3];default:be("invalid type for getValue: "+t)}return null}c.wasmBinary&&(I=c.wasmBinary),c.noExitRuntime&&c.noExitRuntime,"object"!=typeof WebAssembly&&E("no native wasm support detected");var N,D=new WebAssembly.Table({initial:387,element:"anyfunc"}),O=!1;function U(e,t){e||be("Assertion failed: "+t)}function C(e){var t=c["_"+e];return U(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function j(e,t,r,n){var i,a={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=rr(r),Z(e,F,t,r)}return t},array:function(e){var t=rr(e.length);return K.set(e,t),t}},s=C(e),o=[];if(e=0,n)for(var c=0;c<n.length;c++){var f=a[r[c]];f?(0===e&&(e=tr()),o[c]=f(n[c])):o[c]=n[c]}return r=s.apply(null,o),i=r,r="string"===t?Y(i):"boolean"===t?!!i:i,0!==e&&nr(e),r}function L(e){var t;if("number"==typeof e)var r=!0,n=e;else r=!1,n=e.length;if(t=[Jt,rr,k][0](Math.max(n,1)),r){var i=t;for(U(0==(3&t)),e=t+(-4&n);i<e;i+=4)H[i>>2]=0;for(e=t+n;i<e;)K[i++>>0]=0;return t}return e.subarray||e.slice?F.set(e,t):F.set(new Uint8Array(e),t),t}var q,K,F,z,H,V,W,G="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function J(e,t,r){var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.subarray&&G)return G.decode(e.subarray(t,r));for(n="";t<r;){var i=e[t++];if(128&i){var a=63&e[t++];if(192==(224&i))n+=String.fromCharCode((31&i)<<6|a);else{var s=63&e[t++];65536>(i=224==(240&i)?(15&i)<<12|a<<6|s:(7&i)<<18|a<<12|s<<6|63&e[t++])?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else n+=String.fromCharCode(i)}return n}function Y(e){return e?J(F,e,void 0):""}function Z(e,t,r,n){if(!(0<n))return 0;var i=r;n=r+n-1;for(var a=0;a<e.length;++a){var s=e.charCodeAt(a);if(55296<=s&&57343>=s)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(127>=s){if(r>=n)break;t[r++]=s}else{if(2047>=s){if(r+1>=n)break;t[r++]=192|s>>6}else{if(65535>=s){if(r+2>=n)break;t[r++]=224|s>>12}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63}t[r++]=128|s>>6&63}t[r++]=128|63&s}}return t[r]=0,r-i}function X(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),127>=n?++t:t=2047>=n?t+2:65535>=n?t+3:t+4}return t}function Q(e){var t=X(e)+1,r=Jt(t);return r&&Z(e,K,r,t),r}function $(e){q=e,c.HEAP8=K=new Int8Array(e),c.HEAP16=z=new Int16Array(e),c.HEAP32=H=new Int32Array(e),c.HEAPU8=F=new Uint8Array(e),c.HEAPU16=new Uint16Array(e),c.HEAPU32=new Uint32Array(e),c.HEAPF32=V=new Float32Array(e),c.HEAPF64=W=new Float64Array(e)}var ee=63056,te=c.INITIAL_MEMORY||16777216;function re(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t(c);else{var r=t.yb;"number"==typeof r?void 0===t.fb?c.dynCall_v(r):c.dynCall_vi(r,t.fb):r(void 0===t.fb?null:t.fb)}}}(N=c.wasmMemory?c.wasmMemory:new WebAssembly.Memory({initial:te/65536,maximum:32768}))&&(q=N.buffer),te=q.byteLength,$(q),H[ee>>2]=5306096;var ne=[],ie=[],ae=[],se=[];function oe(){var e=c.preRun.shift();ne.unshift(e)}var ce=Math.abs,fe=Math.ceil,ue=Math.floor,he=Math.min,de=0,le=null,pe=null;function be(e){throw c.onAbort&&c.onAbort(e),S(e),E(e),O=!0,new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info.")}function me(e){var t=ve;return String.prototype.startsWith?t.startsWith(e):0===t.indexOf(e)}function ge(){return me("data:application/octet-stream;base64,")}c.preloadedImages={},c.preloadedAudios={};var ye,we,ve="sql-wasm.wasm";if(!ge()){var _e=ve;ve=c.locateFile?c.locateFile(_e,M):M+_e}function Me(){try{if(I)return new Uint8Array(I);if(w)return w(ve);throw"both async and sync fetching of the wasm failed"}catch(e){be(e)}}function Se(e,t){for(var r=0,n=e.length-1;0<=n;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function Ee(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=Se(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function ke(e){var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function Ae(e){if("/"===e)return"/";var t=e.lastIndexOf("/");return-1===t?e:e.substr(t+1)}function Ie(e){H[Gt()>>2]=e}function Re(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=Se(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}ie.push({yb:function(){Vt()}});var xe=[];function Be(e,t){xe[e]={input:[],output:[],Ya:t},at(e,Pe)}var Pe={open:function(e){var t=xe[e.node.rdev];if(!t)throw new Fe(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.Ya.flush(e.tty)},flush:function(e){e.tty.Ya.flush(e.tty)},read:function(e,t,r,n){if(!e.tty||!e.tty.Ya.ob)throw new Fe(60);for(var i=0,a=0;a<n;a++){try{var s=e.tty.Ya.ob(e.tty)}catch(e){throw new Fe(29)}if(void 0===s&&0===i)throw new Fe(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n){if(!e.tty||!e.tty.Ya.hb)throw new Fe(60);try{for(var i=0;i<n;i++)e.tty.Ya.hb(e.tty,t[r+i])}catch(e){throw new Fe(29)}return n&&(e.node.timestamp=Date.now()),i}},Te={ob:function(e){if(!e.input.length){var r=null;if(b){var n=i.qb?i.qb(256):new i(256),a=0;try{a=v.readSync(t.stdin.fd,n,0,256,null)}catch(e){if(-1==e.toString().indexOf("EOF"))throw e;a=0}r=0<a?n.slice(0,a).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&(null!==(r=readline())&&(r+="\n"));if(!r)return null;e.input=Ft(r,!0)}return e.input.shift()},hb:function(e,t){null===t||10===t?(S(J(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&0<e.output.length&&(S(J(e.output,0)),e.output=[])}},Ne={hb:function(e,t){null===t||10===t?(E(J(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&0<e.output.length&&(E(J(e.output,0)),e.output=[])}},De={Ra:null,Sa:function(){return De.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new Fe(63);return De.Ra||(De.Ra={dir:{node:{Qa:De.Ja.Qa,Pa:De.Ja.Pa,lookup:De.Ja.lookup,Za:De.Ja.Za,rename:De.Ja.rename,unlink:De.Ja.unlink,rmdir:De.Ja.rmdir,readdir:De.Ja.readdir,symlink:De.Ja.symlink},stream:{Va:De.Ka.Va}},file:{node:{Qa:De.Ja.Qa,Pa:De.Ja.Pa},stream:{Va:De.Ka.Va,read:De.Ka.read,write:De.Ka.write,jb:De.Ka.jb,$a:De.Ka.$a,ab:De.Ka.ab}},link:{node:{Qa:De.Ja.Qa,Pa:De.Ja.Pa,readlink:De.Ja.readlink},stream:{}},lb:{node:{Qa:De.Ja.Qa,Pa:De.Ja.Pa},stream:it}}),Ze((r=Ye(e,t,r,n)).mode)?(r.Ja=De.Ra.dir.node,r.Ka=De.Ra.dir.stream,r.Ia={}):32768==(61440&r.mode)?(r.Ja=De.Ra.file.node,r.Ka=De.Ra.file.stream,r.Oa=0,r.Ia=null):40960==(61440&r.mode)?(r.Ja=De.Ra.link.node,r.Ka=De.Ra.link.stream):8192==(61440&r.mode)&&(r.Ja=De.Ra.lb.node,r.Ka=De.Ra.lb.stream),r.timestamp=Date.now(),e&&(e.Ia[t]=r),r},Jb:function(e){if(e.Ia&&e.Ia.subarray){for(var t=[],r=0;r<e.Oa;++r)t.push(e.Ia[r]);return t}return e.Ia},Kb:function(e){return e.Ia?e.Ia.subarray?e.Ia.subarray(0,e.Oa):new Uint8Array(e.Ia):new Uint8Array(0)},mb:function(e,t){var r=e.Ia?e.Ia.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.Ia,e.Ia=new Uint8Array(t),0<e.Oa&&e.Ia.set(r.subarray(0,e.Oa),0))},Gb:function(e,t){if(e.Oa!=t)if(0==t)e.Ia=null,e.Oa=0;else{if(!e.Ia||e.Ia.subarray){var r=e.Ia;e.Ia=new Uint8Array(t),r&&e.Ia.set(r.subarray(0,Math.min(t,e.Oa)))}else if(e.Ia||(e.Ia=[]),e.Ia.length>t)e.Ia.length=t;else for(;e.Ia.length<t;)e.Ia.push(0);e.Oa=t}},Ja:{Qa:function(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ze(e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.Oa:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.xb=4096,t.blocks=Math.ceil(t.size/t.xb),t},Pa:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&De.Gb(e,t.size)},lookup:function(){throw ze[44]},Za:function(e,t,r,n){return De.createNode(e,t,r,n)},rename:function(e,t,r){if(Ze(e.mode)){try{var n=Je(t,r)}catch(e){}if(n)for(var i in n.Ia)throw new Fe(55)}delete e.parent.Ia[e.name],e.name=r,t.Ia[r]=e,e.parent=t},unlink:function(e,t){delete e.Ia[t]},rmdir:function(e,t){var r,n=Je(e,t);for(r in n.Ia)throw new Fe(55);delete e.Ia[t]},readdir:function(e){var t,r=[".",".."];for(t in e.Ia)e.Ia.hasOwnProperty(t)&&r.push(t);return r},symlink:function(e,t,r){return(e=De.createNode(e,t,41471,0)).link=r,e},readlink:function(e){if(40960!=(61440&e.mode))throw new Fe(28);return e.link}},Ka:{read:function(e,t,r,n,i){var a=e.node.Ia;if(i>=e.node.Oa)return 0;if(8<(e=Math.min(e.node.Oa-i,n))&&a.subarray)t.set(a.subarray(i,i+e),r);else for(n=0;n<e;n++)t[r+n]=a[i+n];return e},write:function(e,t,r,n,i,a){if(t.buffer===K.buffer&&(a=!1),!n)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.Ia||e.Ia.subarray)){if(a)return e.Ia=t.subarray(r,r+n),e.Oa=n;if(0===e.Oa&&0===i)return e.Ia=t.slice(r,r+n),e.Oa=n;if(i+n<=e.Oa)return e.Ia.set(t.subarray(r,r+n),i),n}if(De.mb(e,i+n),e.Ia.subarray&&t.subarray)e.Ia.set(t.subarray(r,r+n),i);else for(a=0;a<n;a++)e.Ia[i+a]=t[r+a];return e.Oa=Math.max(e.Oa,i+n),n},Va:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.Oa),0>t)throw new Fe(28);return t},jb:function(e,t,r){De.mb(e.node,t+r),e.node.Oa=Math.max(e.node.Oa,t+r)},$a:function(e,t,r,n,i,a,s){if(32768!=(61440&e.node.mode))throw new Fe(43);if(e=e.node.Ia,2&s||e.buffer!==t.buffer){if((0<i||i+n<e.length)&&(e=e.subarray?e.subarray(i,i+n):Array.prototype.slice.call(e,i,i+n)),i=!0,s=t.buffer==K.buffer,!(n=Jt(n)))throw new Fe(48);(s?K:t).set(e,n)}else i=!1,n=e.byteOffset;return{Fb:n,cb:i}},ab:function(e,t,r,n,i){if(32768!=(61440&e.node.mode))throw new Fe(43);return 2&i||De.Ka.write(e,t,0,n,r,!1),0}}},Oe=null,Ue={},Ce=[],je=1,Le=null,qe=!0,Ke={},Fe=null,ze={};function He(e,t){if(t=t||{},!(e=Re("/",e)))return{path:"",node:null};var r,n={nb:!0,ib:0};for(r in n)void 0===t[r]&&(t[r]=n[r]);if(8<t.ib)throw new Fe(32);e=Se(e.split("/").filter((function(e){return!!e})),!1);var i=Oe;for(n="/",r=0;r<e.length;r++){var a=r===e.length-1;if(a&&t.parent)break;if(i=Je(i,e[r]),n=Ee(n+"/"+e[r]),i.Wa&&(!a||a&&t.nb)&&(i=i.Wa.root),!a||t.Ua)for(a=0;40960==(61440&i.mode);)if(i=dt(n),i=He(n=Re(ke(n),i),{ib:t.ib}).node,40<a++)throw new Fe(32)}return{path:n,node:i}}function Ve(e){for(var t;;){if(e===e.parent)return e=e.Sa.pb,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function We(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Le.length}function Ge(e){var t=We(e.parent.id,e.name);if(Le[t]===e)Le[t]=e.Xa;else for(t=Le[t];t;){if(t.Xa===e){t.Xa=e.Xa;break}t=t.Xa}}function Je(e,t){var r;if(r=(r=$e(e,"x"))?r:e.Ja.lookup?0:2)throw new Fe(r,e);for(r=Le[We(e.id,t)];r;r=r.Xa){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.Ja.lookup(e,t)}function Ye(e,t,r,n){return t=We((e=new Kt(e,t,r,n)).parent.id,e.name),e.Xa=Le[t],Le[t]=e}function Ze(e){return 16384==(61440&e)}var Xe={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Qe(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function $e(e,t){return qe||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function et(e,t){try{return Je(e,t),20}catch(e){}return $e(e,"wx")}function tt(e,t,r){try{var n=Je(e,t)}catch(e){return e.La}if(e=$e(e,"wx"))return e;if(r){if(!Ze(n.mode))return 54;if(n===n.parent||"/"===Ve(n))return 10}else if(Ze(n.mode))return 31;return 0}function rt(e,t){It||((It=function(){}).prototype={});var r,n=new It;for(r in e)n[r]=e[r];return e=n,t=function(e){for(e=e||0;e<=4096;e++)if(!Ce[e])return e;throw new Fe(33)}(t),e.fd=t,Ce[t]=e}var nt,it={open:function(e){e.Ka=Ue[e.node.rdev].Ka,e.Ka.open&&e.Ka.open(e)},Va:function(){throw new Fe(70)}};function at(e,t){Ue[e]={Ka:t}}function st(e,t){var r="/"===t,n=!t;if(r&&Oe)throw new Fe(10);if(!r&&!n){var i=He(t,{nb:!1});if(t=i.path,(i=i.node).Wa)throw new Fe(10);if(!Ze(i.mode))throw new Fe(54)}t={type:e,Lb:{},pb:t,Db:[]},(e=e.Sa(t)).Sa=t,t.root=e,r?Oe=e:i&&(i.Wa=t,i.Sa&&i.Sa.Db.push(t))}function ot(e,t,r){var n=He(e,{parent:!0}).node;if(!(e=Ae(e))||"."===e||".."===e)throw new Fe(28);var i=et(n,e);if(i)throw new Fe(i);if(!n.Ja.Za)throw new Fe(63);return n.Ja.Za(n,e,t,r)}function ct(e,t){ot(e,1023&(void 0!==t?t:511)|16384,0)}function ft(e,t,r){void 0===r&&(r=t,t=438),ot(e,8192|t,r)}function ut(e,t){if(!Re(e))throw new Fe(44);var r=He(t,{parent:!0}).node;if(!r)throw new Fe(44);var n=et(r,t=Ae(t));if(n)throw new Fe(n);if(!r.Ja.symlink)throw new Fe(63);r.Ja.symlink(r,t,e)}function ht(e){var t=He(e,{parent:!0}).node,r=Ae(e),n=Je(t,r),i=tt(t,r,!1);if(i)throw new Fe(i);if(!t.Ja.unlink)throw new Fe(63);if(n.Wa)throw new Fe(10);try{Ke.willDeletePath&&Ke.willDeletePath(e)}catch(t){E("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.Ja.unlink(t,r),Ge(n);try{Ke.onDeletePath&&Ke.onDeletePath(e)}catch(t){E("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}}function dt(e){if(!(e=He(e).node))throw new Fe(44);if(!e.Ja.readlink)throw new Fe(28);return Re(Ve(e.parent),e.Ja.readlink(e))}function lt(e,t){if(!(e=He(e,{Ua:!t}).node))throw new Fe(44);if(!e.Ja.Qa)throw new Fe(63);return e.Ja.Qa(e)}function pt(e){return lt(e,!0)}function bt(e,t){var r;if(!(r="string"==typeof e?He(e,{Ua:!0}).node:e).Ja.Pa)throw new Fe(63);r.Ja.Pa(r,{mode:4095&t|-4096&r.mode,timestamp:Date.now()})}function mt(e){var t;if(!(t="string"==typeof e?He(e,{Ua:!0}).node:e).Ja.Pa)throw new Fe(63);t.Ja.Pa(t,{timestamp:Date.now()})}function gt(e,t){if(0>t)throw new Fe(28);var r;if(!(r="string"==typeof e?He(e,{Ua:!0}).node:e).Ja.Pa)throw new Fe(63);if(Ze(r.mode))throw new Fe(31);if(32768!=(61440&r.mode))throw new Fe(28);if(e=$e(r,"w"))throw new Fe(e);r.Ja.Pa(r,{size:t,timestamp:Date.now()})}function yt(e,t,r,n){if(""===e)throw new Fe(44);if("string"==typeof t){var i=Xe[t];if(void 0===i)throw Error("Unknown file open mode: "+t);t=i}if(r=64&t?4095&(void 0===r?438:r)|32768:0,"object"==typeof e)var a=e;else{e=Ee(e);try{a=He(e,{Ua:!(131072&t)}).node}catch(e){}}if(i=!1,64&t)if(a){if(128&t)throw new Fe(20)}else a=ot(e,r,0),i=!0;if(!a)throw new Fe(44);if(8192==(61440&a.mode)&&(t&=-513),65536&t&&!Ze(a.mode))throw new Fe(54);if(!i&&(r=a?40960==(61440&a.mode)?32:Ze(a.mode)&&("r"!==Qe(t)||512&t)?31:$e(a,Qe(t)):44))throw new Fe(r);512&t&&gt(a,0),t&=-131713,(n=rt({node:a,path:Ve(a),flags:t,seekable:!0,position:0,Ka:a.Ka,Ib:[],error:!1},n)).Ka.open&&n.Ka.open(n),!c.logReadFiles||1&t||(Rt||(Rt={}),e in Rt||(Rt[e]=1,E("FS.trackingDelegate error on read file: "+e)));try{Ke.onOpenFile&&(a=0,1!=(2097155&t)&&(a|=1),0!=(2097155&t)&&(a|=2),Ke.onOpenFile(e,a))}catch(t){E("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+t.message)}return n}function wt(e){if(null===e.fd)throw new Fe(8);e.gb&&(e.gb=null);try{e.Ka.close&&e.Ka.close(e)}catch(e){throw e}finally{Ce[e.fd]=null}e.fd=null}function vt(e,t,r){if(null===e.fd)throw new Fe(8);if(!e.seekable||!e.Ka.Va)throw new Fe(70);if(0!=r&&1!=r&&2!=r)throw new Fe(28);e.position=e.Ka.Va(e,t,r),e.Ib=[]}function _t(e,t,r,n,i){if(0>n||0>i)throw new Fe(28);if(null===e.fd)throw new Fe(8);if(1==(2097155&e.flags))throw new Fe(8);if(Ze(e.node.mode))throw new Fe(31);if(!e.Ka.read)throw new Fe(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Fe(70)}else i=e.position;return t=e.Ka.read(e,t,r,n,i),a||(e.position+=t),t}function Mt(e,t,r,n,i,a){if(0>n||0>i)throw new Fe(28);if(null===e.fd)throw new Fe(8);if(0==(2097155&e.flags))throw new Fe(8);if(Ze(e.node.mode))throw new Fe(31);if(!e.Ka.write)throw new Fe(28);e.seekable&&1024&e.flags&&vt(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Fe(70)}else i=e.position;t=e.Ka.write(e,t,r,n,i,a),s||(e.position+=t);try{e.path&&Ke.onWriteToFile&&Ke.onWriteToFile(e.path)}catch(t){E("FS.trackingDelegate['onWriteToFile']('"+e.path+"') threw an exception: "+t.message)}return t}function St(){Fe||((Fe=function(e,t){this.node=t,this.Hb=function(e){this.La=e},this.Hb(e),this.message="FS error"}).prototype=Error(),Fe.prototype.constructor=Fe,[44].forEach((function(e){ze[e]=new Fe(e),ze[e].stack="<generic error, no stack>"})))}function Et(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}function kt(e,t,r){e=Ee("/dev/"+e);var n=Et(!!t,!!r);At||(At=64);var i=At++<<8|0;at(i,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,n,i){for(var a=0,s=0;s<i;s++){try{var o=t()}catch(e){throw new Fe(29)}if(void 0===o&&0===a)throw new Fe(6);if(null==o)break;a++,r[n+s]=o}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,n,i){for(var a=0;a<i;a++)try{r(t[n+a])}catch(e){throw new Fe(29)}return i&&(e.node.timestamp=Date.now()),a}}),ft(e,n,i)}var At,It,Rt,xt={},Bt={};function Pt(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&Ee(t)!==Ee(Ve(e.node)))return-54;throw e}return H[r>>2]=n.dev,H[r+4>>2]=0,H[r+8>>2]=n.ino,H[r+12>>2]=n.mode,H[r+16>>2]=n.nlink,H[r+20>>2]=n.uid,H[r+24>>2]=n.gid,H[r+28>>2]=n.rdev,H[r+32>>2]=0,we=[n.size>>>0,(ye=n.size,1<=+ce(ye)?0<ye?(0|he(+ue(ye/4294967296),4294967295))>>>0:~~+fe((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[r+40>>2]=we[0],H[r+44>>2]=we[1],H[r+48>>2]=4096,H[r+52>>2]=n.blocks,H[r+56>>2]=n.atime.getTime()/1e3|0,H[r+60>>2]=0,H[r+64>>2]=n.mtime.getTime()/1e3|0,H[r+68>>2]=0,H[r+72>>2]=n.ctime.getTime()/1e3|0,H[r+76>>2]=0,we=[n.ino>>>0,(ye=n.ino,1<=+ce(ye)?0<ye?(0|he(+ue(ye/4294967296),4294967295))>>>0:~~+fe((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[r+80>>2]=we[0],H[r+84>>2]=we[1],0}var Tt=void 0;function Nt(){return H[(Tt+=4)-4>>2]}function Dt(e){if(!(e=Ce[e]))throw new Fe(8);return e}var Ot,Ut,Ct,jt={};function Lt(){if(!Ot){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:g||"./this.program"};for(e in jt)t[e]=jt[e];var r=[];for(e in t)r.push(e+"="+t[e]);Ot=r}return Ot}function qt(e){for(var t=Ct();Ct()-t<e/1e3;);}function Kt(e,t,r,n){e||(e=this),this.parent=e,this.Sa=e.Sa,this.Wa=null,this.id=je++,this.name=t,this.mode=r,this.Ja={},this.Ka={},this.rdev=n}function Ft(e,t){var r=Array(X(e)+1);return e=Z(e,r,0,r.length),t&&(r.length=e),r}Z("GMT",F,63120,4),Ct=b?function(){var e=t.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()},c._usleep=qt,Object.defineProperties(Kt.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),St(),Le=Array(4096),st(De,"/"),ct("/tmp"),ct("/home"),ct("/home/web_user"),function(){if(ct("/dev"),at(259,{read:function(){return 0},write:function(e,t,r,n){return n}}),ft("/dev/null",259),Be(1280,Te),Be(1536,Ne),ft("/dev/tty",1280),ft("/dev/tty1",1536),"object"==typeof crypto&&"function"==typeof crypto.getRandomValues)var e=new Uint8Array(1),t=function(){return crypto.getRandomValues(e),e[0]};else if(b)try{var n=r(122);t=function(){return n.randomBytes(1)[0]}}catch(e){}t||(t=function(){be("random_device")}),kt("random",t),kt("urandom",t),ct("/dev/shm"),ct("/dev/shm/tmp")}(),ct("/proc"),ct("/proc/self"),ct("/proc/self/fd"),st({Sa:function(){var e=Ye("/proc/self","fd",16895,73);return e.Ja={lookup:function(e,t){var r=Ce[+t];if(!r)throw new Fe(8);return(e={parent:null,Sa:{pb:"fake"},Ja:{readlink:function(){return r.path}}}).parent=e}},e}},"/proc/self/fd");var zt={a:function(e,t,r,n){be("Assertion failed: "+Y(e)+", at: "+[t?Y(t):"unknown filename",r,n?Y(n):"unknown function"])},j:function(e,t){try{var r;if(e=Y(e),-8&t)var n=-28;else(r=He(e,{Ua:!0}).node)?(e="",4&t&&(e+="r"),2&t&&(e+="w"),1&t&&(e+="x"),n=e&&$e(r,e)?-2:0):n=-44;return n}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},v:function(e,t){try{return bt(e=Y(e),t),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},G:function(e){try{return mt(e=Y(e)),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},w:function(e,t){try{var r=Ce[e];if(!r)throw new Fe(8);return bt(r.node,t),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},H:function(e){try{var t=Ce[e];if(!t)throw new Fe(8);return mt(t.node),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},b:function(e,t,r){Tt=r;try{var n=Dt(e);switch(t){case 0:var i=Nt();return 0>i?-28:yt(n.path,n.flags,0,i).fd;case 1:case 2:return 0;case 3:return n.flags;case 4:return i=Nt(),n.flags|=i,0;case 12:return i=Nt(),z[i+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ie(28),-1;default:return-28}}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},t:function(e,t){try{return Pt(lt,Dt(e).path,t)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},J:function(e,t,r){try{var n=Ce[e];if(!n)throw new Fe(8);if(0==(2097155&n.flags))throw new Fe(28);return gt(n.node,r),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},F:function(e,t){try{return 0===t?-28:t<X("/")+1?-68:(Z("/",F,e,t),e)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},C:function(){return 0},d:function(){return 42},u:function(e,t){try{return Pt(pt,e=Y(e),t)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},x:function(e,t){try{return"/"===(e=Ee(e=Y(e)))[e.length-1]&&(e=e.substr(0,e.length-1)),ct(e,t),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},s:function(e,t,r,n,i,a){try{e:{a<<=12;var s=!1;if(0!=(16&n)&&0!=e%16384)var o=-28;else{if(0!=(32&n)){var c=er(16384,t);if(!c){o=-48;break e}Wt(c,0,t),s=!0}else{var f=Ce[i];if(!f){o=-8;break e}var u=a,h=F;if(0!=(2&r)&&0==(2&n)&&2!=(2097155&f.flags))throw new Fe(2);if(1==(2097155&f.flags))throw new Fe(2);if(!f.Ka.$a)throw new Fe(43);var d=f.Ka.$a(f,h,e,t,u,r,n);c=d.Fb,s=d.cb}Bt[c]={Cb:c,Bb:t,cb:s,fd:i,Eb:r,flags:n,offset:a},o=c}}return o}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},q:function(e,t){try{if(-1==(0|e)||0===t)var r=-28;else{var n=Bt[e];if(n&&t===n.Bb){var i=Ce[n.fd];if(2&n.Eb){var a=n.flags,s=n.offset,o=F.slice(e,e+t);i&&i.Ka.ab&&i.Ka.ab(i,o,s,t,a)}Bt[e]=null,n.cb&&Yt(n.Cb)}r=0}return r}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},y:function(e,t,r){Tt=r;try{return yt(Y(e),t,Nt()).fd}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},B:function(e,t,r){try{return _t(Dt(e),K,t,r)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},I:function(e,t,r){try{if(e=Y(e),0>=r)var n=-28;else{var i=dt(e),a=Math.min(r,X(i)),s=K[t+a];Z(i,F,t,r+1),K[t+a]=s,n=a}return n}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},D:function(e){try{var t=He(e=Y(e),{parent:!0}).node,r=Ae(e),n=Je(t,r),i=tt(t,r,!0);if(i)throw new Fe(i);if(!t.Ja.rmdir)throw new Fe(63);if(n.Wa)throw new Fe(10);try{Ke.willDeletePath&&Ke.willDeletePath(e)}catch(t){E("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.Ja.rmdir(t,r),Ge(n);try{Ke.onDeletePath&&Ke.onDeletePath(e)}catch(t){E("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}return 0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},e:function(e,t){try{return Pt(lt,e=Y(e),t)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},h:function(e){try{return ht(e=Y(e)),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),-e.La}},m:function(e,t,r){F.copyWithin(e,t,t+r)},c:function(e){e>>>=0;var t=F.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296),0<(n=Math.max(16777216,e,n))%65536&&(n+=65536-n%65536);e:{try{N.grow(Math.min(2147483648,n)-q.byteLength+65535>>>16),$(N.buffer);var i=1;break e}catch(e){}i=void 0}if(i)return!0}return!1},o:function(e,t){var r=0;return Lt().forEach((function(n,i){var a=t+r;for(i=H[e+4*i>>2]=a,a=0;a<n.length;++a)K[i++>>0]=n.charCodeAt(a);K[i>>0]=0,r+=n.length+1})),0},p:function(e,t){var r=Lt();H[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),H[t>>2]=n,0},f:function(e){try{return wt(Dt(e)),0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),e.La}},n:function(e,t){try{var r=Dt(e);return K[t>>0]=r.tty?2:Ze(r.mode)?3:40960==(61440&r.mode)?7:4,0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),e.La}},l:function(e,t,r,n,i){try{var a=Dt(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(vt(a,e,n),we=[a.position>>>0,(ye=a.position,1<=+ce(ye)?0<ye?(0|he(+ue(ye/4294967296),4294967295))>>>0:~~+fe((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[i>>2]=we[0],H[i+4>>2]=we[1],a.gb&&0===e&&0===n&&(a.gb=null),0)}catch(e){return void 0!==xt&&e instanceof Fe||be(e),e.La}},E:function(e){try{var t=Dt(e);return t.Ka&&t.Ka.fsync?-t.Ka.fsync(t):0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),e.La}},i:function(e,t,r,n){try{e:{for(var i=Dt(e),a=e=0;a<r;a++){var s=Mt(i,K,H[t+8*a>>2],H[t+(8*a+4)>>2],void 0);if(0>s){var o=-1;break e}e+=s}o=e}return H[n>>2]=o,0}catch(e){return void 0!==xt&&e instanceof Fe||be(e),e.La}},g:function(e){var t=Date.now();return H[e>>2]=t/1e3|0,H[e+4>>2]=t%1e3*1e3|0,0},k:function(e){!function(){function e(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}if(!Ut){Ut=!0,H[$t()>>2]=60*(new Date).getTimezoneOffset();var t=(new Date).getFullYear(),r=new Date(t,0,1);t=new Date(t,6,1),H[Qt()>>2]=Number(r.getTimezoneOffset()!=t.getTimezoneOffset());var n=e(r),i=e(t);n=Q(n),i=Q(i),t.getTimezoneOffset()<r.getTimezoneOffset()?(H[Xt()>>2]=n,H[Xt()+4>>2]=i):(H[Xt()>>2]=i,H[Xt()+4>>2]=n)}}(),e=new Date(1e3*H[e>>2]),H[15768]=e.getSeconds(),H[15769]=e.getMinutes(),H[15770]=e.getHours(),H[15771]=e.getDate(),H[15772]=e.getMonth(),H[15773]=e.getFullYear()-1900,H[15774]=e.getDay();var t=new Date(e.getFullYear(),0,1);H[15775]=(e.getTime()-t.getTime())/864e5|0,H[15777]=-60*e.getTimezoneOffset();var r=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(r!=(t=t.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(t,r)),H[15776]=e,e=H[Xt()+(e?4:0)>>2],H[15778]=e,63072},memory:N,z:function(e,t){if(0===e)return Ie(28),-1;var r=H[e>>2];return 0>(e=H[e+4>>2])||999999999<e||0>r?(Ie(28),-1):(0!==t&&(H[t>>2]=0,H[t+4>>2]=0),qt(1e6*r+e/1e3))},A:function(e){switch(e){case 30:return 16384;case 85:return 131072;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return Ie(28),-1},table:D,K:function(e){var t=Date.now()/1e3|0;return e&&(H[e>>2]=t),t},r:function(e,t){if(t){var r=1e3*H[t+8>>2];r+=H[t+12>>2]/1e3}else r=Date.now();e=Y(e);try{t=r;var n=He(e,{Ua:!0}).node;return n.Ja.Pa(n,{timestamp:Math.max(t,r)}),0}catch(t){if(!((e=t)instanceof Fe)){e+=" : ";e:{if(!(n=Error()).stack){try{throw Error()}catch(e){n=e}if(!n.stack){n="(no stack trace available)";break e}}n=n.stack.toString()}throw c.extraStackTrace&&(n+="\n"+c.extraStackTrace()),n=function(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){return e==e?e:e+" ["+e+"]"}))}(n),e+n}return Ie(e.La),-1}}},Ht=function(){function e(e){c.asm=e.exports,de--,c.monitorRunDependencies&&c.monitorRunDependencies(de),0==de&&(null!==le&&(clearInterval(le),le=null),pe&&(e=pe,pe=null,e()))}function t(t){e(t.instance)}function r(e){return(I||!l&&!p||"function"!=typeof fetch||me("file://")?new Promise((function(e){e(Me())})):fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return Me()}))).then((function(e){return WebAssembly.instantiate(e,n)})).then(e,(function(e){E("failed to asynchronously prepare wasm: "+e),be(e)}))}var n={a:zt};if(de++,c.monitorRunDependencies&&c.monitorRunDependencies(de),c.instantiateWasm)try{return c.instantiateWasm(n,e)}catch(e){return E("Module.instantiateWasm callback failed with error: "+e),!1}return function(){if(I||"function"!=typeof WebAssembly.instantiateStreaming||ge()||me("file://")||"function"!=typeof fetch)return r(t);fetch(ve,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,n).then(t,(function(e){E("wasm streaming compile failed: "+e),E("falling back to ArrayBuffer instantiation"),r(t)}))}))}(),{}}();c.asm=Ht;var Vt=c.___wasm_call_ctors=function(){return(Vt=c.___wasm_call_ctors=c.asm.L).apply(null,arguments)},Wt=c._memset=function(){return(Wt=c._memset=c.asm.M).apply(null,arguments)};c._sqlite3_free=function(){return(c._sqlite3_free=c.asm.N).apply(null,arguments)};var Gt=c.___errno_location=function(){return(Gt=c.___errno_location=c.asm.O).apply(null,arguments)};c._sqlite3_finalize=function(){return(c._sqlite3_finalize=c.asm.P).apply(null,arguments)},c._sqlite3_reset=function(){return(c._sqlite3_reset=c.asm.Q).apply(null,arguments)},c._sqlite3_clear_bindings=function(){return(c._sqlite3_clear_bindings=c.asm.R).apply(null,arguments)},c._sqlite3_value_blob=function(){return(c._sqlite3_value_blob=c.asm.S).apply(null,arguments)},c._sqlite3_value_text=function(){return(c._sqlite3_value_text=c.asm.T).apply(null,arguments)},c._sqlite3_value_bytes=function(){return(c._sqlite3_value_bytes=c.asm.U).apply(null,arguments)},c._sqlite3_value_double=function(){return(c._sqlite3_value_double=c.asm.V).apply(null,arguments)},c._sqlite3_value_int=function(){return(c._sqlite3_value_int=c.asm.W).apply(null,arguments)},c._sqlite3_value_type=function(){return(c._sqlite3_value_type=c.asm.X).apply(null,arguments)},c._sqlite3_result_blob=function(){return(c._sqlite3_result_blob=c.asm.Y).apply(null,arguments)},c._sqlite3_result_double=function(){return(c._sqlite3_result_double=c.asm.Z).apply(null,arguments)},c._sqlite3_result_error=function(){return(c._sqlite3_result_error=c.asm._).apply(null,arguments)},c._sqlite3_result_int=function(){return(c._sqlite3_result_int=c.asm.$).apply(null,arguments)},c._sqlite3_result_int64=function(){return(c._sqlite3_result_int64=c.asm.aa).apply(null,arguments)},c._sqlite3_result_null=function(){return(c._sqlite3_result_null=c.asm.ba).apply(null,arguments)},c._sqlite3_result_text=function(){return(c._sqlite3_result_text=c.asm.ca).apply(null,arguments)},c._sqlite3_step=function(){return(c._sqlite3_step=c.asm.da).apply(null,arguments)},c._sqlite3_data_count=function(){return(c._sqlite3_data_count=c.asm.ea).apply(null,arguments)},c._sqlite3_column_blob=function(){return(c._sqlite3_column_blob=c.asm.fa).apply(null,arguments)},c._sqlite3_column_bytes=function(){return(c._sqlite3_column_bytes=c.asm.ga).apply(null,arguments)},c._sqlite3_column_double=function(){return(c._sqlite3_column_double=c.asm.ha).apply(null,arguments)},c._sqlite3_column_text=function(){return(c._sqlite3_column_text=c.asm.ia).apply(null,arguments)},c._sqlite3_column_type=function(){return(c._sqlite3_column_type=c.asm.ja).apply(null,arguments)},c._sqlite3_column_name=function(){return(c._sqlite3_column_name=c.asm.ka).apply(null,arguments)},c._sqlite3_bind_blob=function(){return(c._sqlite3_bind_blob=c.asm.la).apply(null,arguments)},c._sqlite3_bind_double=function(){return(c._sqlite3_bind_double=c.asm.ma).apply(null,arguments)},c._sqlite3_bind_int=function(){return(c._sqlite3_bind_int=c.asm.na).apply(null,arguments)},c._sqlite3_bind_text=function(){return(c._sqlite3_bind_text=c.asm.oa).apply(null,arguments)},c._sqlite3_bind_parameter_index=function(){return(c._sqlite3_bind_parameter_index=c.asm.pa).apply(null,arguments)},c._sqlite3_errmsg=function(){return(c._sqlite3_errmsg=c.asm.qa).apply(null,arguments)},c._sqlite3_exec=function(){return(c._sqlite3_exec=c.asm.ra).apply(null,arguments)},c._sqlite3_prepare_v2=function(){return(c._sqlite3_prepare_v2=c.asm.sa).apply(null,arguments)},c._sqlite3_changes=function(){return(c._sqlite3_changes=c.asm.ta).apply(null,arguments)},c._sqlite3_close_v2=function(){return(c._sqlite3_close_v2=c.asm.ua).apply(null,arguments)},c._sqlite3_create_function_v2=function(){return(c._sqlite3_create_function_v2=c.asm.va).apply(null,arguments)},c._sqlite3_open=function(){return(c._sqlite3_open=c.asm.wa).apply(null,arguments)};var Jt=c._malloc=function(){return(Jt=c._malloc=c.asm.xa).apply(null,arguments)},Yt=c._free=function(){return(Yt=c._free=c.asm.ya).apply(null,arguments)};c._RegisterExtensionFunctions=function(){return(c._RegisterExtensionFunctions=c.asm.za).apply(null,arguments)};var Zt,Xt=c.__get_tzname=function(){return(Xt=c.__get_tzname=c.asm.Aa).apply(null,arguments)},Qt=c.__get_daylight=function(){return(Qt=c.__get_daylight=c.asm.Ba).apply(null,arguments)},$t=c.__get_timezone=function(){return($t=c.__get_timezone=c.asm.Ca).apply(null,arguments)},er=c._memalign=function(){return(er=c._memalign=c.asm.Da).apply(null,arguments)},tr=c.stackSave=function(){return(tr=c.stackSave=c.asm.Ea).apply(null,arguments)},rr=c.stackAlloc=function(){return(rr=c.stackAlloc=c.asm.Fa).apply(null,arguments)},nr=c.stackRestore=function(){return(nr=c.stackRestore=c.asm.Ga).apply(null,arguments)};function ir(){function e(){if(!Zt&&(Zt=!0,c.calledRun=!0,!O)){if(c.noFSInit||nt||(nt=!0,St(),c.stdin=c.stdin,c.stdout=c.stdout,c.stderr=c.stderr,c.stdin?kt("stdin",c.stdin):ut("/dev/tty","/dev/stdin"),c.stdout?kt("stdout",null,c.stdout):ut("/dev/tty","/dev/stdout"),c.stderr?kt("stderr",null,c.stderr):ut("/dev/tty1","/dev/stderr"),yt("/dev/stdin","r"),yt("/dev/stdout","w"),yt("/dev/stderr","w")),re(ie),qe=!1,re(ae),c.onRuntimeInitialized&&c.onRuntimeInitialized(),c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var e=c.postRun.shift();se.unshift(e)}re(se)}}if(!(0<de)){if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)oe();re(ne),0<de||(c.setStatus?(c.setStatus("Running..."),setTimeout((function(){setTimeout((function(){c.setStatus("")}),1),e()}),1)):e())}}if(c.dynCall_vi=function(){return(c.dynCall_vi=c.asm.Ha).apply(null,arguments)},c.asm=Ht,c.cwrap=function(e,t,r,n){var i=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&i&&!n?C(e):function(){return j(e,t,r,arguments)}},c.stackSave=tr,c.stackRestore=nr,c.stackAlloc=rr,pe=function e(){Zt||ir(),Zt||(pe=e)},c.run=ir,c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();return!0,ir(),f})))};e.exports=s,e.exports.default=s}).call(this,r(26)(e),r(3),"/",r(4).Buffer)},function(e,t,r){var n=r(213),i=r(214);e.exports=function(e,t,r){var a=t&&r||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||n)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var o=0;o<16;++o)t[a+o]=s[o];return t||i(s)}},function(e,t,r){(function(e){var n=r(110),i=r(221),a=r(222);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var r=new e(i[t].prime,"hex"),n=new e(i[t].gen,"hex");return new a(r,n)},t.createDiffieHellman=t.DiffieHellman=function t(r,i,o,c){return e.isBuffer(i)||void 0===s[i]?t(r,"binary",i,o):(i=i||"binary",c=c||"binary",o=o||new e([2]),e.isBuffer(o)||(o=new e(o,c)),"number"==typeof r?new a(n(r,o),o,!0):(e.isBuffer(r)||(r=new e(r,i)),new a(r,o,!0)))}}).call(this,r(4).Buffer)},function(e,t,r){"use strict";(function(t){!function(r){function n(e){const t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let r=1779033703,n=3144134277,i=1013904242,a=2773480762,s=1359893119,o=2600822924,c=528734635,f=1541459225;const u=new Uint32Array(64);function h(e){let h=0,d=e.length;for(;d>=64;){let l,p,b,m,g,y=r,w=n,v=i,_=a,M=s,S=o,E=c,k=f;for(p=0;p<16;p++)b=h+4*p,u[p]=(255&e[b])<<24|(255&e[b+1])<<16|(255&e[b+2])<<8|255&e[b+3];for(p=16;p<64;p++)l=u[p-2],m=(l>>>17|l<<15)^(l>>>19|l<<13)^l>>>10,l=u[p-15],g=(l>>>7|l<<25)^(l>>>18|l<<14)^l>>>3,u[p]=(m+u[p-7]|0)+(g+u[p-16]|0)|0;for(p=0;p<64;p++)m=(((M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7))+(M&S^~M&E)|0)+(k+(t[p]+u[p]|0)|0)|0,g=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&w^y&v^w&v)|0,k=E,E=S,S=M,M=_+m|0,_=v,v=w,w=y,y=m+g|0;r=r+y|0,n=n+w|0,i=i+v|0,a=a+_|0,s=s+M|0,o=o+S|0,c=c+E|0,f=f+k|0,h+=64,d-=64}}h(e);let d,l=e.length%64,p=e.length/536870912|0,b=e.length<<3,m=l<56?56:120,g=e.slice(e.length-l,e.length);for(g.push(128),d=l+1;d<m;d++)g.push(0);return g.push(p>>>24&255),g.push(p>>>16&255),g.push(p>>>8&255),g.push(p>>>0&255),g.push(b>>>24&255),g.push(b>>>16&255),g.push(b>>>8&255),g.push(b>>>0&255),h(g),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255,f>>>24&255,f>>>16&255,f>>>8&255,f>>>0&255]}function i(e,t,r){e=e.length<=64?e:n(e);const i=64+t.length+4,a=new Array(i),s=new Array(64);let o,c=[];for(o=0;o<64;o++)a[o]=54;for(o=0;o<e.length;o++)a[o]^=e[o];for(o=0;o<t.length;o++)a[64+o]=t[o];for(o=i-4;o<i;o++)a[o]=0;for(o=0;o<64;o++)s[o]=92;for(o=0;o<e.length;o++)s[o]^=e[o];function f(){for(let e=i-1;e>=i-4;e--){if(a[e]++,a[e]<=255)return;a[e]=0}}for(;r>=32;)f(),c=c.concat(n(s.concat(n(a)))),r-=32;return r>0&&(f(),c=c.concat(n(s.concat(n(a))).slice(0,r))),c}function a(e,t,r,n,i){let a;for(f(e,16*(2*r-1),i,0,16),a=0;a<2*r;a++)c(e,16*a,i,16),o(i,n),f(i,0,e,t+16*a,16);for(a=0;a<r;a++)f(e,t+2*a*16,e,16*a,16);for(a=0;a<r;a++)f(e,t+16*(2*a+1),e,16*(a+r),16)}function s(e,t){return e<<t|e>>>32-t}function o(e,t){f(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=s(t[0]+t[12],7),t[8]^=s(t[4]+t[0],9),t[12]^=s(t[8]+t[4],13),t[0]^=s(t[12]+t[8],18),t[9]^=s(t[5]+t[1],7),t[13]^=s(t[9]+t[5],9),t[1]^=s(t[13]+t[9],13),t[5]^=s(t[1]+t[13],18),t[14]^=s(t[10]+t[6],7),t[2]^=s(t[14]+t[10],9),t[6]^=s(t[2]+t[14],13),t[10]^=s(t[6]+t[2],18),t[3]^=s(t[15]+t[11],7),t[7]^=s(t[3]+t[15],9),t[11]^=s(t[7]+t[3],13),t[15]^=s(t[11]+t[7],18),t[1]^=s(t[0]+t[3],7),t[2]^=s(t[1]+t[0],9),t[3]^=s(t[2]+t[1],13),t[0]^=s(t[3]+t[2],18),t[6]^=s(t[5]+t[4],7),t[7]^=s(t[6]+t[5],9),t[4]^=s(t[7]+t[6],13),t[5]^=s(t[4]+t[7],18),t[11]^=s(t[10]+t[9],7),t[8]^=s(t[11]+t[10],9),t[9]^=s(t[8]+t[11],13),t[10]^=s(t[9]+t[8],18),t[12]^=s(t[15]+t[14],7),t[13]^=s(t[12]+t[15],9),t[14]^=s(t[13]+t[12],13),t[15]^=s(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function c(e,t,r,n){for(let i=0;i<n;i++)r[i]^=e[t+i]}function f(e,t,r,n,i){for(;i--;)r[n++]=e[t++]}function u(e){if(!e||"number"!=typeof e.length)return!1;for(let t=0;t<e.length;t++){const r=e[t];if("number"!=typeof r||r%1||r<0||r>=256)return!1}return!0}function h(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function d(e,r,n,s,o,d,l){if(n=h(n,"N"),s=h(s,"r"),o=h(o,"p"),d=h(d,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>2147483647/128/s)throw new Error("N too large");if(s>2147483647/128/o)throw new Error("r too large");if(!u(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!u(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);let p=i(e,r,128*o*s);const b=new Uint32Array(32*o*s);for(let e=0;e<b.length;e++){const t=4*e;b[e]=(255&p[t+3])<<24|(255&p[t+2])<<16|(255&p[t+1])<<8|(255&p[t+0])<<0}const m=new Uint32Array(64*s),g=new Uint32Array(32*s*n),y=32*s,w=new Uint32Array(16),v=new Uint32Array(16),_=o*n*2;let M,S,E=0,k=null,A=!1,I=0,R=0;const x=l?parseInt(1e3/s):4294967295,B=void 0!==t?t:setTimeout,P=function(){if(A)return l(new Error("cancelled"),E/_);let t;switch(I){case 0:S=32*R*s,f(b,S,m,0,y),I=1,M=0;case 1:t=n-M,t>x&&(t=x);for(let e=0;e<t;e++)f(m,0,g,(M+e)*y,y),a(m,y,s,w,v);if(M+=t,E+=t,l){const e=parseInt(1e3*E/_);if(e!==k){if(A=l(null,E/_),A)break;k=e}}if(M<n)break;M=0,I=2;case 2:t=n-M,t>x&&(t=x);for(let e=0;e<t;e++){const e=m[16*(2*s-1)]&n-1;c(g,e*y,m,y),a(m,y,s,w,v)}if(M+=t,E+=t,l){const e=parseInt(1e3*E/_);if(e!==k){if(A=l(null,E/_),A)break;k=e}}if(M<n)break;if(f(m,0,b,S,y),R++,R<o){I=0;break}p=[];for(let e=0;e<b.length;e++)p.push(b[e]>>0&255),p.push(b[e]>>8&255),p.push(b[e]>>16&255),p.push(b[e]>>24&255);const r=i(e,p,d);return l&&l(null,1,r),r}l&&B(P)};if(!l)for(;;){const e=P();if(null!=e)return e}P()}const l={scrypt:function(e,t,r,n,i,a,s){return new Promise((function(o,c){let f=0;s&&s(0),d(e,t,r,n,i,a,(function(e,t,r){if(e)c(e);else if(r)s&&1!==f&&s(1),o(new Uint8Array(r));else if(s&&t!==f)return f=t,s(t)}))}))},syncScrypt:function(e,t,r,n,i,a){return new Uint8Array(d(e,t,r,n,i,a))}};e.exports=l}()}).call(this,r(70).setImmediate)},function(e,t,r){var n,i=function(){var e,t,r=((t=(e={constructor:function(e,t){this.array=[],this.compare=t||n;for(var r=e.length,i=0;i<r;)this.insert(e[i++])},insert:function(e){for(var t,r,n=this.array,i=this.compare,a=n.length-1,s=0,o=-1;a>=s;)if((r=i(n[t=(a+s)/2>>>0],e))<0)s=t+1;else{if(!(r>0)){o=t;break}a=t-1}for(-1===o&&(o=a),o++,a=n.length-1;o<a&&0===i(e,n[o]);)o++;for(t=n.length,n.push(e);t>o;)n[t]=n[--t];return n[o]=e,this},search:function(e){for(var t,r,n=this.array,i=this.compare,a=n.length-1,s=0;a>=s;)if((r=i(n[t=(a+s)/2>>>0],e))<0)s=t+1;else{if(!(r>0))return t;a=t-1}return-1},remove:function(e){var t=this.search(e);return t>=0&&this.array.splice(t,1),this}}).constructor).prototype=e,t);return r.comparing=function(e,t){return new r(t,(function(t,r){return n(t[e],r[e])}))},r;function n(e,t){return e<t?-1:e>t?1:0}}();e.exports=i,void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)},function(e,t,r){"use strict";t.byteLength=function(e){var t=f(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=f(e),s=n[0],o=n[1],c=new a(function(e,t,r){return 3*(t+r)/4-r}(0,s,o)),u=0,h=o>0?s-4:s;for(r=0;r<h;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;2===o&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,c[u++]=255&t);1===o&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t);return c},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a=[],s=0,o=r-i;s<o;s+=16383)a.push(u(e,s,s+16383>o?o:s+16383));1===i?(t=e[r-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,c=s.length;o<c;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function f(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var i,a,s=[],o=t;o<r;o+=3)i=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),s.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var a,s,o=8*i-n-1,c=(1<<o)-1,f=c>>1,u=-7,h=r?i-1:0,d=r?-1:1,l=e[t+h];for(h+=d,a=l&(1<<-u)-1,l>>=-u,u+=o;u>0;a=256*a+e[t+h],h+=d,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=n;u>0;s=256*s+e[t+h],h+=d,u-=8);if(0===a)a=1-f;else{if(a===c)return s?NaN:1/0*(l?-1:1);s+=Math.pow(2,n),a-=f}return(l?-1:1)*s*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var s,o,c,f=8*a-i-1,u=(1<<f)-1,h=u>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:a-1,p=n?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+h>=1?d/c:d*Math.pow(2,1-h))*c>=2&&(s++,c/=2),s+h>=u?(o=0,s=u):s+h>=1?(o=(t*c-1)*Math.pow(2,i),s+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[r+l]=255&o,l+=p,o/=256,i-=8);for(s=s<<i|o,f+=i;f>0;e[r+l]=255&s,l+=p,s/=256,f-=8);e[r+l-p]|=128*b}},function(e,t){},function(e,t,r){"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=r(14),t.createHash=t.Hash=r(21),t.createHmac=t.Hmac=r(72);var n=r(147),i=Object.keys(n),a=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);t.getHashes=function(){return a};var s=r(75);t.pbkdf2=s.pbkdf2,t.pbkdf2Sync=s.pbkdf2Sync;var o=r(149);t.Cipher=o.Cipher,t.createCipher=o.createCipher,t.Cipheriv=o.Cipheriv,t.createCipheriv=o.createCipheriv,t.Decipher=o.Decipher,t.createDecipher=o.createDecipher,t.Decipheriv=o.Decipheriv,t.createDecipheriv=o.createDecipheriv,t.getCiphers=o.getCiphers,t.listCiphers=o.listCiphers;var c=r(164);t.DiffieHellmanGroup=c.DiffieHellmanGroup,t.createDiffieHellmanGroup=c.createDiffieHellmanGroup,t.getDiffieHellman=c.getDiffieHellman,t.createDiffieHellman=c.createDiffieHellman,t.DiffieHellman=c.DiffieHellman;var f=r(169);t.createSign=f.createSign,t.Sign=f.Sign,t.createVerify=f.createVerify,t.Verify=f.Verify,t.createECDH=r(208);var u=r(209);t.publicEncrypt=u.publicEncrypt,t.privateEncrypt=u.privateEncrypt,t.publicDecrypt=u.publicDecrypt,t.privateDecrypt=u.privateDecrypt;var h=r(212);t.randomFill=h.randomFill,t.randomFillSync=h.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function(e,t,r){(t=e.exports=r(59)).Stream=t,t.Readable=t,t.Writable=r(63),t.Duplex=r(16),t.Transform=r(64),t.PassThrough=r(130),t.finished=r(34),t.pipeline=r(131)},function(e,t){},function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=r(4).Buffer,o=r(126).inspect,c=o&&o.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r,f;return t=e,(r=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,r,n,i=s.allocUnsafe(e>>>0),a=this.head,o=0;a;)t=a.data,r=i,n=o,s.prototype.copy.call(t,r,n),o+=a.data.length,a=a.next;return i}},{key:"consume",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,r=1,n=t.data;for(e-=n.length;t=t.next;){var i=t.data,a=e>i.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),0==(e-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:c,value:function(e,t){return o(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}])&&a(t.prototype,r),f&&a(t,f),e}()},function(e,t){},function(e,t,r){var n=r(4),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=s),a(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){"use strict";(function(t){var n;function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(34),s=Symbol("lastResolve"),o=Symbol("lastReject"),c=Symbol("error"),f=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function l(e,t){return{value:e,done:t}}function p(e){var t=e[s];if(null!==t){var r=e[d].read();null!==r&&(e[u]=null,e[s]=null,e[o]=null,t(l(r,!1)))}}function b(e){t.nextTick(p,e)}var m=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((i(n={get stream(){return this[d]},next:function(){var e=this,r=this[c];if(null!==r)return Promise.reject(r);if(this[f])return Promise.resolve(l(void 0,!0));if(this[d].destroyed)return new Promise((function(r,n){t.nextTick((function(){e[c]?n(e[c]):r(l(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(e,t){return function(r,n){e.then((function(){t[f]?r(l(void 0,!0)):t[h](r,n)}),n)}}(i,this));else{var a=this[d].read();if(null!==a)return Promise.resolve(l(a,!1));n=new Promise(this[h])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,"return",(function(){var e=this;return new Promise((function(t,r){e[d].destroy(null,(function(e){e?r(e):t(l(void 0,!0))}))}))})),n),m);e.exports=function(e){var t,r=Object.create(g,(i(t={},d,{value:e,writable:!0}),i(t,s,{value:null,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,c,{value:null,writable:!0}),i(t,f,{value:e._readableState.endEmitted,writable:!0}),i(t,h,{value:function(e,t){var n=r[d].read();n?(r[u]=null,r[s]=null,r[o]=null,e(l(n,!1))):(r[s]=e,r[o]=t)},writable:!0}),t));return r[u]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[o];return null!==t&&(r[u]=null,r[s]=null,r[o]=null,t(e)),void(r[c]=e)}var n=r[s];null!==n&&(r[u]=null,r[s]=null,r[o]=null,n(l(void 0,!0))),r[f]=!0})),e.on("readable",b.bind(null,r)),r}}).call(this,r(3))},function(e,t){e.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(e,t,r){"use strict";e.exports=i;var n=r(64);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(1)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var n;var i=r(15).codes,a=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function o(e){if(e)throw e}function c(e,t,i,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var o=!1;e.on("close",(function(){o=!0})),void 0===n&&(n=r(34)),n(e,{readable:t,writable:i},(function(e){if(e)return a(e);o=!0,a()}));var c=!1;return function(t){if(!o&&!c)return c=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void a(t||new s("pipe"))}}function f(e){e()}function u(e,t){return e.pipe(t)}function h(e){return e.length?"function"!=typeof e[e.length-1]?o:e.pop():o}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n,i=h(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a("streams");var s=t.map((function(e,r){var a=r<t.length-1;return c(e,a,r>0,(function(e){n||(n=e),e&&s.forEach(f),a||(s.forEach(f),i(n))}))}));return t.reduce(u)}},function(e,t,r){var n=r(1),i=r(17),a=r(2).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],o=new Array(80);function c(){this.init(),this._w=o,i.call(this,64,56)}function f(e){return e<<30|e>>>2}function u(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(c,i),c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,a=0|this._c,o=0|this._d,c=0|this._e,h=0;h<16;++h)r[h]=e.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var d=0;d<80;++d){var l=~~(d/20),p=0|((t=n)<<5|t>>>27)+u(l,i,a,o)+c+r[d]+s[l];c=o,o=a,a=f(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=a+this._c|0,this._d=o+this._d|0,this._e=c+this._e|0},c.prototype._hash=function(){var e=a.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=c},function(e,t,r){var n=r(1),i=r(17),a=r(2).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],o=new Array(80);function c(){this.init(),this._w=o,i.call(this,64,56)}function f(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function h(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(c,i),c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},c.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,a=0|this._c,o=0|this._d,c=0|this._e,d=0;d<16;++d)r[d]=e.readInt32BE(4*d);for(;d<80;++d)r[d]=(t=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|t>>>31;for(var l=0;l<80;++l){var p=~~(l/20),b=f(n)+h(p,i,a,o)+c+r[l]+s[p]|0;c=o,o=a,a=u(i),i=n,n=b}this._a=n+this._a|0,this._b=i+this._b|0,this._c=a+this._c|0,this._d=o+this._d|0,this._e=c+this._e|0},c.prototype._hash=function(){var e=a.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=c},function(e,t,r){var n=r(1),i=r(65),a=r(17),s=r(2).Buffer,o=new Array(64);function c(){this.init(),this._w=o,a.call(this,64,56)}n(c,i),c.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},c.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=c},function(e,t,r){var n=r(1),i=r(66),a=r(17),s=r(2).Buffer,o=new Array(160);function c(){this.init(),this._w=o,a.call(this,128,112)}n(c,i),c.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},c.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=c},function(e,t,r){e.exports=i;var n=r(11).EventEmitter;function i(){n.call(this)}r(1)(i,n),i.Readable=r(37),i.Writable=r(142),i.Duplex=r(143),i.Transform=r(144),i.PassThrough=r(145),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(r.on("end",o),r.on("close",c));var s=!1;function o(){s||(s=!0,e.end())}function c(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function f(e){if(u(),0===n.listenerCount(this,"error"))throw e}function u(){r.removeListener("data",i),e.removeListener("drain",a),r.removeListener("end",o),r.removeListener("close",c),r.removeListener("error",f),e.removeListener("error",f),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("error",f),e.on("error",f),r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}},function(e,t){},function(e,t,r){"use strict";var n=r(38).Buffer,i=r(139);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,r,i,a=n.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=s.data,r=a,i=o,t.copy(r,i),o+=s.data.length,s=s.next;return a},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var n,i,a,s,o,c=1,f={},u=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((a=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){a.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",o=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",o,!1):e.attachEvent("onmessage",o),n=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var i={callback:e,args:t};return f[c]=i,n(c),c++},d.clearImmediate=l}function l(e){delete f[e]}function p(e){if(u)setTimeout(p,0,e);else{var t=f[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{l(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(6),r(3))},function(e,t,r){"use strict";e.exports=a;var n=r(71),i=Object.create(r(22));function a(e){if(!(this instanceof a))return new a(e);n.call(this,e)}i.inherits=r(1),i.inherits(a,n),a.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){e.exports=r(39)},function(e,t,r){e.exports=r(13)},function(e,t,r){e.exports=r(37).Transform},function(e,t,r){e.exports=r(37).PassThrough},function(e,t,r){"use strict";var n=r(1),i=r(2).Buffer,a=r(10),s=i.alloc(128);function o(e,t){a.call(this,"digest"),"string"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>64?t=e(t):t.length<64&&(t=i.concat([t,s],64));for(var r=this._ipad=i.allocUnsafe(64),n=this._opad=i.allocUnsafe(64),o=0;o<64;o++)r[o]=54^t[o],n[o]=92^t[o];this._hash=[r]}n(o,a),o.prototype._update=function(e){this._hash.push(e)},o.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},e.exports=o},function(e,t,r){e.exports=r(74)},function(e,t,r){(function(t,n){var i,a=r(2).Buffer,s=r(76),o=r(77),c=r(78),f=r(79),u=t.crypto&&t.crypto.subtle,h={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function l(e,t,r,n,i){return u.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return u.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return a.from(e)}))}e.exports=function(e,r,p,b,m,g){"function"==typeof m&&(g=m,m=void 0);var y=h[(m=m||"sha1").toLowerCase()];if(!y||"function"!=typeof t.Promise)return n.nextTick((function(){var t;try{t=c(e,r,p,b,m)}catch(e){return g(e)}g(null,t)}));if(s(p,b),e=f(e,o,"Password"),r=f(r,o,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){n.nextTick((function(){t(null,e)}))}),(function(e){n.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!u||!u.importKey||!u.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var r=l(i=i||a.alloc(8),i,10,128,e).then((function(){return!0})).catch((function(){return!1}));return d[e]=r,r}(y).then((function(t){return t?l(e,r,p,b,y):c(e,r,p,b,m)})),g)}}).call(this,r(6),r(3))},function(e,t,r){var n=r(150),i=r(41),a=r(42),s=r(163),o=r(29);function c(e,t,r){if(e=e.toLowerCase(),a[e])return i.createCipheriv(e,t,r);if(s[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function f(e,t,r){if(e=e.toLowerCase(),a[e])return i.createDecipheriv(e,t,r);if(s[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),a[e])r=a[e].key,n=a[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");r=8*s[e].key,n=s[e].iv}var i=o(t,!1,r,n);return c(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=c,t.createDecipher=t.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),a[e])r=a[e].key,n=a[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");r=8*s[e].key,n=s[e].iv}var i=o(t,!1,r,n);return f(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=f,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},function(e,t,r){var n=r(10),i=r(151),a=r(1),s=r(2).Buffer,o={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function c(e){n.call(this);var t,r=e.mode.toLowerCase(),i=o[r];t=e.decrypt?"decrypt":"encrypt";var a=e.key;s.isBuffer(a)||(a=s.from(a)),"des-ede"!==r&&"des-ede-cbc"!==r||(a=s.concat([a,a.slice(0,8)]));var c=e.iv;s.isBuffer(c)||(c=s.from(c)),this._des=i.create({key:a,iv:c,type:t})}o.des=o["des-cbc"],o.des3=o["des-ede3-cbc"],e.exports=c,a(c,n),c.prototype._update=function(e){return s.from(this._des.update(e))},c.prototype._final=function(){return s.from(this._des.final())}},function(e,t,r){"use strict";t.utils=r(80),t.Cipher=r(40),t.DES=r(81),t.CBC=r(152),t.EDE=r(153)},function(e,t,r){"use strict";var n=r(7),i=r(1),a={};function s(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}i(t,e);for(var r=Object.keys(a),n=0;n<r.length;n++){var s=r[n];t.prototype[s]=a[s]}return t.create=function(e){return new t(e)},t},a._cbcInit=function(){var e=new s(this.options.iv);this._cbcState=e},a._update=function(e,t,r,n){var i=this._cbcState,a=this.constructor.super_.prototype,s=i.iv;if("encrypt"===this.type){for(var o=0;o<this.blockSize;o++)s[o]^=e[t+o];a._update.call(this,s,0,r,n);for(o=0;o<this.blockSize;o++)s[o]=r[n+o]}else{a._update.call(this,e,t,r,n);for(o=0;o<this.blockSize;o++)r[n+o]^=s[o];for(o=0;o<this.blockSize;o++)s[o]=e[t+o]}}},function(e,t,r){"use strict";var n=r(7),i=r(1),a=r(40),s=r(81);function o(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),i=t.slice(8,16),a=t.slice(16,24);this.ciphers="encrypt"===e?[s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i}),s.create({type:"encrypt",key:a})]:[s.create({type:"decrypt",key:a}),s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r})]}function c(e){a.call(this,e);var t=new o(this.type,this.options.key);this._edeState=t}i(c,a),e.exports=c,c.create=function(e){return new c(e)},c.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},c.prototype._pad=s.prototype._pad,c.prototype._unpad=s.prototype._unpad},function(e,t,r){var n=r(42),i=r(85),a=r(2).Buffer,s=r(86),o=r(10),c=r(28),f=r(29);function u(e,t,r){o.call(this),this._cache=new d,this._cipher=new c.AES(t),this._prev=a.from(r),this._mode=e,this._autopadding=!0}r(1)(u,o),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return a.concat(n)};var h=a.alloc(16,16);function d(){this.cache=a.allocUnsafe(0)}function l(e,t,r){var o=n[e.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=a.from(t)),t.length!==o.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=a.from(r)),"GCM"!==o.mode&&r.length!==o.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===o.type?new s(o.module,t,r):"auth"===o.type?new i(o.module,t,r):new u(o.module,t,r)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(h))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=a.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=a.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return a.concat([this.cache,t])},t.createCipheriv=l,t.createCipher=function(e,t){var r=n[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=f(t,!1,r.key,r.iv);return l(e,i.key,i.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,r){var n=r(23);t.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},t.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},function(e,t,r){var n=r(2).Buffer,i=r(23);function a(e,t,r){var a=t.length,s=i(t,e._cache);return e._cache=e._cache.slice(a),e._prev=n.concat([e._prev,r?t:s]),s}t.encrypt=function(e,t,r){for(var i,s=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){s=n.concat([s,a(e,t,r)]);break}i=e._cache.length,s=n.concat([s,a(e,t.slice(0,i),r)]),t=t.slice(i)}return s}},function(e,t,r){var n=r(2).Buffer;function i(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:i])]),i}t.encrypt=function(e,t,r){for(var a=t.length,s=n.allocUnsafe(a),o=-1;++o<a;)s[o]=i(e,t[o],r);return s}},function(e,t,r){var n=r(2).Buffer;function i(e,t,r){for(var n,i,s=-1,o=0;++s<8;)n=t&1<<7-s?128:0,o+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>s%8,e._prev=a(e._prev,r?n:i);return o}function a(e,t){var r=e.length,i=-1,a=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i<r;)a[i]=e[i]<<1|e[i+1]>>7;return a}t.encrypt=function(e,t,r){for(var a=t.length,s=n.allocUnsafe(a),o=-1;++o<a;)s[o]=i(e,t[o],r);return s}},function(e,t,r){(function(e){var n=r(23);function i(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,r){for(;t._cache.length<r.length;)t._cache=e.concat([t._cache,i(t)]);var a=t._cache.slice(0,r.length);return t._cache=t._cache.slice(r.length),n(r,a)}}).call(this,r(4).Buffer)},function(e,t,r){var n=r(2).Buffer,i=n.alloc(16,0);function a(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},s.prototype._multiply=function(){for(var e,t,r,n=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=0!=(1&n[3]),t=3;t>0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=a(i)},s.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(a([0,e,0,t])),this.state},e.exports=s},function(e,t,r){var n=r(85),i=r(2).Buffer,a=r(42),s=r(86),o=r(10),c=r(28),f=r(29);function u(e,t,r){o.call(this),this._cache=new h,this._last=void 0,this._cipher=new c.AES(t),this._prev=i.from(r),this._mode=e,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function d(e,t,r){var o=a[e.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==o.mode&&r.length!==o.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof t&&(t=i.from(t)),t.length!==o.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===o.type?new s(o.module,t,r,!0):"auth"===o.type?new n(o.module,t,r,!0):new u(o.module,t,r)}r(1)(u,o),u.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return i.concat(n)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},h.prototype.add=function(e){this.cache=i.concat([this.cache,e])},h.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var r=a[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=f(t,!1,r.key,r.iv);return d(e,n.key,n.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,r){(function(e){var n=r(87),i=r(167),a=r(168);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var r=new e(i[t].prime,"hex"),n=new e(i[t].gen,"hex");return new a(r,n)},t.createDiffieHellman=t.DiffieHellman=function t(r,i,o,c){return e.isBuffer(i)||void 0===s[i]?t(r,"binary",i,o):(i=i||"binary",c=c||"binary",o=o||new e([2]),e.isBuffer(o)||(o=new e(o,c)),"number"==typeof r?new a(n(r,o),o,!0):(e.isBuffer(r)||(r=new e(r,i)),new a(r,o,!0)))}}).call(this,r(4).Buffer)},function(e,t){},function(e,t){},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,r){(function(t){var n=r(5),i=new(r(88)),a=new n(24),s=new n(11),o=new n(10),c=new n(3),f=new n(7),u=r(87),h=r(14);function d(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._pub=new n(e),this}function l(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._priv=new n(e),this}e.exports=b;var p={};function b(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=l):this._primeCode=8}function m(e,r){var n=new t(e.toArray());return r?n.toString(r):n}Object.defineProperty(b.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in p)return p[n];var h,d=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!i.test(e))return d+=1,d+="02"===r||"05"===r?8:4,p[n]=d,d;switch(i.test(e.shrn(1))||(d+=2),r){case"02":e.mod(a).cmp(s)&&(d+=8);break;case"05":(h=e.mod(o)).cmp(c)&&h.cmp(f)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),b.prototype.generateKeys=function(){return this._priv||(this._priv=new n(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},b.prototype.computeSecret=function(e){var r=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(r.toArray()),a=this.getPrime();if(i.length<a.length){var s=new t(a.length-i.length);s.fill(0),i=t.concat([s,i])}return i},b.prototype.getPublicKey=function(e){return m(this._pub,e)},b.prototype.getPrivateKey=function(e){return m(this._priv,e)},b.prototype.getPrime=function(e){return m(this.__prime,e)},b.prototype.getGenerator=function(e){return m(this._gen,e)},b.prototype.setGenerator=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.__gen=e,this._gen=new n(e),this}}).call(this,r(4).Buffer)},function(e,t,r){var n=r(2).Buffer,i=r(21),a=r(170),s=r(1),o=r(178),c=r(207),f=r(74);function u(e){a.Writable.call(this);var t=f[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){a.Writable.call(this);var t=f[e];if(!t)throw new Error("Unknown message digest");this._hash=i(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){return new u(e)}function l(e){return new h(e)}Object.keys(f).forEach((function(e){f[e].id=n.from(f[e].id,"hex"),f[e.toLowerCase()]=f[e]})),s(u,a.Writable),u.prototype._write=function(e,t,r){this._hash.update(e),r()},u.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},u.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=o(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},s(h,a.Writable),h.prototype._write=function(e,t,r){this._hash.update(e),r()},h.prototype.update=function(e,t){return"string"==typeof e&&(e=n.from(e,t)),this._hash.update(e),this},h.prototype.verify=function(e,t,r){"string"==typeof t&&(t=n.from(t,r)),this.end();var i=this._hash.digest();return c(t,i,e,this._signType,this._tag)},e.exports={Sign:d,Verify:l,createSign:d,createVerify:l}},function(e,t,r){(t=e.exports=r(89)).Stream=t,t.Readable=t,t.Writable=r(93),t.Duplex=r(19),t.Transform=r(94),t.PassThrough=r(176),t.finished=r(44),t.pipeline=r(177)},function(e,t){},function(e,t,r){"use strict";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=r(4).Buffer,o=r(173).inspect,c=o&&o.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r,f;return t=e,(r=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,r,n,i=s.allocUnsafe(e>>>0),a=this.head,o=0;a;)t=a.data,r=i,n=o,s.prototype.copy.call(t,r,n),o+=a.data.length,a=a.next;return i}},{key:"consume",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,r=1,n=t.data;for(e-=n.length;t=t.next;){var i=t.data,a=e>i.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),0==(e-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:c,value:function(e,t){return o(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}])&&a(t.prototype,r),f&&a(t,f),e}()},function(e,t){},function(e,t,r){"use strict";(function(t){var n;function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=r(44),s=Symbol("lastResolve"),o=Symbol("lastReject"),c=Symbol("error"),f=Symbol("ended"),u=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function l(e,t){return{value:e,done:t}}function p(e){var t=e[s];if(null!==t){var r=e[d].read();null!==r&&(e[u]=null,e[s]=null,e[o]=null,t(l(r,!1)))}}function b(e){t.nextTick(p,e)}var m=Object.getPrototypeOf((function(){})),g=Object.setPrototypeOf((i(n={get stream(){return this[d]},next:function(){var e=this,r=this[c];if(null!==r)return Promise.reject(r);if(this[f])return Promise.resolve(l(void 0,!0));if(this[d].destroyed)return new Promise((function(r,n){t.nextTick((function(){e[c]?n(e[c]):r(l(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(e,t){return function(r,n){e.then((function(){t[f]?r(l(void 0,!0)):t[h](r,n)}),n)}}(i,this));else{var a=this[d].read();if(null!==a)return Promise.resolve(l(a,!1));n=new Promise(this[h])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,"return",(function(){var e=this;return new Promise((function(t,r){e[d].destroy(null,(function(e){e?r(e):t(l(void 0,!0))}))}))})),n),m);e.exports=function(e){var t,r=Object.create(g,(i(t={},d,{value:e,writable:!0}),i(t,s,{value:null,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,c,{value:null,writable:!0}),i(t,f,{value:e._readableState.endEmitted,writable:!0}),i(t,h,{value:function(e,t){var n=r[d].read();n?(r[u]=null,r[s]=null,r[o]=null,e(l(n,!1))):(r[s]=e,r[o]=t)},writable:!0}),t));return r[u]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[o];return null!==t&&(r[u]=null,r[s]=null,r[o]=null,t(e)),void(r[c]=e)}var n=r[s];null!==n&&(r[u]=null,r[s]=null,r[o]=null,n(l(void 0,!0))),r[f]=!0})),e.on("readable",b.bind(null,r)),r}}).call(this,r(3))},function(e,t){e.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(e,t,r){"use strict";e.exports=i;var n=r(94);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(1)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var n;var i=r(18).codes,a=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function o(e){if(e)throw e}function c(e,t,i,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var o=!1;e.on("close",(function(){o=!0})),void 0===n&&(n=r(44)),n(e,{readable:t,writable:i},(function(e){if(e)return a(e);o=!0,a()}));var c=!1;return function(t){if(!o&&!c)return c=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void a(t||new s("pipe"))}}function f(e){e()}function u(e,t){return e.pipe(t)}function h(e){return e.length?"function"!=typeof e[e.length-1]?o:e.pop():o}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n,i=h(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a("streams");var s=t.map((function(e,r){var a=r<t.length-1;return c(e,a,r>0,(function(e){n||(n=e),e&&s.forEach(f),a||(s.forEach(f),i(n))}))}));return t.reduce(u)}},function(e,t,r){var n=r(2).Buffer,i=r(72),a=r(45),s=r(46).ec,o=r(100),c=r(31),f=r(106);function u(e,t,r,a){if((e=n.from(e.toArray())).length<t.byteLength()){var s=n.alloc(t.byteLength()-e.length);e=n.concat([s,e])}var o=r.length,c=function(e,t){e=(e=h(e,t)).mod(t);var r=n.from(e.toArray());if(r.length<t.byteLength()){var i=n.alloc(t.byteLength()-r.length);r=n.concat([i,r])}return r}(r,t),f=n.alloc(o);f.fill(1);var u=n.alloc(o);return u=i(a,u).update(f).update(n.from([0])).update(e).update(c).digest(),f=i(a,u).update(f).digest(),{k:u=i(a,u).update(f).update(n.from([1])).update(e).update(c).digest(),v:f=i(a,u).update(f).digest()}}function h(e,t){var r=new o(e),n=(e.length<<3)-t.bitLength();return n>0&&r.ishrn(n),r}function d(e,t,r){var a,s;do{for(a=n.alloc(0);8*a.length<e.bitLength();)t.v=i(r,t.k).update(t.v).digest(),a=n.concat([a,t.v]);s=h(a,e),t.k=i(r,t.k).update(t.v).update(n.from([0])).digest(),t.v=i(r,t.k).update(t.v).digest()}while(-1!==s.cmp(e));return s}function l(e,t,r,n){return e.toRed(o.mont(r)).redPow(t).fromRed().mod(n)}e.exports=function(e,t,r,i,p){var b=c(t);if(b.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(e,t){var r=f[t.curve.join(".")];if(!r)throw new Error("unknown curve "+t.curve.join("."));var i=new s(r).keyFromPrivate(t.privateKey).sign(e);return n.from(i.toDER())}(e,b)}if("dsa"===b.type){if("dsa"!==i)throw new Error("wrong private key type");return function(e,t,r){var i,a=t.params.priv_key,s=t.params.p,c=t.params.q,f=t.params.g,p=new o(0),b=h(e,c).mod(c),m=!1,g=u(a,c,e,r);for(;!1===m;)i=d(c,g,r),p=l(f,i,s,c),0===(m=i.invm(c).imul(b.add(a.mul(p))).mod(c)).cmpn(0)&&(m=!1,p=new o(0));return function(e,t){e=e.toArray(),t=t.toArray(),128&e[0]&&(e=[0].concat(e));128&t[0]&&(t=[0].concat(t));var r=[48,e.length+t.length+4,2,e.length];return r=r.concat(e,[2,t.length],t),n.from(r)}(p,m)}(e,b,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");e=n.concat([p,e]);for(var m=b.modulus.byteLength(),g=[0,1];e.length+g.length+1<m;)g.push(255);g.push(0);for(var y=-1;++y<e.length;)g.push(e[y]);return a(g,b)},e.exports.getKey=u,e.exports.makeKey=d},function(e){e.exports=JSON.parse('{"_args":[["elliptic@6.5.3","/Users/justinberman/encrypted.dev/proof-of-concept/src/userbase-sql-js"]],"_development":true,"_from":"elliptic@6.5.3","_id":"elliptic@6.5.3","_inBundle":false,"_integrity":"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.3","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.3","saveSpec":null,"fetchSpec":"6.5.3"},"_requiredBy":["/browserify-sign","/create-ecdh"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz","_spec":"6.5.3","_where":"/Users/justinberman/encrypted.dev/proof-of-concept/src/userbase-sql-js","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},"description":"EC cryptography","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.3"}')},function(e,t,r){"use strict";var n=r(8),i=r(5),a=r(1),s=r(30),o=n.assert;function c(e){s.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function f(e,t,r,n){s.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,r,n){s.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}a(c,s),e.exports=c,c.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var a=this._getEndoRoots(this.n);0===this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))?r=a[0]:(r=a[1],o(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},c.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),a=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(a).fromRed(),n.redSub(a).fromRed()]},c.prototype._getEndoBasis=function(e){for(var t,r,n,a,s,o,c,f,u,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,l=this.n.clone(),p=new i(1),b=new i(0),m=new i(0),g=new i(1),y=0;0!==d.cmpn(0);){var w=l.div(d);f=l.sub(w.mul(d)),u=m.sub(w.mul(p));var v=g.sub(w.mul(b));if(!n&&f.cmp(h)<0)t=c.neg(),r=p,n=f.neg(),a=u;else if(n&&2==++y)break;c=f,l=d,d=f,m=p,p=u,g=b,b=v}s=f.neg(),o=u;var _=n.sqr().add(a.sqr());return s.sqr().add(o.sqr()).cmp(_)>=0&&(s=t,o=r),n.negative&&(n=n.neg(),a=a.neg()),s.negative&&(s=s.neg(),o=o.neg()),[{a:n,b:a},{a:s,b:o}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),o=a.mul(n.a),c=i.mul(r.b),f=a.mul(n.b);return{k1:e.sub(s).sub(o),k2:c.add(f).neg()}},c.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var a=n.fromRed().isOdd();return(t&&!a||!t&&a)&&(n=n.redNeg()),this.point(e,n)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,a=0;a<e.length;a++){var s=this._endoSplit(t[a]),o=e[a],c=o._getBeta();s.k1.negative&&(s.k1.ineg(),o=o.neg(!0)),s.k2.negative&&(s.k2.ineg(),c=c.neg(!0)),n[2*a]=o,n[2*a+1]=c,i[2*a]=s.k1,i[2*a+1]=s.k2}for(var f=this._wnafMulAdd(1,n,i,2*a,r),u=0;u<2*a;u++)n[u]=null,i[u]=null;return f},a(f,s.BasePoint),c.prototype.point=function(e,t,r){return new f(this,e,t,r)},c.prototype.pointFromJSON=function(e,t){return f.fromJSON(this,e,t)},f.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},f.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},f.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var a=t[2];return n.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[n].concat(a.doubles.points.map(i))},naf:a.naf&&{wnd:a.naf.wnd,points:[n].concat(a.naf.points.map(i))}},n},f.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},f.prototype.isInfinity=function(){return this.inf},f.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},f.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),a=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)},f.prototype.getX=function(){return this.x.fromRed()},f.prototype.getY=function(){return this.y.fromRed()},f.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},f.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},f.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},f.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},f.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},f.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},a(u,s.BasePoint),c.prototype.jpoint=function(e,t,r){return new u(this,e,t,r)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),o=n.redSub(i),c=a.redSub(s);if(0===o.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=o.redSqr(),u=f.redMul(o),h=n.redMul(f),d=c.redSqr().redIAdd(u).redISub(h).redISub(h),l=c.redMul(h.redISub(d)).redISub(a.redMul(u)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(d,l,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),s=r.redSub(n),o=i.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),f=c.redMul(s),u=r.redMul(c),h=o.redSqr().redIAdd(f).redISub(u).redISub(u),d=o.redMul(u.redISub(h)).redISub(i.redMul(f)),l=this.z.redMul(s);return this.curve.jpoint(h,d,l)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,i=this.curve.tinv,a=this.x,s=this.y,o=this.z,c=o.redSqr().redSqr(),f=s.redAdd(s);for(r=0;r<e;r++){var u=a.redSqr(),h=f.redSqr(),d=h.redSqr(),l=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(c)),p=a.redMul(h),b=l.redSqr().redISub(p.redAdd(p)),m=p.redISub(b),g=l.redMul(m);g=g.redIAdd(g).redISub(d);var y=f.redMul(o);r+1<e&&(c=c.redMul(d)),a=b,o=y,f=g}return this.curve.jpoint(a,f.redMul(i),o)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(a);s=s.redIAdd(s);var o=n.redAdd(n).redIAdd(n),c=o.redSqr().redISub(s).redISub(s),f=a.redIAdd(a);f=(f=f.redIAdd(f)).redIAdd(f),e=c,t=o.redMul(s.redISub(c)).redISub(f),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),h=this.y.redSqr(),d=h.redSqr(),l=this.x.redAdd(h).redSqr().redISub(u).redISub(d);l=l.redIAdd(l);var p=u.redAdd(u).redIAdd(u),b=p.redSqr(),m=d.redIAdd(d);m=(m=m.redIAdd(m)).redIAdd(m),e=b.redISub(l).redISub(l),t=p.redMul(l.redISub(e)).redISub(m),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},u.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(a);s=s.redIAdd(s);var o=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),c=o.redSqr().redISub(s).redISub(s);e=c;var f=a.redIAdd(a);f=(f=f.redIAdd(f)).redIAdd(f),t=o.redMul(s.redISub(c)).redISub(f),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),h=this.y.redSqr(),d=this.x.redMul(h),l=this.x.redSub(u).redMul(this.x.redAdd(u));l=l.redAdd(l).redIAdd(l);var p=d.redIAdd(d),b=(p=p.redIAdd(p)).redAdd(p);e=l.redSqr().redISub(b),r=this.y.redAdd(this.z).redSqr().redISub(h).redISub(u);var m=h.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),t=l.redMul(p.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,r)},u.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),a=t.redSqr(),s=r.redSqr(),o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(i)),c=t.redAdd(t),f=(c=c.redIAdd(c)).redMul(s),u=o.redSqr().redISub(f.redAdd(f)),h=f.redISub(u),d=s.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=o.redMul(h).redISub(d),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,l,p)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),a=i.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(n),o=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(a)).redSqr(),c=n.redIAdd(n);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var f=i.redIAdd(s).redSqr().redISub(a).redISub(o).redISub(c),u=t.redMul(f);u=(u=u.redIAdd(u)).redIAdd(u);var h=this.x.redMul(o).redISub(u);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.y.redMul(f.redMul(c.redISub(f)).redISub(s.redMul(o)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=this.z.redAdd(s).redSqr().redISub(r).redISub(o);return this.curve.jpoint(h,d,l)},u.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},u.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,r){"use strict";var n=r(5),i=r(1),a=r(30),s=r(8);function o(e){a.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(e,t,r){a.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(o,a),e.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(c,a.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},o.prototype.point=function(e,t){return new c(this,e,t)},o.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(e,t){return new c(e,t[0],t[1]||e.one)},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),s=i.redMul(n),o=t.z.redMul(a.redAdd(s).redSqr()),c=t.x.redMul(a.redISub(s).redSqr());return this.curve.point(o,c)},c.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var a=i.length-1;a>=0;a--)0===i[a]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,r){"use strict";var n=r(8),i=r(5),a=r(1),s=r(30),o=n.assert;function c(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function f(e,t,r,n,a){s.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=a&&new i(a,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}a(c,s),e.exports=c,c.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},c.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},c.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},c.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),a=this.one.redSub(this.c2.redMul(this.d).redMul(r)),s=n.redMul(a.redInvm()),o=s.redSqrt();if(0!==o.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var c=o.fromRed().isOdd();return(t&&!c||!t&&c)&&(o=o.redNeg()),this.point(e,o)},c.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),a=r.redMul(this.d).redMul(this.c2).redSub(this.a),s=n.redMul(a.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var o=s.redSqrt();if(0!==o.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return o.fromRed().isOdd()!==t&&(o=o.redNeg()),this.point(o,e)},c.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},a(f,s.BasePoint),c.prototype.pointFromJSON=function(e){return f.fromJSON(this,e)},c.prototype.point=function(e,t,r,n){return new f(this,e,t,r,n)},f.fromJSON=function(e,t){return new f(e,t[0],t[1],t[2])},f.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},f.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},f.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=n.redAdd(t),s=a.redSub(r),o=n.redSub(t),c=i.redMul(s),f=a.redMul(o),u=i.redMul(o),h=s.redMul(a);return this.curve.point(c,f,h,u)},f.prototype._projDbl=function(){var e,t,r,n=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var s=(f=this.curve._mulA(i)).redAdd(a);if(this.zOne)e=n.redSub(i).redSub(a).redMul(s.redSub(this.curve.two)),t=s.redMul(f.redSub(a)),r=s.redSqr().redSub(s).redSub(s);else{var o=this.z.redSqr(),c=s.redSub(o).redISub(o);e=n.redSub(i).redISub(a).redMul(c),t=s.redMul(f.redSub(a)),r=s.redMul(c)}}else{var f=i.redAdd(a);o=this.curve._mulC(this.z).redSqr(),c=f.redSub(o).redSub(o);e=this.curve._mulC(n.redISub(f)).redMul(c),t=this.curve._mulC(f).redMul(i.redISub(a)),r=f.redMul(c)}return this.curve.point(e,t,r)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),s=i.redSub(n),o=i.redAdd(n),c=r.redAdd(t),f=a.redMul(s),u=o.redMul(c),h=a.redMul(c),d=s.redMul(o);return this.curve.point(f,u,d,h)},f.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(a).redMul(s),c=i.redSub(o),f=i.redAdd(o),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),h=n.redMul(c).redMul(u);return this.curve.twisted?(t=n.redMul(f).redMul(s.redSub(this.curve._mulA(a))),r=c.redMul(f)):(t=n.redMul(f).redMul(s.redSub(a)),r=this.curve._mulC(c).redMul(f)),this.curve.point(h,t,r)},f.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},f.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},f.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},f.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},f.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add},function(e,t,r){"use strict";t.sha1=r(184),t.sha224=r(185),t.sha256=r(98),t.sha384=r(186),t.sha512=r(99)},function(e,t,r){"use strict";var n=r(9),i=r(24),a=r(97),s=n.rotl32,o=n.sum32,c=n.sum32_5,f=a.ft_1,u=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,u),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=s(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],a=this.h[1],u=this.h[2],d=this.h[3],l=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),b=c(s(i,5),f(p,a,u,d),l,r[n],h[p]);l=d,d=u,u=s(a,30),a=i,i=b}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],u),this.h[3]=o(this.h[3],d),this.h[4]=o(this.h[4],l)},d.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},function(e,t,r){"use strict";var n=r(9),i=r(98);function a(){if(!(this instanceof a))return new a;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(a,i),e.exports=a,a.blockSize=512,a.outSize=224,a.hmacStrength=192,a.padLength=64,a.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},function(e,t,r){"use strict";var n=r(9),i=r(99);function a(){if(!(this instanceof a))return new a;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(a,i),e.exports=a,a.blockSize=1024,a.outSize=384,a.hmacStrength=192,a.padLength=128,a.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},function(e,t,r){"use strict";var n=r(9),i=r(24),a=n.rotl32,s=n.sum32,o=n.sum32_3,c=n.sum32_4,f=i.BlockHash;function u(){if(!(this instanceof u))return new u;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function l(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(u,f),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],f=this.h[3],u=this.h[4],y=r,w=n,v=i,_=f,M=u,S=0;S<80;S++){var E=s(a(c(r,h(S,n,i,f),e[p[S]+t],d(S)),m[S]),u);r=u,u=f,f=a(i,10),i=n,n=E,E=s(a(c(y,h(79-S,w,v,_),e[b[S]+t],l(S)),g[S]),M),y=M,M=_,_=a(v,10),v=w,w=E}E=o(this.h[1],i,_),this.h[1]=o(this.h[2],f,M),this.h[2]=o(this.h[3],u,y),this.h[3]=o(this.h[4],r,w),this.h[4]=o(this.h[0],n,v),this.h[0]=E},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],b=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,r){"use strict";var n=r(9),i=r(7);function a(e,t,r){if(!(this instanceof a))return new a(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=a,a.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},a.prototype.update=function(e,t){return this.inner.update(e,t),this},a.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,r){"use strict";var n=r(5),i=r(191),a=r(8),s=r(47),o=r(43),c=a.assert,f=r(192),u=r(193);function h(e){if(!(this instanceof h))return new h(e);"string"==typeof e&&(c(s.hasOwnProperty(e),"Unknown curve "+e),e=s[e]),e instanceof s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=h,h.prototype.keyPair=function(e){return new f(this,e)},h.prototype.keyFromPrivate=function(e,t){return f.fromPrivate(this,e,t)},h.prototype.keyFromPublic=function(e,t){return f.fromPublic(this,e,t)},h.prototype.genKeyPair=function(e){e||(e={});for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),a=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(s.cmp(a)>0))return s.iaddn(1),this.keyFromPrivate(s)}},h.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},h.prototype.sign=function(e,t,r,a){"object"==typeof r&&(a=r,r=null),a||(a={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var s=this.n.byteLength(),o=t.getPrivate().toArray("be",s),c=e.toArray("be",s),f=new i({hash:this.hash,entropy:o,nonce:c,pers:a.pers,persEnc:a.persEnc||"utf8"}),h=this.n.sub(new n(1)),d=0;;d++){var l=a.k?a.k(d):new n(f.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(h)>=0)){var p=this.g.mul(l);if(!p.isInfinity()){var b=p.getX(),m=b.umod(this.n);if(0!==m.cmpn(0)){var g=l.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var y=(p.getY().isOdd()?1:0)|(0!==b.cmp(m)?2:0);return a.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),y^=1),new u({r:m,s:g,recoveryParam:y})}}}}}},h.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var a=(t=new u(t,"hex")).r,s=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var o,c=s.invm(this.n),f=c.mul(e).umod(this.n),h=c.mul(a).umod(this.n);return this.curve._maxwellTrick?!(o=this.g.jmulAdd(f,r.getPublic(),h)).isInfinity()&&o.eqXToP(a):!(o=this.g.mulAdd(f,r.getPublic(),h)).isInfinity()&&0===o.getX().umod(this.n).cmp(a)},h.prototype.recoverPubKey=function(e,t,r,i){c((3&r)===r,"The recovery param is more than two bits"),t=new u(t,i);var a=this.n,s=new n(e),o=t.r,f=t.s,h=1&r,d=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");o=d?this.curve.pointFromX(o.add(this.curve.n),h):this.curve.pointFromX(o,h);var l=t.r.invm(a),p=a.sub(s).mul(l).umod(a),b=f.mul(l).umod(a);return this.g.mulAdd(p,o,b)},h.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new u(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var a;try{a=this.recoverPubKey(e,t,i)}catch(e){continue}if(a.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},function(e,t,r){"use strict";var n=r(48),i=r(95),a=r(7);function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");a(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}e.exports=s,s.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},s.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=i.toArray(e,t),r=i.toArray(r,n),a(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},s.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var s=a.slice(0,e);return this._update(r),this._reseed++,i.encode(s,t)}},function(e,t,r){"use strict";var n=r(5),i=r(8).assert;function a(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=a,a.fromPublic=function(e,t,r){return t instanceof a?t:new a(e,{pub:t,pubEnc:r})},a.fromPrivate=function(e,t,r){return t instanceof a?t:new a(e,{priv:t,privEnc:r})},a.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},a.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},a.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},a.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},a.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},a.prototype.derive=function(e){return e.mul(this.priv).getX()},a.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},a.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},a.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,r){"use strict";var n=r(5),i=r(8),a=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(a(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function o(){this.place=0}function c(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,a=0,s=t.place;a<n;a++,s++)i<<=8,i|=e[s],i>>>=0;return!(i<=127)&&(t.place=s,i)}function f(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function u(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new o;if(48!==e[r.place++])return!1;var a=c(e,r);if(!1===a)return!1;if(a+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var s=c(e,r);if(!1===s)return!1;var f=e.slice(r.place,s+r.place);if(r.place+=s,2!==e[r.place++])return!1;var u=c(e,r);if(!1===u)return!1;if(e.length!==u+r.place)return!1;var h=e.slice(r.place,u+r.place);if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new n(f),this.s=new n(h),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=f(t),r=f(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];u(n,t.length),(n=n.concat(t)).push(2),u(n,r.length);var a=n.concat(r),s=[48];return u(s,a.length),s=s.concat(a),i.encode(s,e)}},function(e,t,r){"use strict";var n=r(48),i=r(47),a=r(8),s=a.assert,o=a.parseBytes,c=r(195),f=r(196);function u(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=i[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}e.exports=u,u.prototype.sign=function(e,t){e=o(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),a=this.encodePoint(i),s=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),c=n.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:c,Rencoded:a})},u.prototype.verify=function(e,t,r){e=o(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(a)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return a.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return c.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return c.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof f?e:new f(this,e)},u.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},u.prototype.decodePoint=function(e){var t=(e=a.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),n=0!=(128&e[t]),i=a.intFromLE(r);return this.curve.pointFromY(i,n)},u.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(e){return a.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,r){"use strict";var n=r(8),i=n.assert,a=n.parseBytes,s=n.cachedProperty;function o(e,t){this.eddsa=e,this._secret=a(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=a(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},s(o,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),s(o,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),s(o,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),s(o,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),s(o,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),s(o,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),o.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},o.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},e.exports=o},function(e,t,r){"use strict";var n=r(5),i=r(8),a=i.assert,s=i.cachedProperty,o=i.parseBytes;function c(e,t){this.eddsa=e,"object"!=typeof t&&(t=o(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),a(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(c,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(c,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(c,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(c,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),c.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},c.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},e.exports=c},function(e,t){},function(e,t,r){"use strict";var n=r(101);t.certificate=r(204);var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=i;var a=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=a;var s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}));t.PublicKey=s;var o=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),c=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(o),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=c;var f=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=f;var u=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=u,t.DSAparam=n.define("DSAparam",(function(){this.int()}));var h=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=h;var d=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function(e,t,r){"use strict";const n=r(102),i=r(104),a=r(1);function s(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new s(e,t)},s.prototype._createNamed=function(e){const t=this.name;function r(e){this._initNamed(e,t)}return a(r,e),r.prototype._initNamed=function(t,r){e.call(this,t,r)},new r(this)},s.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(i[e])),this.decoders[e]},s.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},s.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n[e])),this.encoders[e]},s.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},function(e,t,r){"use strict";const n=r(1),i=r(103);function a(e){i.call(this,e),this.enc="pem"}n(a,i),e.exports=a,a.prototype.encode=function(e,t){const r=i.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"];for(let e=0;e<r.length;e+=64)n.push(r.slice(e,e+64));return n.push("-----END "+t.label+"-----"),n.join("\n")}},function(e,t,r){"use strict";const n=r(1),i=r(49).Buffer,a=r(105);function s(e){a.call(this,e),this.enc="pem"}n(s,a),e.exports=s,s.prototype.decode=function(e,t){const r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/;let o=-1,c=-1;for(let e=0;e<r.length;e++){const t=r[e].match(s);if(null!==t&&t[2]===n){if(-1!==o){if("END"!==t[1])break;c=e;break}if("BEGIN"!==t[1])break;o=e}}if(-1===o||-1===c)throw new Error("PEM section not found for: "+n);const f=r.slice(o+1,c).join("");f.replace(/[^a-z0-9+/=]+/gi,"");const u=i.from(f,"base64");return a.prototype.decode.call(this,u,t)}},function(e,t,r){"use strict";const n=t;n.Reporter=r(51).Reporter,n.DecoderBuffer=r(25).DecoderBuffer,n.EncoderBuffer=r(25).EncoderBuffer,n.Node=r(50)},function(e,t,r){"use strict";const n=t;n._reverse=function(e){const t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);const n=e[r];t[n]=r})),t},n.der=r(52)},function(e,t,r){"use strict";var n=r(101),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),a=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),o=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())})),c=n.define("RelativeDistinguishedName",(function(){this.setof(a)})),f=n.define("RDNSequence",(function(){this.seqof(c)})),u=n.define("Name",(function(){this.choice({rdnSequence:this.use(f)})})),h=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),d=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),l=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(u),this.key("validity").use(h),this.key("subject").use(u),this.key("subjectPublicKeyInfo").use(o),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(l),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())}));e.exports=p},function(e){e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},function(e,t,r){var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,s=r(29),o=r(41),c=r(2).Buffer;e.exports=function(e,t){var r,f=e.toString(),u=f.match(n);if(u){var h="aes"+u[1],d=c.from(u[2],"hex"),l=c.from(u[3].replace(/[\r\n]/g,""),"base64"),p=s(t,d.slice(0,8),parseInt(u[1],10)).key,b=[],m=o.createDecipheriv(h,p,d);b.push(m.update(l)),b.push(m.final()),r=c.concat(b)}else{var g=f.match(a);r=c.from(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:f.match(i)[1],data:r}}},function(e,t,r){var n=r(2).Buffer,i=r(100),a=r(46).ec,s=r(31),o=r(106);function c(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,t,r,f,u){var h=s(r);if("ec"===h.type){if("ecdsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");return function(e,t,r){var n=o[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new a(n),s=r.data.subjectPrivateKey.data;return i.verify(t,e,s)}(e,t,h)}if("dsa"===h.type){if("dsa"!==f)throw new Error("wrong public key type");return function(e,t,r){var n=r.data.p,a=r.data.q,o=r.data.g,f=r.data.pub_key,u=s.signature.decode(e,"der"),h=u.s,d=u.r;c(h,a),c(d,a);var l=i.mont(n),p=h.invm(a);return 0===o.toRed(l).redPow(new i(t).mul(p).mod(a)).fromRed().mul(f.toRed(l).redPow(d.mul(p).mod(a)).fromRed()).mod(n).mod(a).cmp(d)}(e,t,h)}if("rsa"!==f&&"ecdsa/rsa"!==f)throw new Error("wrong public key type");t=n.concat([u,t]);for(var d=h.modulus.byteLength(),l=[1],p=0;t.length+l.length+2<d;)l.push(255),p++;l.push(0);for(var b=-1;++b<t.length;)l.push(t[b]);l=n.from(l);var m=i.mont(h.modulus);e=(e=new i(e).toRed(m)).redPow(new i(h.publicExponent)),e=n.from(e.fromRed().toArray());var g=p<8?1:0;for(d=Math.min(e.length,l.length),e.length!==l.length&&(g=1),b=-1;++b<d;)g|=e[b]^l[b];return 0===g}},function(e,t,r){(function(t){var n=r(46),i=r(5);e.exports=function(e){return new s(e)};var a={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(e){this.curveType=a[e],this.curveType||(this.curveType={name:e}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function o(e,r,n){Array.isArray(e)||(e=e.toArray());var i=new t(e);if(n&&i.length<n){var a=new t(n-i.length);a.fill(0),i=t.concat([a,i])}return r?i.toString(r):i}a.p224=a.secp224r1,a.p256=a.secp256r1=a.prime256v1,a.p192=a.secp192r1=a.prime192v1,a.p384=a.secp384r1,a.p521=a.secp521r1,s.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},s.prototype.computeSecret=function(e,r,n){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),o(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),n,this.curveType.byteLength)},s.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),o(r,e)},s.prototype.getPrivateKey=function(e){return o(this.keys.getPrivate(),e)},s.prototype.setPublicKey=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.keys._importPublic(e),this},s.prototype.setPrivateKey=function(e,r){r=r||"utf8",t.isBuffer(e)||(e=new t(e,r));var n=new i(e);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this}}).call(this,r(4).Buffer)},function(e,t,r){t.publicEncrypt=r(210),t.privateDecrypt=r(211),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}},function(e,t,r){var n=r(31),i=r(14),a=r(21),s=r(107),o=r(108),c=r(5),f=r(109),u=r(45),h=r(2).Buffer;e.exports=function(e,t,r){var d;d=e.padding?e.padding:r?1:4;var l,p=n(e);if(4===d)l=function(e,t){var r=e.modulus.byteLength(),n=t.length,f=a("sha1").update(h.alloc(0)).digest(),u=f.length,d=2*u;if(n>r-d-2)throw new Error("message too long");var l=h.alloc(r-n-d-2),p=r-u-1,b=i(u),m=o(h.concat([f,l,h.alloc(1,1),t],p),s(b,p)),g=o(b,s(m,u));return new c(h.concat([h.alloc(1),g,m],r))}(p,t);else if(1===d)l=function(e,t,r){var n,a=t.length,s=e.modulus.byteLength();if(a>s-11)throw new Error("message too long");n=r?h.alloc(s-a-3,255):function(e){var t,r=h.allocUnsafe(e),n=0,a=i(2*e),s=0;for(;n<e;)s===a.length&&(a=i(2*e),s=0),(t=a[s++])&&(r[n++]=t);return r}(s-a-3);return new c(h.concat([h.from([0,r?1:2]),n,h.alloc(1),t],s))}(p,t,r);else{if(3!==d)throw new Error("unknown padding");if((l=new c(t)).cmp(p.modulus)>=0)throw new Error("data too long for modulus")}return r?u(l,p):f(l,p)}},function(e,t,r){var n=r(31),i=r(107),a=r(108),s=r(5),o=r(45),c=r(21),f=r(109),u=r(2).Buffer;e.exports=function(e,t,r){var h;h=e.padding?e.padding:r?1:4;var d,l=n(e),p=l.modulus.byteLength();if(t.length>p||new s(t).cmp(l.modulus)>=0)throw new Error("decryption error");d=r?f(new s(t),l):o(t,l);var b=u.alloc(p-d.length);if(d=u.concat([b,d],p),4===h)return function(e,t){var r=e.modulus.byteLength(),n=c("sha1").update(u.alloc(0)).digest(),s=n.length;if(0!==t[0])throw new Error("decryption error");var o=t.slice(1,s+1),f=t.slice(s+1),h=a(o,i(f,s)),d=a(f,i(h,r-s-1));if(function(e,t){e=u.from(e),t=u.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));var i=-1;for(;++i<n;)r+=e[i]^t[i];return r}(n,d.slice(0,s)))throw new Error("decryption error");var l=s;for(;0===d[l];)l++;if(1!==d[l++])throw new Error("decryption error");return d.slice(l)}(l,d);if(1===h)return function(e,t,r){var n=t.slice(0,2),i=2,a=0;for(;0!==t[i++];)if(i>=t.length){a++;break}var s=t.slice(2,i-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&a++;s.length<8&&a++;if(a)throw new Error("decryption error");return t.slice(i)}(0,d,r);if(3===h)return d;throw new Error("unknown padding")}},function(e,t,r){"use strict";(function(e,n){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var a=r(2),s=r(14),o=a.Buffer,c=a.kMaxLength,f=e.crypto||e.msCrypto,u=Math.pow(2,32)-1;function h(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>u||e<0)throw new TypeError("offset must be a uint32");if(e>c||e>t)throw new RangeError("offset out of range")}function d(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>u||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>c)throw new RangeError("buffer too small")}function l(e,t,r,i){if(n.browser){var a=e.buffer,o=new Uint8Array(a,t,r);return f.getRandomValues(o),i?void n.nextTick((function(){i(null,e)})):e}if(!i)return s(r).copy(e,t),e;s(r,(function(r,n){if(r)return i(r);n.copy(e,t),i(null,e)}))}f&&f.getRandomValues||!n.browser?(t.randomFill=function(t,r,n,i){if(!(o.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)i=r,r=0,n=t.length;else if("function"==typeof n)i=n,n=t.length-r;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return h(r,t.length),d(n,r,t.length),l(t,r,n,i)},t.randomFillSync=function(t,r,n){void 0===r&&(r=0);if(!(o.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');h(r,t.length),void 0===n&&(n=t.length-r);return d(n,r,t.length),l(t,r,n)}):(t.randomFill=i,t.randomFillSync=i)}).call(this,r(6),r(3))},function(e,t){var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);e.exports=function(){return r(n),n}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);e.exports=function(e,t){var n=t||0,i=r;return[i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]]].join("")}},function(e,t){var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);e.exports=function(){return r(n),n}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);e.exports=function(e,t){var n=t||0,i=r;return[i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]]].join("")}},function(e,t,r){
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
  var n=r(4),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=s),s.prototype=Object.create(i.prototype),a(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t){},function(e,t,r){var n;function i(e){this.rand=e}if(e.exports=function(e){return n||(n=new i(null)),n.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var a=r(220);if("function"!=typeof a.randomBytes)throw new Error("Not supported");i.prototype._rand=function(e){return a.randomBytes(e)}}catch(e){}},function(e,t){},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,r){(function(t){var n=r(53),i=new(r(112)),a=new n(24),s=new n(11),o=new n(10),c=new n(3),f=new n(7),u=r(110),h=r(111);function d(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._pub=new n(e),this}function l(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this._priv=new n(e),this}e.exports=b;var p={};function b(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=d,this.setPrivateKey=l):this._primeCode=8}function m(e,r){var n=new t(e.toArray());return r?n.toString(r):n}Object.defineProperty(b.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in p)return p[n];var h,d=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!i.test(e))return d+=1,d+="02"===r||"05"===r?8:4,p[n]=d,d;switch(i.test(e.shrn(1))||(d+=2),r){case"02":e.mod(a).cmp(s)&&(d+=8);break;case"05":(h=e.mod(o)).cmp(c)&&h.cmp(f)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),b.prototype.generateKeys=function(){return this._priv||(this._priv=new n(h(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},b.prototype.computeSecret=function(e){var r=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(r.toArray()),a=this.getPrime();if(i.length<a.length){var s=new t(a.length-i.length);s.fill(0),i=t.concat([s,i])}return i},b.prototype.getPublicKey=function(e){return m(this._pub,e)},b.prototype.getPrivateKey=function(e){return m(this._priv,e)},b.prototype.getPrime=function(e){return m(this.__prime,e)},b.prototype.getGenerator=function(e){return m(this._gen,e)},b.prototype.setGenerator=function(e,r){return r=r||"utf8",t.isBuffer(e)||(e=new t(e,r)),this.__gen=e,this._gen=new n(e),this}}).call(this,r(4).Buffer)},function(e,t,r){"use strict";r.r(t);var n=r(113),i=r.n(n);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s=r(0),o=r.n(s),c=200,f=400,u=401,h=402,d=403,l=404,p=409,b=429,m=500,g=503,y=504,w=1012,v=3e3,_=3001;class M extends Error{constructor(...e){super(...e),this.name="UsernameAlreadyExists",this.message="Username already exists.",this.status=p}}class S extends Error{constructor(...e){super(...e),this.name="UsernameMissing",this.message="Username missing.",this.status=f}}class E extends Error{constructor(...e){super(...e),this.name="UsernameCannotBeBlank",this.message="Username cannot be blank.",this.status=f}}class k extends Error{constructor(e,...t){super(e,...t),this.name="UsernameTooLong",this.message="Username too long. Must be a max of ".concat(e," characters."),this.status=f}}class A extends Error{constructor(...e){super(...e),this.name="UsernameMustBeString",this.message="Username must be a string.",this.status=f}}class I extends Error{constructor(...e){super(...e),this.name="PasswordMissing",this.message="Password missing.",this.status=f}}class R extends Error{constructor(...e){super(...e),this.name="PasswordCannotBeBlank",this.message="Password cannot be blank.",this.status=f}}class x extends Error{constructor(e,...t){super(e,...t),this.name="PasswordTooShort",this.message="Password too short. Must be a minimum of ".concat(e," characters."),this.status=f}}class B extends Error{constructor(e,...t){super(e,...t),this.name="PasswordTooLong",this.message="Password too long. Must be a max of ".concat(e," characters."),this.status=f}}class P extends Error{constructor(...e){super(...e),this.name="PasswordMustBeString",this.message="Password must be a string.",this.status=f}}class T extends Error{constructor(e,...t){super(e,...t),this.name="PasswordAttemptLimitExceeded",this.message="Password attempt limit exceeded. Must wait ".concat(e," to attempt to use password again."),this.status=u}}class N extends Error{constructor(...e){super(...e),this.name="UsernameOrPasswordMismatch",this.message="Username or password mismatch.",this.status=u}}class D extends Error{constructor(...e){super(...e),this.name="SessionLengthMustBeNumber",this.message="Session length must be a number.",this.status=f}}class O extends Error{constructor(e,...t){super(e,...t),this.name="SessionLengthTooShort",this.message="Session length cannot be shorter than ".concat(e,"."),this.status=f}}class U extends Error{constructor(e,...t){super(e,...t),this.name="SessionLengthTooLong",this.message="Session length cannot be longer than ".concat(e,"."),this.status=f}}class C extends Error{constructor(e,...t){super(...t),this.name="UserAlreadySignedIn",this.message="Already signed in.",this.status=f,this.username=e}}class j extends Error{constructor(...e){super(...e),this.name="UserPendingDeletion",this.message="User is pending deletion.",this.status=d}}class L extends Error{constructor(...e){super(...e),this.name="AppIdNotValid",this.message="App ID not valid.",this.status=u}}class q extends Error{constructor(...e){super(...e),this.name="UserNotSignedIn",this.message="Not signed in.",this.status=f}}class K extends Error{constructor(...e){super(...e),this.name="UserNotFound",this.message="User not found.",this.status=l}}class F extends Error{constructor(...e){super(...e),this.name="UserEmailNotFound",this.message="User does not have an email saved.",this.status=l}}class z extends Error{constructor(...e){super(...e),this.name="EmailNotValid",this.message="Email not valid.",this.status=f}}class H extends Error{constructor(...e){super(...e),this.name="ProfileMustBeObject",this.message="Profile must be a flat JSON object.",this.status=f}}class V extends Error{constructor(...e){super(...e),this.name="ProfileCannotBeEmpty",this.message="Profile cannot be empty.",this.status=f}}class W extends Error{constructor(e,...t){super(e,...t),this.name="ProfileHasTooManyKeys",this.message="Profile has too many keys. Must have a max of ".concat(e," keys."),this.status=f}}class G extends Error{constructor(e,t,...r){super(e,t,...r),this.name="ProfileKeyTooLong",this.message="Profile key too long. Must be a max of ".concat(e," characters."),this.status=f,this.key=t}}class J extends Error{constructor(e,t,...r){super(e,t,...r),this.name="ProfileValueMustBeString",this.message="Profile value must be a string.",this.status=f,this.key=e,this.value=t}}class Y extends Error{constructor(e,...t){super(e,...t),this.name="ProfileValueCannotBeBlank",this.message="Profile value cannot be blank.",this.status=f,this.key=e}}class Z extends Error{constructor(e,t,r,...n){super(e,t,r,...n),this.name="ProfileValueTooLong",this.message="Profile value too long. Must be a max of ".concat(e," characters."),this.status=f,this.key=t,this.value=r}}class X extends Error{constructor(e,...t){super(e,...t),this.name="RememberMeValueNotValid",this.message="Remember me value must be one of ".concat(JSON.stringify(Object.keys(e)),"."),this.status=f}}class Q extends Error{constructor(...e){super(...e),this.name="ParamsMissing",this.message="Parameters expected are missing.",this.status=f}}class $ extends Error{constructor(...e){super(...e),this.name="TrialExceededLimit",this.message="Trial exceeded limit of users.",this.status=h}}class ee extends Error{constructor(...e){super(...e),this.name="CurrentPasswordMissing",this.message="Current password missing.",this.status=f}}class te extends Error{constructor(...e){super(...e),this.name="CurrentPasswordIncorrect",this.message="Current password is incorrect.",this.status=u}}class re extends Error{constructor(e,...t){super(e,...t),this.name="KeyNotFound",this.message=e,this.status=l}}var ne={UsernameAlreadyExists:M,UsernameMissing:S,UsernameCannotBeBlank:E,UsernameTooLong:k,UsernameMustBeString:A,PasswordMissing:I,PasswordCannotBeBlank:R,PasswordTooShort:x,PasswordTooLong:B,PasswordMustBeString:P,PasswordAttemptLimitExceeded:T,UsernameOrPasswordMismatch:N,SessionLengthMustBeNumber:D,SessionLengthTooShort:O,SessionLengthTooLong:U,UserAlreadySignedIn:C,UserPendingDeletion:j,AppIdNotValid:L,UserNotSignedIn:q,UserNotFound:K,UserEmailNotFound:F,EmailNotValid:z,ProfileMustBeObject:H,ProfileCannotBeEmpty:V,ProfileHasTooManyKeys:W,ProfileKeyTooLong:G,ProfileValueMustBeString:J,ProfileValueCannotBeBlank:Y,ProfileValueTooLong:Z,RememberMeValueNotValid:X,ParamsMissing:Q,TrialExceededLimit:$,CurrentPasswordMissing:ee,CurrentPasswordIncorrect:te,KeyNotFound:re};class ie extends Error{constructor(...e){super(...e),this.name="DatabaseNameMissing",this.message="Database name missing.",this.status=f}}class ae extends Error{constructor(...e){super(...e),this.name="DatabaseNameCannotBeBlank",this.message="Database name cannot be blank.",this.status=f}}class se extends Error{constructor(...e){super(...e),this.name="DatabaseNameMustBeString",this.message="Database name must be a string.",this.status=f}}class oe extends Error{constructor(e,...t){super(e,...t),this.name="DatabaseNameTooLong",this.message="Database name cannot be more than ".concat(e," characters."),this.status=f}}class ce extends Error{constructor(e,...t){super(e,...t),this.name="DatabaseNameRestricted",this.message="Database name '".concat(e,"' is restricted. It is used internally by userbase-js."),this.status=d}}class fe extends Error{constructor(...e){super(...e),this.name="DatabaseAlreadyOpening",this.message="Already attempting to open database.",this.status=f}}class ue extends Error{constructor(...e){super(...e),this.name="ChangeHandlerMissing",this.message="Change handler missing.",this.status=f}}class he extends Error{constructor(...e){super(...e),this.name="ChangeHandlerMustBeFunction",this.message="Change handler must be a function.",this.status=f}}class de extends Error{constructor(...e){super(...e),this.name="DatabaseNotOpen",this.message="Database is not open.",this.status=f}}class le extends Error{constructor(...e){super(...e),this.name="DatabaseNotFound",this.message="Database not found. Find available databases using getDatabases().",this.status=l}}class pe extends Error{constructor(...e){super(...e),this.name="DatabaseIsReadOnly",this.message="Database is read only. Must have permission to write to database.",this.status=d}}class be extends Error{constructor(...e){super(...e),this.name="DatabaseIdMustBeString",this.message="Database id must be a string.",this.status=f}}class me extends Error{constructor(...e){super(...e),this.name="DatabaseIdCannotBeBlank",this.message="Database id cannot be blank.",this.status=f}}class ge extends Error{constructor(...e){super(...e),this.name="DatabaseIdNotAllowed",this.message="Database id not allowed. Cannot provide both databaseName and databaseId, can only provide one.",this.status=f}}class ye extends Error{constructor(...e){super(...e),this.name="DatabaseIdNotAllowedForOwnDatabase",this.message="Tried to open the user's own database using its databaseId rather than its databaseName. The databaseId should only be used to open databases shared from other users.",this.status=d}}class we extends Error{constructor(e,...t){super(e,...t),this.name="DatabaseIdInvalidLength",this.message="Database id invalid length. Must be ".concat(e," characters."),this.status=f}}class ve extends Error{constructor(...e){super(...e),this.name="ReadOnlyMustBeBoolean",this.message="Read only value must be a boolean.",this.status=f}}class _e extends Error{constructor(...e){super(...e),this.name="ReadOnlyParamNotAllowed",this.message="Read only parameter not allowed when revoking access to a database.",this.status=f}}class Me extends Error{constructor(...e){super(...e),this.name="ResharingAllowedParamNotAllowed",this.message="Resharing allowed parameter not allowed when revoking access to a database.",this.status=f}}class Se extends Error{constructor(...e){super(...e),this.name="ResharingAllowedMustBeBoolean",this.message="Resharing allowed value must be a boolean.",this.status=f}}class Ee extends Error{constructor(...e){super(...e),this.name="ResharingNotAllowed",this.message="Resharing not allowed. Must have permission to reshare the database with another user.",this.status=d}}class ke extends Error{constructor(...e){super(...e),this.name="ResharingWithWriteAccessNotAllowed",this.message="Resharing with write access not allowed. Must have permission to write to the database to reshare the database with write access another user.",this.status=d}}class Ae extends Error{constructor(...e){super(...e),this.name="SharingWithSelfNotAllowed",this.message="Sharing database with self is not allowed. Must share database with another user.",this.status=f}}class Ie extends Error{constructor(...e){super(...e),this.name="ModifyingOwnPermissionsNotAllowed",this.message="Modifying own database permissions not allowed. Must modify another user's permissions.",this.status=f}}class Re extends Error{constructor(...e){super(...e),this.name="ModifyingOwnerPermissionsNotAllowed",this.message="Modifying the owner of a database's permissions is not allowed.",this.status=d}}class xe extends Error{constructor(...e){super(...e),this.name="ModifyingPermissionsNotAllowed",this.message="Modifying another user's permissions is not allowed. Must have permission to reshare the database with another user.",this.status=d}}class Be extends Error{constructor(...e){super(...e),this.name="GrantingWriteAccessNotAllowed",this.message="Granting write access not allowed. Must have permission to write to the database to grant write access to another user.",this.status=d}}class Pe extends Error{constructor(...e){super(...e),this.name="RequireVerifiedMustBeBoolean",this.message="Require verified value must be a boolean.",this.status=f}}class Te extends Error{constructor(...e){super(...e),this.name="RevokeMustBeBoolean",this.message="Revoke value must be a boolean.",this.status=f}}class Ne extends Error{constructor(...e){super(...e),this.name="ItemMissing",this.message="Item missing.",this.status=f}}class De extends Error{constructor(...e){super(...e),this.name="ItemInvalid",this.message="Item must be serializable to JSON.",this.status=f}}class Oe extends Error{constructor(e,...t){super(e,...t),this.name="ItemTooLarge",this.message="Item must be less than ".concat(e," KB."),this.status=f}}class Ue extends Error{constructor(...e){super(...e),this.name="ItemIdMustBeString",this.message="Item id must be a string.",this.status=f}}class Ce extends Error{constructor(e,...t){super(e,...t),this.name="ItemIdTooLong",this.message="Item id cannot be more than ".concat(e," characters."),this.status=f}}class je extends Error{constructor(...e){super(...e),this.name="ItemIdMissing",this.message="Item id missing.",this.status=f}}class Le extends Error{constructor(...e){super(...e),this.name="ItemIdCannotBeBlank",this.message="Item id cannot be blank.",this.status=f}}class qe extends Error{constructor(...e){super(...e),this.name="ItemAlreadyExists",this.message="Item with the same id already exists.",this.status=p}}class Ke extends Error{constructor(...e){super(...e),this.name="ItemDoesNotExist",this.message="Item with the provided id does not exist.",this.status=l}}class Fe extends Error{constructor(...e){super(...e),this.name="ItemUpdateConflict",this.message="Item update conflict.",this.status=p}}class ze extends Error{constructor(...e){super(...e),this.name="FileMissing",this.message="File missing.",this.status=f}}class He extends Error{constructor(...e){super(...e),this.name="FileMustBeFile",this.message="File must be a file.",this.status=f}}class Ve extends Error{constructor(...e){super(...e),this.name="FileCannotBeEmpty",this.message="File cannot be empty.",this.status=f}}class We extends Error{constructor(...e){super(...e),this.name="FileUploadConflict",this.message="File upload conflict.",this.status=p}}class Ge extends Error{constructor(...e){super(...e),this.name="FileNotFound",this.message="File not found.",this.status=l}}class Je extends Error{constructor(...e){super(...e),this.name="FileIdMissing",this.message="File id missing.",this.status=f}}class Ye extends Error{constructor(...e){super(...e),this.name="FileIdMustBeString",this.message="File id must be a string.",this.status=f}}class Ze extends Error{constructor(...e){super(...e),this.name="FileIdCannotBeBlank",this.message="File id cannot be blank.",this.status=f}}class Xe extends Error{constructor(e,...t){super(e,...t),this.name="FileIdTooLong",this.message="File id cannot be more than ".concat(e," characters."),this.status=f}}class Qe extends Error{constructor(...e){super(...e),this.name="RangeMustBeObject",this.message="Range param provided must be object.",this.status=f}}class $e extends Error{constructor(...e){super(...e),this.name="RangeMissingStart",this.message="Range param missing start.",this.status=f}}class et extends Error{constructor(...e){super(...e),this.name="RangeMissingEnd",this.message="Range param missing end.",this.status=f}}class tt extends Error{constructor(...e){super(...e),this.name="RangeStartMustBeNumber",this.message="Range start provided must be a number.",this.status=f}}class rt extends Error{constructor(...e){super(...e),this.name="RangeEndMustBeNumber",this.message="Range end provided must be a number.",this.status=f}}class nt extends Error{constructor(...e){super(...e),this.name="RangeStartMustBeGreaterThanZero",this.message="Range start provided must be greater than 0.",this.status=f}}class it extends Error{constructor(...e){super(...e),this.name="RangeEndMustBeGreaterThanRangeStart",this.message="Range end provided must be greater than range start.",this.status=f}}class at extends Error{constructor(...e){super(...e),this.name="RangeEndMustBeLessThanFileSize",this.message="Range end provided must be less than file size.",this.status=f}}class st extends Error{constructor(...e){super(...e),this.name="OperationsMissing",this.message="Operations missing.",this.status=f}}class ot extends Error{constructor(...e){super(...e),this.name="OperationsMustBeArray",this.message="Operations provided must be an array.",this.status=f}}class ct extends Error{constructor(e,...t){super(e,...t),this.name="CommandNotRecognized",this.message="Command '".concat(e,"' not recognized."),this.status=f}}class ft extends Error{constructor(...e){super(...e),this.name="OperationsConflict",this.message="Operations conflict. Only allowed 1 operation per item.",this.status=p}}class ut extends Error{constructor(e,...t){super(e,...t),this.name="OperationsExceedLimit",this.message="Operations exceed limit. Only allowed ".concat(e," operations."),this.status=f}}class ht extends Error{constructor(...e){super(...e),this.name="UserNotVerified",this.message="User not verified. Either verify user before sharing database, or set requireVerified to false.",this.status=d}}class dt extends Error{constructor(...e){super(...e),this.name="UserMustBeReverified",this.message="User must be reverified.",this.status=d}}class lt extends Error{constructor(...e){super(...e),this.name="UserUnableToReceiveDatabase",this.message="User unable to receive database. User must sign in with an updated userbase-js client to be able to receive database.",this.status=d}}class pt extends Error{constructor(...e){super(...e),this.name="VerificationMessageMissing",this.message="Verification message missing.",this.status=f}}class bt extends Error{constructor(...e){super(...e),this.name="VerificationMessageCannotBeBlank",this.message="Verification message cannot be blank.",this.status=f}}class mt extends Error{constructor(...e){super(...e),this.name="VerificationMessageMustBeString",this.message="Verification message must be a string.",this.status=f}}class gt extends Error{constructor(e,...t){super(e,...t),this.name="VerificationMessageInvalid",this.message="Verification message invalid.",this.status=f}}class yt extends Error{constructor(e,...t){super(e,...t),this.name="VerifyingSelfNotAllowed",this.message="Verifying self not allowed. Can only verify other users.",this.status=f}}class wt extends Error{constructor(...e){super(...e),this.name="ProgressHandlerMustBeFunction",this.message="Progress handler must be a function.",this.status=f}}var vt={DatabaseNameMissing:ie,DatabaseNameCannotBeBlank:ae,DatabaseNameMustBeString:se,DatabaseNameTooLong:oe,DatabaseNameRestricted:ce,DatabaseNotFound:le,DatabaseIsReadOnly:pe,DatabaseAlreadyOpening:fe,DatabaseIdMustBeString:be,DatabaseIdCannotBeBlank:me,DatabaseIdNotAllowed:ge,DatabaseIdNotAllowedForOwnDatabase:ye,DatabaseIdInvalidLength:we,ReadOnlyMustBeBoolean:ve,ReadOnlyParamNotAllowed:_e,ResharingAllowedMustBeBoolean:Se,ResharingNotAllowed:Ee,ResharingWithWriteAccessNotAllowed:ke,ResharingAllowedParamNotAllowed:Me,SharingWithSelfNotAllowed:Ae,ModifyingOwnPermissionsNotAllowed:Ie,ModifyingOwnerPermissionsNotAllowed:Re,ModifyingPermissionsNotAllowed:xe,GrantingWriteAccessNotAllowed:Be,RequireVerifiedMustBeBoolean:Pe,RevokeMustBeBoolean:Te,ChangeHandlerMissing:ue,ChangeHandlerMustBeFunction:he,DatabaseNotOpen:de,ItemMissing:Ne,ItemInvalid:De,ItemTooLarge:Oe,ItemIdMustBeString:Ue,ItemIdTooLong:Ce,ItemIdMissing:je,ItemIdCannotBeBlank:Le,ItemAlreadyExists:qe,ItemDoesNotExist:Ke,ItemUpdateConflict:Fe,FileMissing:ze,FileMustBeFile:He,FileCannotBeEmpty:Ve,FileUploadConflict:We,FileNotFound:Ge,FileIdMissing:Je,FileIdMustBeString:Ye,FileIdCannotBeBlank:Ze,FileIdTooLong:Xe,RangeMustBeObject:Qe,RangeMissingStart:$e,RangeMissingEnd:et,RangeStartMustBeNumber:tt,RangeEndMustBeNumber:rt,RangeStartMustBeGreaterThanZero:nt,RangeEndMustBeGreaterThanRangeStart:it,RangeEndMustBeLessThanFileSize:at,OperationsMissing:st,OperationsMustBeArray:ot,OperationsConflict:ft,OperationsExceedLimit:ut,CommandNotRecognized:ct,UserNotVerified:ht,UserMustBeReverified:dt,UserUnableToReceiveDatabase:lt,VerificationMessageMissing:pt,VerificationMessageMustBeString:mt,VerificationMessageCannotBeBlank:bt,VerificationMessageInvalid:gt,VerifyingSelfNotAllowed:yt,ProgressHandlerMustBeFunction:wt};class _t extends Error{constructor(e,...t){super(e,...t),this.name="AppIdAlreadySet",this.message="Application ID already set.",this.status=p,this.appId=e}}class Mt extends Error{constructor(...e){super(...e),this.name="AppIdMustBeString",this.message="Application ID must be a string.",this.status=f}}class St extends Error{constructor(...e){super(...e),this.name="AppIdMissing",this.message="Application ID missing.",this.status=f}}class Et extends Error{constructor(...e){super(...e),this.name="AppIdCannotBeBlank",this.message="Application ID cannot be blank.",this.status=f}}class kt extends Error{constructor(...e){super(...e),this.name="WebCryptoUnavailable",this.message="The WebCrypto API is unavailable. Please make sure your website uses https.",this.status=f}}class At extends Error{constructor(...e){super(...e),this.name="UpdateUserHandlerMustBeFunction",this.message="Update user handler must be a function.",this.status=f}}var It={AppIdAlreadySet:_t,AppIdMustBeString:Mt,AppIdMissing:St,AppIdCannotBeBlank:Et,WebCryptoUnavailable:kt,UpdateUserHandlerMustBeFunction:At};class Rt extends Error{constructor(...e){super(...e),this.name="SuccessUrlMissing",this.message="Success url missing to let Stripe know where to redirect users on successful payment.",this.status=f}}class xt extends Error{constructor(...e){super(...e),this.name="SuccessUrlMustBeString",this.message="Success url must be a string.",this.status=f}}class Bt extends Error{constructor(e,...t){super(e,...t),this.name="SuccessUrlInvalid",this.message=e?"Success url must start with http or https.":"Success url invalid.",this.status=f}}class Pt extends Error{constructor(...e){super(...e),this.name="CancelUrlMissing",this.message="Cancel url missing to let Stripe know where to redirect users on canceled payment.",this.status=f}}class Tt extends Error{constructor(...e){super(...e),this.name="CancelUrlMustBeString",this.message="Cancel url must be a string.",this.status=f}}class Nt extends Error{constructor(e,...t){super(e,...t),this.name="CancelUrlInvalid",this.message=e?"Cancel url must start with http or https.":"Cancel url invalid.",this.status=f}}class Dt extends Error{constructor(...e){super(...e),this.name="StripeLibraryMissing",this.message="Stripe.js library missing. Be sure to include the script in your html file (https://stripe.com/docs/stripe-js#setup).",this.status=f}}class Ot extends Error{constructor(...e){super(...e),this.name="PaymentsDisabled",this.message="Payments on this app are disabled. Enable payments in the admin panel.",this.status=d}}class Ut extends Error{constructor(...e){super(...e),this.name="SubscriptionPlanNotSet",this.message="Subscription plan not set. Set the subscription plan in the admin panel.",this.status=d}}class Ct extends Error{constructor(...e){super(...e),this.name="SubscriptionPlanAlreadyPurchased",this.message="Subscription plan already purchased.",this.status=p}}class jt extends Error{constructor(...e){super(...e),this.name="StripeAccountNotConnected",this.message="Stripe account not connected. Connect a Stripe account in the admin panel.",this.status=d}}class Lt extends Error{constructor(...e){super(...e),this.name="SubscriptionNotFound",this.message="Subscription not found. User must purchase a subscription.",this.status=h}}class qt extends Error{constructor(...e){super(...e),this.name="SubscribedToIncorrectPlan",this.message="Subscribed to the incorrect subscription plan. The user must purchase the app's current subscription plan.",this.status=h}}class Kt extends Error{constructor(e,...t){super(...t),this.name="SubscriptionInactive",this.message="The user's subscription is inactive.",this.subscriptionStatus=e,this.status=h}}class Ft extends Error{constructor(...e){super(...e),this.name="SubscriptionNotPurchased",this.message="Subscription not purchased. User must purchase a subscription.",this.status=h}}class zt extends Error{constructor(...e){super(...e),this.name="SubscriptionAlreadyCanceled",this.message="Subscription already canceled. User must purchase a new subscription.",this.status=f}}class Ht extends Error{constructor(...e){super(...e),this.name="TrialExpired",this.message="Trial expired. User must purchase a subscription.",this.status=h}}class Vt extends Error{constructor(e,...t){super(e,...t);const{status:r,type:n,message:i}=e;this.name="StripeError",this.message=i,this.type=n,this.status=r}}var Wt={SuccessUrlMissing:Rt,SuccessUrlMustBeString:xt,SuccessUrlInvalid:Bt,CancelUrlMissing:Pt,CancelUrlMustBeString:Tt,CancelUrlInvalid:Nt,StripeJsLibraryMissing:Dt,PaymentsDisabled:Ot,SubscriptionPlanNotSet:Ut,SubscriptionPlanAlreadyPurchased:Ct,StripeAccountNotConnected:jt,SubscriptionNotFound:Lt,SubscribedToIncorrectPlan:qt,SubscriptionInactive:Kt,SubscriptionNotPurchased:Ft,SubscriptionAlreadyCanceled:zt,TrialExpired:Ht,StripeError:Vt};function Gt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Jt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Gt(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}class Yt extends Error{constructor(...e){super(...e),this.name="AppIdNotSet",this.message="App ID not set yet. Make sure to configure app ID.",this.status=f}}class Zt extends Error{constructor(...e){super(...e),this.name="ServiceUnavailable",this.message="Service unavailable.",this.status=g}}class Xt extends Error{constructor(...e){super(...e),this.name="ParamsMustBeObject",this.message="Parameters passed to function must be placed inside an object.",this.status=f}}class Qt extends Error{constructor(e,...t){super(e,...t);const r=Math.floor(e/1e3);this.name="TooManyRequests",this.message="Too many requests in a row. Please try again in ".concat(r," second").concat(1!==r?"s":"","."),this.status=b}}var $t=Jt(Jt(Jt(Jt(Jt({},ne),vt),It),Wt),{},{AppIdNotSet:Yt,InternalServerError:class extends Zt{constructor(...e){super(...e),this.status=m}},ServiceUnavailable:Zt,Timeout:class extends Zt{constructor(...e){super(...e),this.status=y}},Reconnecting:class extends Zt{constructor(...e){super(...e),this.message="Reconnecting."}},UnknownServiceUnavailable:class extends Zt{constructor(e,...t){super(e,...t),console.error("Userbase error. Please report this to support@userbase.com.\n\n",e)}},ParamsMustBeObject:Xt,TooManyRequests:Qt});let er=null,tr=null;var rr="2.3.0",nr={local:!0,session:!0,none:!0},ir=()=>{if(!er)throw new $t.AppIdNotSet;return er},ar=()=>tr,sr=()=>window._userbaseEndpoint||"https://v1.userbase.com/v1",or=({appId:e,updateUserHandler:t})=>{if(er&&er!==e)throw new $t.AppIdAlreadySet(er);er=e,tr=t},cr=e=>e?window._USERBASE_STRIPE_PRODUCTION_PUBLISHABLE_KEY||"pk_live_jI6lbsAIQlu2u4uTkDXFrSEW":window._USERBASE_STRIPE_TEST_PUBLISHABLE_KEY||"pk_test_rYANrLdNfdJXJ2d808wW4pqY";class fr extends Error{constructor(e,t,r,...n){super(e,t,r,...n),this.response={data:e,status:t,statusText:r},this.message="Request failed with status code "+t}}class ur extends Error{constructor(e,...t){super(e,...t),this.message="timeout of ".concat(e,"ms exceeded")}}const hr=(e,t,r)=>{e.timeout=1e4,e.onload=()=>((e,t,r)=>{let n;try{n=JSON.parse(e.response)}catch(t){n=e.response}e.status>=200&&e.status<300?t(n):r(new fr(n,e.status,e.statusText))})(e,t,r),e.onerror=()=>r(new $t.ServiceUnavailable),e.ontimeout=()=>r(new ur(1e4))};var dr={signUp:(e,t,r,n,i,a,s,o,c)=>new Promise((f,u)=>{const h=new XMLHttpRequest,d="".concat(sr(),"/api/auth/sign-up?appId=").concat(ir(),"&userbaseJsVersion=").concat(rr),l=JSON.stringify({username:e,passwordToken:t,ecKeyData:r,passwordSalts:n,keySalts:i,email:a,profile:s,passwordBasedBackup:o,sessionLength:c});h.open("POST",d),h.setRequestHeader("Content-Type","application/json"),h.send(l),hr(h,f,u)}),getPasswordSalts:e=>new Promise((t,r)=>{const n=new XMLHttpRequest,i="".concat(sr(),"/api/auth/get-password-salts?appId=").concat(ir(),"&username=").concat(encodeURIComponent(e),"&userbaseJsVersion=").concat(rr);n.open("GET",i),n.send(),hr(n,t,r)}),signIn:async(e,t,r)=>new Promise((n,i)=>{const a=new XMLHttpRequest,s="".concat(sr(),"/api/auth/sign-in?appId=").concat(ir(),"&userbaseJsVersion=").concat(rr),o=JSON.stringify({username:e,passwordToken:t,sessionLength:r});a.open("POST",s),a.setRequestHeader("Content-Type","application/json"),a.send(o),hr(a,n,i)}),signInWithSession:(e,t)=>new Promise((r,n)=>{const i=new XMLHttpRequest,a="".concat(sr(),"/api/auth/sign-in-with-session?appId=").concat(ir(),"&sessionId=").concat(e,"&userbaseJsVersion=").concat(rr),s=JSON.stringify({sessionLength:t});i.open("POST",a),i.setRequestHeader("Content-Type","application/json"),i.send(s),hr(i,r,n)}),getServerPublicKey:async()=>new Promise((e,t)=>{const r=new XMLHttpRequest,n="".concat(sr(),"/api/auth/server-public-key?&userbaseJsVersion=").concat(rr);r.open("GET",n),r.responseType="arraybuffer",r.send(),hr(r,e,t)}),getPublicKey:e=>new Promise((t,r)=>{const n=new XMLHttpRequest,i="".concat(sr(),"/api/public-key?appId=").concat(ir(),"&username=").concat(encodeURIComponent(e),"&userbaseJsVersion=").concat(rr);n.open("GET",i),n.send(),hr(n,t,r)})},lr=r(20),pr=r.n(lr),br=r(55),mr=r.n(br);function gr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function yr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?gr(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gr(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const wr=e=>(...t)=>{try{return e(...t)}catch(e){console.warn("Error accessing browser storage. Defaulting to memory.\n\n",e)}},vr=(e,t)=>"userbaseSeed.".concat(e,".").concat(t),_r=wr((e,t,r,n,i,a)=>{const s={username:t,signedIn:r,sessionId:n,creationDate:i,expirationDate:a},o=JSON.stringify(s);"local"===e?localStorage.setItem("userbaseCurrentSession",o):"session"===e&&sessionStorage.setItem("userbaseCurrentSession",o)});var Mr={signInSession:(e,t,r,n,i)=>{_r(e,t,!0,r,n,i)},signOutSession:(e,t)=>{_r(e,t,!1)},getCurrentSession:wr(()=>{const e=sessionStorage.getItem("userbaseCurrentSession");if(e){if(!JSON.parse(e).signedIn){const e=localStorage.getItem("userbaseCurrentSession");if(e){const t=JSON.parse(e);if(t.signedIn)return yr(yr({},t),{},{rememberMe:"local"})}}return yr(yr({},JSON.parse(e)),{},{rememberMe:"session"})}const t=localStorage.getItem("userbaseCurrentSession");return t&&yr(yr({},JSON.parse(t)),{},{rememberMe:"local"})}),saveSeedString:wr((e,t,r,n)=>{"local"===e?localStorage.setItem(vr(t,r),n):"session"===e&&sessionStorage.setItem(vr(t,r),n)}),removeSeedString:wr((e,t)=>{const r=vr(e,t);sessionStorage.removeItem(r),localStorage.removeItem(r)}),getSeedString:wr((e,t)=>{const r=vr(e,t);return sessionStorage.getItem(r)||localStorage.getItem(r)}),removeCurrentSession:wr(()=>{sessionStorage.removeItem("userbaseCurrentSession"),localStorage.removeItem("userbaseCurrentSession")})};const Sr=e=>{const t=new Uint16Array(e),r=t.length;let n="",i=10240;for(var a=0;a<r;a+=i){a+i>r&&(i=r-a);const e=t.subarray(a,a+i);n+=String.fromCharCode.apply(null,e)}return n},Er=e=>{let t=new ArrayBuffer(2*e.length),r=new Uint16Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t},kr=async e=>await window.crypto.subtle.digest({name:"SHA-256"},e);var Ar={BYTE_SIZE:32,HASH_ALGORITHM_NAME:"SHA-256",hash:kr,hashBase64String:async e=>{const t=o.a.decode(e),r=await kr(t);return o.a.encode(r)},hashString:async e=>{const t=Er(e),r=await kr(t);return o.a.encode(r)}};const Ir=["deriveKey","deriveBits"],Rr=async e=>await window.crypto.subtle.importKey("raw",e,{name:"HKDF"},!1,Ir),xr=Ar.BYTE_SIZE,Br=(e,t)=>({name:"HKDF",info:Er(e),hash:Ar.HASH_ALGORITHM_NAME,salt:t});var Pr={importHkdfKeyFromString:async e=>{const t=Er(e);return await Rr(t)},importHkdfKey:Rr,generateSalt:()=>window.crypto.getRandomValues(new Uint8Array(xr)),getParams:Br,getPasswordToken:async(e,t)=>{const r=await window.crypto.subtle.deriveBits(Br("password-token",t),e,256);return o.a.encode(r)}};const Tr=["encrypt","decrypt"],Nr=()=>"undefined"!=typeof window?window:self,Dr=()=>({name:"AES-GCM",length:256}),Or=e=>({name:"AES-GCM",tagLength:128,iv:e}),Ur=()=>window.crypto.getRandomValues(new Uint8Array(12)),Cr=e=>{const t=e.byteLength-12;return{ciphertextArrayBuffer:e.slice(0,t),iv:e.slice(t)}},jr=async e=>await Nr().crypto.subtle.importKey("raw",e,{name:"AES-GCM"},!0,Tr),Lr=async(e,t)=>{const r=Ur();return((e,t)=>{const r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer})(await Nr().crypto.subtle.encrypt(Or(r),e,t),r)},qr=async(e,t)=>{const r=Er(t),n=await Lr(e,r);return o.a.encode(n)},Kr=async(e,t)=>{const{ciphertextArrayBuffer:r,iv:n}=Cr(t);return await Nr().crypto.subtle.decrypt(Or(n),e,r)},Fr=async(e,t)=>{const r=o.a.decode(t),n=await Kr(e,r);return Sr(n)};var zr={getEncryptionKeyParams:Dr,getCiphertextParams:Or,generateIv:Ur,sliceEncryptedArrayBuffer:Cr,importKeyFromMaster:async(e,t,r="encryption")=>await window.crypto.subtle.deriveKey(Pr.getParams(r,t),e,{name:"AES-GCM",length:256},!0,Tr),generateKey:async()=>await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,Tr),getKeyStringFromKey:async e=>{const t=await window.crypto.subtle.exportKey("raw",e);return o.a.encode(t)},getKeyFromKeyString:async e=>{const t=o.a.decode(e);return await jr(t)},getRawKeyFromKey:async e=>await Nr().crypto.subtle.exportKey("raw",e),getKeyFromRawKey:jr,encrypt:Lr,encryptJson:async(e,t)=>{const r=JSON.stringify(t);return await qr(e,r)},encryptString:qr,decrypt:Kr,decryptJson:async(e,t)=>{const r=await Fr(e,t);return JSON.parse(r)},decryptString:Fr,getPasswordBasedEncryptionKey:async(e,t)=>await window.crypto.subtle.deriveKey(Pr.getParams("password-based-encryption",t),e,{name:"AES-GCM",length:256},!1,Tr),RAW_KEY_TYPE:"raw",KEY_WILL_BE_USED_TO:Tr},Hr=r(116),Vr=r.n(Hr);const Wr=["encrypt"],Gr=(e=>{if(e.length%2!=0)throw new Error("Hex string must be even length");const t=e.length/2,r=[];for(let n=0;n<t;n++){const t=2*n,i=e.substring(t,t+2),a=parseInt(i,16);r.push(a)}return new Uint8Array(r)})("ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"),Jr=[2];let Yr=null;const Zr=e=>((e,t)=>(e.setPrivateKey(t),e.generateKeys(),e))(Vr.a.createDiffieHellman(Gr,Jr),e),Xr=async(e,t)=>{const r=Zr(e).computeSecret(t),n=await Ar.hash(r);return await zr.getKeyFromRawKey(n)};var Qr={getPublicKey:e=>Zr(e).getPublicKey(),getSharedKey:Xr,getSharedKeyWithServer:async e=>await Xr(e,new Uint8Array(await(async()=>Yr||(Yr=await dr.getServerPublicKey(),Yr))())),importKeyFromMaster:async(e,t)=>{const r=await window.crypto.subtle.deriveKey(Pr.getParams("diffie-hellman",t),e,zr.getEncryptionKeyParams(),!0,Wr);return await zr.getRawKeyFromKey(r)}};const $r=["sign","verify"],en=["sign"],tn=["verify"],rn={name:"ECDSA",namedCurve:"P-256"},nn={name:"ECDSA",hash:{name:Ar.HASH_ALGORITHM_NAME}},an=async e=>await window.crypto.subtle.exportKey("spki",e),sn=async e=>{const t=await an(e);return o.a.encode(t)},on=async(e,t)=>await zr.importKeyFromMaster(e,t,"ecdsa-key-encryption-key"),cn=async(e,t)=>await window.crypto.subtle.sign(nn,e,t),fn=async(e,t,r)=>await window.crypto.subtle.verify(nn,e,t,r);var un={generateEcdsaKeyData:async e=>{const t=await(async()=>await window.crypto.subtle.generateKey(rn,!0,$r))(),r=Pr.generateSalt(),n=await on(e,r),i=await(async e=>{const t=await window.crypto.subtle.exportKey("jwk",e);return Er(JSON.stringify(t))})(t.privateKey),a=await zr.encrypt(n,i);return{ecdsaPrivateKey:t.privateKey,ecdsaPublicKey:await sn(t.publicKey),encryptedEcdsaPrivateKey:o.a.encode(a),ecdsaKeyEncryptionKeySalt:o.a.encode(r)}},importEcdsaKeyEncryptionKeyFromMaster:on,getPrivateKeyFromRawPrivateKey:async e=>{const t=JSON.parse(Sr(e));return await window.crypto.subtle.importKey("jwk",t,rn,!0,en)},getPublicKeyFromRawPublicKey:async e=>await window.crypto.subtle.importKey("spki",e,rn,!0,tn),getRawPublicKeyFromPublicKey:an,getPublicKeyStringFromPublicKey:sn,getPublicKeyFromPrivateKey:async e=>{const t=await window.crypto.subtle.exportKey("jwk",e);delete t.d,t.key_ops=tn;return await window.crypto.subtle.importKey("jwk",t,rn,!0,tn)},sign:cn,signString:async(e,t)=>{const r=Er(t),n=await cn(e,r);return o.a.encode(n)},verify:fn,verifyString:async(e,t,r)=>{const n=Er(r),i=o.a.decode(t);return await fn(e,i,n)}};const hn=["deriveKey","deriveBits"],dn={name:"ECDH",namedCurve:"P-256"},ln=async()=>await window.crypto.subtle.generateKey(dn,!0,hn),pn=async e=>await window.crypto.subtle.exportKey("spki",e),bn=async(e,t)=>await zr.importKeyFromMaster(e,t,"ecdh-key-encryption-key");var mn={generateKeyPair:ln,generateEcdhKeyData:async(e,t)=>{const r=await ln(),n=Pr.generateSalt(),i=await bn(e,n),a=await(async e=>{const t=await window.crypto.subtle.exportKey("jwk",e);return Er(JSON.stringify(t))})(r.privateKey),s=await zr.encrypt(i,a),c=await pn(r.publicKey),f=await un.sign(t,c);return{ecdhPrivateKey:r.privateKey,ecdhPublicKey:o.a.encode(c),encryptedEcdhPrivateKey:o.a.encode(s),signedEcdhPublicKey:o.a.encode(f),ecdhKeyEncryptionKeySalt:o.a.encode(n)}},importEcdhKeyEncryptionKeyFromMaster:bn,getPrivateKeyFromRawPrivateKey:async e=>{const t=JSON.parse(Sr(e));return await window.crypto.subtle.importKey("jwk",t,dn,!0,hn)},getRawPublicKeyFromPublicKey:pn,getPublicKeyFromRawPublicKey:async e=>await window.crypto.subtle.importKey("spki",e,dn,!0,[]),computeSharedKeyEncryptionKey:async(e,t)=>await window.crypto.subtle.deriveKey({name:"ECDH",namedCurve:"P-256",public:e},t,zr.getEncryptionKeyParams(),!1,zr.KEY_WILL_BE_USED_TO)};const gn=["sign"],yn=["sign","verify"],wn=async(e,t)=>await window.crypto.subtle.sign({name:"HMAC"},e,t);var vn={importKeyFromMaster:async(e,t)=>await window.crypto.subtle.deriveKey(Pr.getParams("authentication",t),e,{name:"HMAC",hash:{name:Ar.HASH_ALGORITHM_NAME}},!1,gn),importKeyFromRawBits:async e=>await window.crypto.subtle.importKey("raw",e,{name:"HMAC",hash:{name:Ar.HASH_ALGORITHM_NAME}},!1,yn),sign:wn,signString:async(e,t)=>{const r=await wn(e,Er(t));return o.a.encode(r)}},_n=r(117),Mn=r.n(_n);var Sn={generateSeed:()=>window.crypto.getRandomValues(new Uint8Array(32)),aesGcm:zr,diffieHellman:Qr,ecdsa:un,ecdh:mn,sha256:Ar,hmac:vn,hkdf:Pr,scrypt:{generateSalt:()=>window.crypto.getRandomValues(new Uint8Array(16)),hash:async(e,t)=>{const r=new Uint8Array(Er(e)),n=await Mn.a.scrypt(r,t,16384,8,1,32);return o.a.encode(n)}}};const En=e=>e.split(":")[0],kn=e=>{const t=(e=>"http://"===e.substring(0,"http://".length)?e.substring("http://".length):"https://"===e.substring(0,"https://".length)?e.substring("https://".length):e)(e);return("https"===En(e)?"wss://":"ws://")+t},An=e=>2*e.length,In=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function Rn(){let e=[],t=0;this.getLength=()=>e.length-t,this.isEmpty=()=>0===e.length,this.enqueue=t=>(e.push(t),this.getLength()),this.dequeue=()=>{const r=e[t];return t+=1,2*t>e.length&&(e=e.slice(t),t=0),r},this.peek=()=>e[t]}function xn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Bn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xn(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xn(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const Pn=pr()();class Tn extends Error{constructor(e,t,...r){super(...r),this.name="RequestFailed: ".concat(e),this.message=t.message,this.status=t.status||"timeout"===t.message&&y,this.response=t.status&&t}}class Nn extends Error{constructor(e,t,...r){super(...r),this.name="WebSocket error",this.message=e,this.username=t}}var Dn=new class{constructor(){this.init()}init(e,t,r,n,i,a){this.pingTimeout&&clearTimeout(this.pingTimeout);for(const e of Object.keys(this))delete this[e];this.ws=null,this.connected=!1,this.resolveConnection=e,this.rejectConnection=t,this.connectionResolved=!1,this.session={username:r&&r.username,sessionId:r&&r.sessionId,creationDate:r&&r.creationDate,userId:r&&r.userId,authToken:r&&r.authToken},this.seedString=n,this.keys={init:!1,salts:{}},this.userData={stripeData:{}},this.rememberMe=i,this.requests={},this.state=a||{dbNameToHash:{},databases:{},databasesByDbId:{}}}connect(e,t=null,r,n,i){if(this.connected)throw new Nn("Web Socket already connected",this.session.username);return new Promise((a,s)=>{let o=!1;const f=setTimeout(()=>{this.connected||this.reconnecting||(o=!0,s(new Nn("timeout")))},1e4),u="".concat(kn(sr()),"/api?appId=").concat(ir(),"&sessionId=").concat(e.sessionId,"&clientId=").concat(Pn,"&userbaseJsVersion=").concat(rr),h=new WebSocket(u);h.onopen=async()=>{o||clearTimeout(f)},h.onmessage=async n=>{if(!o)try{const o=JSON.parse(n.data);switch(o.route){case"Ping":{this.heartbeat();const e="Pong";this.ws.send(JSON.stringify({action:e}));break}case"Connection":{this.init(a,s,e,t,r,i),this.ws=h,this.heartbeat(),this.connected=!0;const{keySalts:n,validationMessage:c,ecKeyData:f,encryptedValidationMessage:u}=o;this.keys.salts=n,this.validationMessage=c,this.ecKeyData=f,u&&(this.encryptedValidationMessage=new Uint8Array(u.data)),await this.setKeys(this.seedString);break}case"ApplyTransactions":{const e=o.dbId,t=o.dbNameHash,r=o.isOwner?this.state.databases[t]:this.state.databasesByDbId[e];if(!r)throw new Error("Missing database");r.applyTransactionsQueue.isEmpty()?r.applyTransactionsQueue.enqueue(null):await new Promise(e=>{const t=e;r.applyTransactionsQueue.enqueue(t)});if(o.dbNameHash&&o.dbKey){const e=await Sn.aesGcm.decryptString(this.keys.encryptionKey,o.dbKey);r.dbKeyString=e,r.dbKey=await Sn.aesGcm.getKeyFromKeyString(e)}if(!r.dbKey)throw new Error("Missing db key");if(o.writers){r.attributionEnabled=!0;for(const{userId:e,username:t}of o.writers)r.usernamesByUserId.set(e,t)}if(o.bundle){const e=o.bundleSeqNo,t=o.bundle,n=await Sn.aesGcm.decryptString(r.dbKey,t),i=mr.a.decompress(n),a=JSON.parse(i);await r.applyBundle(a,e)}const n=o.transactionLog;if(await r.applyTransactions(n),r.init||(r.dbId=e,r.dbNameHash=t,r.init=!0,r.receivedMessage()),o.buildBundle&&this.buildBundle(r),r.applyTransactionsQueue.dequeue(),!r.applyTransactionsQueue.isEmpty()){r.applyTransactionsQueue.peek()()}break}case"UpdatedUser":this.handleUpdateUser(o.updatedUser);break;case"SignOut":case"UpdateUser":case"DeleteUser":case"CreateDatabase":case"OpenDatabase":case"OpenDatabaseByDatabaseId":case"GetUserDatabaseByDatabaseNameHash":case"GetUserDatabaseByDatabaseId":case"GetDatabases":case"GetDatabaseUsers":case"Insert":case"Update":case"Delete":case"BatchTransaction":case"Bundle":case"GenerateFileId":case"UploadFileChunk":case"CompleteFileUpload":case"GetChunk":case"ValidateKey":case"GetPasswordSalts":case"PurchaseSubscription":case"CancelSubscription":case"ResumeSubscription":case"UpdatePaymentMethod":case"ShareDatabase":case"SaveDatabase":case"ModifyDatabasePermissions":case"VerifyUser":{const e=o.requestId;if(!e)return console.warn("Missing request id");const t=this.requests[e];if(!t)return console.warn("Request ".concat(e," no longer exists!"));if(!t.promiseResolve||!t.promiseReject)return;const r=o.response;return r&&r.status===c?t.promiseResolve(r):t.promiseReject(r)}default:console.log("Received unknown message from backend:"+JSON.stringify(o))}}catch(n){this.connectionResolved?console.warn("Error handling message: ",n):(this.close(),s(new Nn(n.message,e.username)))}},h.onclose=async c=>{if(o)return;const f=c.code===w,u=c.code===v;if(f||u||!c.wasClean){const o=f&&!n?0:n?n+1e3:1e3;this.reconnecting=!0,await this.reconnect(a,s,e,t,r,o,!this.reconnected&&i)}else c.code===_?s(new Nn("Web Socket already connected",e.username)):this.init()}})}async reconnect(e,t,r,n,i,a,s){try{const t=Math.min(a,3e4);console.log("Connection to server lost. Attempting to reconnect in ".concat(t/1e3," second").concat(1e3!==t?"s":"","..."));const o=[],c=[];e(await new Promise((e,f)=>setTimeout(async()=>{try{const t=s||{dbNameToHash:Bn({},this.state.dbNameToHash),databases:Bn({},this.state.databases),databasesByDbId:Bn({},this.state.databasesByDbId)};for(const e in t.databases)t.databases[e].init=!1,o.push(e);for(const e in t.databasesByDbId)t.databasesByDbId[e].init=!1,c.push(e);this.init(),this.reconnecting=!0;const f=await this.connect(r,n,i,a,t);this.reconnected=!0,s||await this.reopenDatabases(o,c,1e3),e(f)}catch(e){f(e)}},t)))}catch(e){t(e)}}async reopenDatabases(e,t,r){try{const r=[];for(const t of e){const e=this.state.databases[t];if(!e.init){const n="OpenDatabase",i={dbNameHash:t,reopenAtSeqNo:e.lastSeqNo};r.push(this.request(n,i))}}for(const e of t){const t=this.state.databasesByDbId[e];if(!t.init){const n="OpenDatabaseByDatabaseId",i={databaseId:e,reopenAtSeqNo:t.lastSeqNo};r.push(this.request(n,i))}}await Promise.all(r)}catch(n){await new Promise(n=>setTimeout(async()=>{await this.reopenDatabases(e,t,r+1e3),n()},Math.min(r,3e4)))}}heartbeat(){clearTimeout(this.pingTimeout);this.pingTimeout=setTimeout(()=>{this.ws&&this.ws.close(v)},33e3)}close(e){this.ws?this.ws.close(e):this.init()}async signOut(){const e=this.session.username,t=this.connectionResolved,r=this.rejectConnection;try{Mr.signOutSession(this.rememberMe,e);const n=this.session.sessionId;if(this.reconnecting)throw new $t.Reconnecting;const i="SignOut",a={sessionId:n};await this.request(i,a),this.close(),!t&&r&&r(new Nn("Canceled",e))}catch(n){throw!t&&r&&r(new Nn("Canceled",e)),n}}async setKeys(e){if(this.keys.init)return;if(!e)throw new Nn("Missing seed",this.session.username);if(!this.keys.salts)throw new Nn("Missing salts",this.session.username);this.seedString||(this.seedString=e);const t=o.a.decode(e),r=await Sn.hkdf.importHkdfKey(t),n=this.keys.salts;if(this.keys.encryptionKey=await Sn.aesGcm.importKeyFromMaster(r,o.a.decode(n.encryptionKeySalt)),this.keys.hmacKey=await Sn.hmac.importKeyFromMaster(r,o.a.decode(n.hmacKeySalt)),n.ecdsaKeyEncryptionKeySalt){const e=await Sn.ecdsa.importEcdsaKeyEncryptionKeyFromMaster(r,o.a.decode(n.ecdsaKeyEncryptionKeySalt)),t=o.a.decode(this.ecKeyData.encryptedEcdsaPrivateKey),i=await Sn.aesGcm.decrypt(e,t);this.keys.ecdsaPrivateKey=await Sn.ecdsa.getPrivateKeyFromRawPrivateKey(i);const a=await Sn.ecdh.importEcdhKeyEncryptionKeyFromMaster(r,o.a.decode(n.ecdhKeyEncryptionKeySalt)),s=o.a.decode(this.ecKeyData.encryptedEcdhPrivateKey),c=await Sn.aesGcm.decrypt(a,s);this.keys.ecdhPrivateKey=await Sn.ecdh.getPrivateKeyFromRawPrivateKey(c)}else n.dhKeySalt&&(this.keys.dhPrivateKey=await Sn.diffieHellman.importKeyFromMaster(r,o.a.decode(n.dhKeySalt)));let i;if(n.dhKeySalt||n.ecdsaKeyWrapperSalt){const e=await Sn.ecdsa.generateEcdsaKeyData(r),t=await Sn.ecdh.generateEcdhKeyData(r,e.ecdsaPrivateKey);this.keys.ecdsaPrivateKey=e.ecdsaPrivateKey,this.keys.ecdhPrivateKey=t.ecdhPrivateKey,delete e.ecdsaPrivateKey,delete t.ecdhPrivateKey,i={ecdsaKeyData:e,ecdhKeyData:t}}const a=await this.validateKey(i);this.userData=a,this.keys.init=!0,this.resolveConnection(),this.connectionResolved=!0}async validateKey(e){let t;if(this.keys.ecdsaPrivateKey&&!this.keys.dhPrivateKey)t=await Sn.ecdsa.sign(this.keys.ecdsaPrivateKey,o.a.decode(this.validationMessage));else if(this.keys.dhPrivateKey){const e=await Sn.diffieHellman.getSharedKeyWithServer(this.keys.dhPrivateKey);t=await Sn.aesGcm.decrypt(e,this.encryptedValidationMessage),delete this.keys.dhPrivateKey}const r={validationMessage:o.a.encode(t),ecKeyData:e};return(await this.request("ValidateKey",r)).data}async request(e,t){const r=pr()();this.requests[r]={};const n=this.watch(r);this.ws.send(JSON.stringify({requestId:r,action:e,params:t}));try{return await n}catch(t){throw t.status===b?new $t.TooManyRequests(t.data.retryDelay):new Tn(e,t)}}async watch(e){const t=await new Promise((t,r)=>{this.requests[e].promiseResolve=t,this.requests[e].promiseReject=r,setTimeout(()=>{r(new Error("timeout"))},2e4)});return delete this.requests[e],t}async buildBundle(e){const t=e.dbId,r=e.lastSeqNo,n=e.dbKey;if(e.bundledAtSeqNo&&e.bundledAtSeqNo>=r)return;e.bundledAtSeqNo=r;const i={items:e.items,itemsIndex:e.itemsIndex.array},a=e.attributionEnabled?[...e.usernamesByUserId.keys()].join(","):void 0,s=JSON.stringify(i),o=[];for(let e=0;e<i.itemsIndex.length;e++){const t=i.itemsIndex[e].itemId;o.push(Sn.hmac.signString(this.keys.hmacKey,t))}const c=await Promise.all(o),f=mr.a.compress(s),u={dbId:t,seqNo:r,bundle:await Sn.aesGcm.encryptString(n,f),keys:c,writers:a};this.request("Bundle",u)}buildUserResult({username:e,userId:t,authToken:r,email:n,profile:i,protectedProfile:a,usedTempPassword:s,passwordChanged:o,userData:c}){const f={username:e,userId:t,authToken:r};if(n&&(f.email=n),i&&(f.profile=i),a&&(f.protectedProfile=a),s&&(f.usedTempPassword=s),o&&(f.passwordChanged=o),c){const{creationDate:e,stripeData:t}=c;if(e&&(f.creationDate=e),t){const{paymentsMode:e,subscriptionStatus:r,cancelSubscriptionAt:n,trialExpirationDate:i}=t;e&&(f.paymentsMode=e),r&&(f.subscriptionStatus=r),n&&(f.cancelSubscriptionAt=n),i&&(f.trialExpirationDate=i)}}return f}handleUpdateUser(e){if(this.session&&this.session.userId===e.userId){this.session.username=e.username,this.userData=e.userData;const t=ar();t&&t({user:this.buildUserResult(Bn({authToken:this.session.authToken},e))})}}};function On(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Un(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?On(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):On(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const Cn=e=>{if(e.response){if("App ID not valid"===e.response.data)throw new $t.AppIdNotValid;if("UserNotFound"===e.response.data)throw new $t.UserNotFound;if(e.response.status===m)throw new $t.InternalServerError;if(e.response.status===y)throw new $t.Timeout}else if(e.message&&-1!==e.message.indexOf("timeout"))throw new $t.Timeout},jn=async(e,t,r)=>{try{await Dn.connect(e,t,r)}catch(e){if(Cn(e),"Web Socket already connected"===e.message)throw new $t.UserAlreadySignedIn(e.username);throw e}},Ln=e=>{if(e.response&&"UsernameTooLong"===e.response.data.error)throw new $t.UsernameTooLong(e.response.data.maxLen);if(e.response&&"PasswordAttemptLimitExceeded"===e.response.data.error)throw new $t.PasswordAttemptLimitExceeded(e.response.data.delay)},qn=e=>{if(e.response&&e.response.data){const t=e.response.data;switch(t.error){case"SessionLengthTooShort":throw new $t.SessionLengthTooShort(t.minLen);case"SessionLengthTooLong":throw new $t.SessionLengthTooLong(t.maxLen)}}},Kn=(e,t)=>{if(Cn(e),Ln(e),e.response){const r=e.response.data;switch(r){case"UsernameAlreadyExists":throw new $t.UsernameAlreadyExists(t);case"TrialExceededLimit":throw new $t.TrialExceededLimit;case"CurrentPasswordIncorrect":throw new $t.CurrentPasswordIncorrect}switch(r.error){case"EmailNotValid":throw new $t.EmailNotValid;case"ProfileMustBeObject":throw new $t.ProfileMustBeObject;case"ProfileKeyTooLong":throw new $t.ProfileKeyTooLong(r.maxLen,r.key);case"ProfileValueMustBeString":throw new $t.ProfileValueMustBeString(r.key,r.value);case"ProfileValueCannotBeBlank":throw new $t.ProfileValueCannotBeBlank(r.key);case"ProfileValueTooLong":throw new $t.ProfileValueTooLong(r.maxLen,r.key,r.value);case"ProfileHasTooManyKeys":throw new $t.ProfileHasTooManyKeys(r.maxKeys);case"ProfileCannotBeEmpty":throw new $t.ProfileCannotBeEmpty}}throw e},Fn=e=>e&&60*e*60*1e3,zn=e=>{if("string"!=typeof e)throw new $t.UsernameMustBeString;if(0===e.length)throw new $t.UsernameCannotBeBlank},Hn=e=>{if("string"!=typeof e)throw new $t.PasswordMustBeString;if(0===e.length)throw new $t.PasswordCannotBeBlank;if(e.length<6)throw new $t.PasswordTooShort(6);if(e.length>1e3)throw new $t.PasswordTooLong(1e3)},Vn=e=>{if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(!In(e,"username"))throw new $t.UsernameMissing;if(!In(e,"password"))throw new $t.PasswordMissing;if(zn(e.username),Hn(e.password),In(e,"rememberMe")&&!nr[e.rememberMe])throw new $t.RememberMeValueNotValid(nr);if(In(e,"sessionLength")&&"number"!=typeof e.sessionLength)throw new $t.SessionLengthMustBeNumber},Wn=async(e,t)=>{const r=Sn.scrypt.generateSalt(),n=await Sn.scrypt.hash(e,r),i=await Sn.hkdf.importHkdfKeyFromString(n),a=Sn.hkdf.generateSalt(),s=await Sn.hkdf.getPasswordToken(i,a),c=Sn.hkdf.generateSalt(),f=await Sn.aesGcm.getPasswordBasedEncryptionKey(i,c),u=await Sn.aesGcm.encrypt(f,t);return{passwordToken:s,passwordSalts:{passwordSalt:o.a.encode(r),passwordTokenSalt:o.a.encode(a)},passwordBasedBackup:{passwordBasedEncryptionKeySalt:o.a.encode(c),passwordEncryptedSeed:o.a.encode(u)}}},Gn=e=>{if("object"!=typeof e)throw new $t.ProfileMustBeObject;let t=!1;for(const r in e){t=!0;const n=e[r];if("string"!=typeof n)throw new $t.ProfileValueMustBeString(r,n);if(!n)throw new $t.ProfileValueCannotBeBlank(r)}if(!t)throw new $t.ProfileCannotBeEmpty},Jn=async()=>{try{const e="GetPasswordSalts";return(await Dn.request(e)).data}catch(e){throw Cn(e),e}},Yn=async(e,t)=>{const{passwordSalt:r,passwordTokenSalt:n}=t,i=await Sn.scrypt.hash(e,new Uint8Array(o.a.decode(r))),a=await Sn.hkdf.importHkdfKeyFromString(i);return{passwordHkdfKey:a,passwordToken:await Sn.hkdf.getPasswordToken(a,o.a.decode(n))}},Zn=async(e,t)=>{try{const r=Mr.getCurrentSession();if(!r)return{};const{signedIn:n,sessionId:i,creationDate:a,expirationDate:s,rememberMe:o}=r,c=Mr.getSeedString(e,r.username);if(!n||!c||new Date>new Date(s))return{lastUsedUsername:r.username};let f;try{f=await dr.signInWithSession(i,t)}catch(e){if(Cn(e),qn(e),e.response&&"Session invalid"===e.response.data)return{lastUsedUsername:r.username};throw e}const{userId:u,authToken:h,username:d,email:l,profile:p,protectedProfile:b}=f;if(d!==r.username&&(Mr.saveSeedString(o,e,d,c),Mr.removeSeedString(e,r.username)),Mr.signInSession(o,d,i,a,f.expirationDate),Dn.connectionResolved){if(Dn.session.sessionId===i)return{user:Dn.buildUserResult({username:d,userId:u,authToken:Dn.session.authToken,email:l,profile:p,protectedProfile:b,userData:Dn.userData})};throw new $t.UserAlreadySignedIn(Dn.session.username)}const m=Un(Un({},r),{},{username:d,userId:u,authToken:h});return await jn(m,c,o),{user:Dn.buildUserResult({username:d,userId:u,authToken:h,email:l,profile:p,protectedProfile:b,userData:Dn.userData})}}catch(e){throw Cn(e),e}};var Xn={signUp:async e=>{try{(e=>{if(Vn(e),e.profile&&Gn(e.profile),e.email&&"string"!=typeof e.email)throw new $t.EmailNotValid})(e);const{password:t,profile:r,rememberMe:n="session"}=e,i=e.username.toLowerCase(),a=e.email&&e.email.toLowerCase(),s=ir(),c=await Sn.generateSeed(),f=Fn(e.sessionLength),{sessionId:u,creationDate:h,expirationDate:d,userId:l,authToken:p}=await(async(e,t,r,n,i,a)=>{const{passwordToken:s,passwordSalts:c,passwordBasedBackup:f}=await Wn(t,r),u=await Sn.hkdf.importHkdfKey(r),h=Sn.hkdf.generateSalt(),d=Sn.hkdf.generateSalt(),l={encryptionKeySalt:o.a.encode(h),hmacKeySalt:o.a.encode(d)},p=await Sn.ecdsa.generateEcdsaKeyData(u),b=await Sn.ecdh.generateEcdhKeyData(u,p.ecdsaPrivateKey);delete p.ecdsaPrivateKey,delete b.ecdhPrivateKey;const m={ecdsaKeyData:p,ecdhKeyData:b};try{return await dr.signUp(e,s,m,c,l,n,i,f,a)}catch(t){qn(t),Kn(t,e)}})(i,t,c,a,r,f),b={username:i,userId:l,sessionId:u,creationDate:h,expirationDate:d,authToken:p},m=o.a.encode(c);return Mr.saveSeedString(n,s,i,m),Mr.signInSession(n,i,u,h,d),await jn(b,m,n),Dn.buildUserResult({username:i,userId:l,authToken:p,email:a,profile:r,userData:Dn.userData})}catch(e){switch(e.name){case"ParamsMustBeObject":case"UsernameMissing":case"UsernameAlreadyExists":case"UsernameCannotBeBlank":case"UsernameMustBeString":case"UsernameTooLong":case"PasswordMissing":case"PasswordCannotBeBlank":case"PasswordTooShort":case"PasswordTooLong":case"PasswordMustBeString":case"EmailNotValid":case"ProfileMustBeObject":case"ProfileCannotBeEmpty":case"ProfileHasTooManyKeys":case"ProfileKeyTooLong":case"ProfileValueMustBeString":case"ProfileValueCannotBeBlank":case"ProfileValueTooLong":case"RememberMeValueNotValid":case"SessionLengthMustBeNumber":case"SessionLengthTooShort":case"SessionLengthTooLong":case"TrialExceededLimit":case"AppIdNotSet":case"AppIdNotValid":case"UserAlreadySignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},signOut:async()=>{try{if(!Dn.session.username)throw new $t.UserNotSignedIn;try{await Dn.signOut()}catch(e){throw Cn(e),e}}catch(e){switch(e.name){case"UserNotSignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},signIn:async e=>{try{Vn(e);const t=e.username.toLowerCase(),{password:r,rememberMe:n="session"}=e,i=ir(),a=await(async e=>{try{return await dr.getPasswordSalts(e)}catch(e){if(Cn(e),Ln(e),e.response&&"User not found"===e.response.data)throw new $t.UsernameOrPasswordMismatch;throw e}})(t),{passwordHkdfKey:s,passwordToken:c}=await Yn(r,a),f=Fn(e.sessionLength),u=await(async(e,t,r)=>{try{return await dr.signIn(e,t,r)}catch(e){if(Cn(e),Ln(e),qn(e),e.response&&"Invalid password"===e.response.data)throw new $t.UsernameOrPasswordMismatch;if(e.response&&"User pending deletion"===e.response.data)throw new $t.UserPendingDeletion;throw e}})(t,c,f),{userId:h,email:d,profile:l,passwordBasedBackup:p,protectedProfile:b,usedTempPassword:m}=u,g=Un(Un({},u.session),{},{username:t,userId:h}),y=Mr.getSeedString(i,t);let w;if(!y&&m)throw new $t.KeyNotFound("Device not recognized. You can only sign in with a temporary password from a device you've signed in from before.");y||(w=await(async(e,t)=>{const{passwordBasedEncryptionKeySalt:r,passwordEncryptedSeed:n}=t,i=await Sn.aesGcm.getPasswordBasedEncryptionKey(e,o.a.decode(r)),a=await Sn.aesGcm.decrypt(i,o.a.decode(n));return o.a.encode(a)})(s,p),Mr.saveSeedString(n,i,t,w));const v=y||w;return Mr.signInSession(n,t,g.sessionId,g.creationDate,g.expirationDate),await jn(g,v,n),Dn.buildUserResult({username:t,userId:h,authToken:g.authToken,email:d,profile:l,protectedProfile:b,usedTempPassword:m,userData:Dn.userData})}catch(e){switch(e.name){case"ParamsMustBeObject":case"UsernameMissing":case"UsernameOrPasswordMismatch":case"UserPendingDeletion":case"UsernameCannotBeBlank":case"UsernameTooLong":case"UsernameMustBeString":case"PasswordMissing":case"PasswordCannotBeBlank":case"PasswordTooShort":case"PasswordTooLong":case"PasswordMustBeString":case"PasswordAttemptLimitExceeded":case"RememberMeValueNotValid":case"SessionLengthMustBeNumber":case"SessionLengthTooShort":case"SessionLengthTooLong":case"KeyNotFound":case"AppIdNotSet":case"AppIdNotValid":case"UserAlreadySignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},init:async e=>{try{if(!window.crypto.subtle)throw new $t.WebCryptoUnavailable;if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(!In(e,"appId"))throw new $t.AppIdMissing;if("string"!=typeof e.appId)throw new $t.AppIdMustBeString;if(0===e.appId.length)throw new $t.AppIdCannotBeBlank;if(In(e,"updateUserHandler")&&"function"!=typeof e.updateUserHandler)throw new $t.UpdateUserHandlerMustBeFunction;if(In(e,"sessionLength")&&"number"!=typeof e.sessionLength)throw new $t.SessionLengthMustBeNumber;or(e);return await Zn(e.appId,Fn(e.sessionLength))}catch(e){switch(e.name){case"WebCryptoUnavailable":case"ParamsMustBeObject":case"AppIdMissing":case"AppIdAlreadySet":case"AppIdMustBeString":case"AppIdCannotBeBlank":case"AppIdNotValid":case"UpdateUserHandlerMustBeFunction":case"SessionLengthMustBeNumber":case"SessionLengthTooShort":case"SessionLengthTooLong":case"UserAlreadySignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},updateUser:async e=>{try{if("object"!=typeof e)throw new $t.ParamsMustBeObject;if((e=>{if(!(In(e,"username")||In(e,"newPassword")||In(e,"email")||In(e,"profile")))throw new $t.ParamsMissing;const{username:t,currentPassword:r,newPassword:n,email:i,profile:a}=e;if(In(e,"username")&&zn(t),In(e,"newPassword")){if(!In(e,"currentPassword"))throw new $t.CurrentPasswordMissing;Hn(r),Hn(n)}if(i&&"string"!=typeof i)throw new $t.EmailNotValid;a&&Gn(a)})(e),!Dn.keys.init)throw new $t.UserNotSignedIn;const t=Dn.seedString,r="UpdateUser",n=await(async e=>{if(e.username&&(e.username=e.username.toLowerCase()),e.newPassword){const[t,r]=await Promise.all([Jn(),Wn(e.newPassword,o.a.decode(Dn.seedString))]),{passwordToken:n}=await Yn(e.currentPassword,t);e.currentPasswordToken=n,delete e.currentPassword,e.passwordToken=r.passwordToken,e.passwordSalts=r.passwordSalts,e.passwordBasedBackup=r.passwordBasedBackup,delete e.newPassword}return e.email?e.email=e.email.toLowerCase():In(e,"email")&&(e.email=!1),!e.profile&&In(e,"profile")&&(e.profile=!1),e})(Un({},e));if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;if(t!==Dn.seedString)throw new $t.ServiceUnavailable;try{n.username&&Mr.saveSeedString(Dn.rememberMe,ir(),n.username,Dn.seedString);const e=(await Dn.request(r,n)).data.updatedUser;Dn.handleUpdateUser(e)}catch(e){Kn(e,n.username)}}catch(e){switch(e.name){case"ParamsMustBeObject":case"ParamsMissing":case"UsernameAlreadyExists":case"UsernameMustBeString":case"UsernameCannotBeBlank":case"UsernameTooLong":case"CurrentPasswordMissing":case"CurrentPasswordIncorrect":case"PasswordAttemptLimitExceeded":case"PasswordMustBeString":case"PasswordCannotBeBlank":case"PasswordTooShort":case"PasswordTooLong":case"EmailNotValid":case"ProfileMustBeObject":case"ProfileCannotBeEmpty":case"ProfileHasTooManyKeys":case"ProfileKeyTooLong":case"ProfileValueMustBeString":case"ProfileValueCannotBeBlank":case"ProfileValueTooLong":case"AppIdNotSet":case"AppIdNotValid":case"UserNotFound":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},deleteUser:async()=>{try{if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;const e=Dn.session.username;Mr.removeSeedString(ir(),e),Mr.removeCurrentSession();try{const e="DeleteUser";await Dn.request(e)}catch(e){throw Cn(e),e}Dn.close()}catch(e){switch(e.name){case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},forgotPassword:async e=>{try{if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(!In(e,"username"))throw new $t.UsernameMissing;zn(e.username);const t=e.username.toLowerCase(),r=ir(),n=Mr.getSeedString(r,t),i="Device not recognized. Forgot password only works from a device you've signed in from before.";if(!n)throw new $t.KeyNotFound(i);const a=o.a.decode(n),s=await Sn.hkdf.importHkdfKey(a),c=new WebSocket("".concat(kn(sr()),"/api/auth/forgot-password?appId=").concat(r,"&username=").concat(t));await new Promise((e,t)=>{setTimeout(()=>t(new $t.Timeout),15e3),c.onerror=()=>t(new $t.ServiceUnavailable),c.onmessage=async r=>{try{const n=JSON.parse(r.data);switch(n.route){case"ReceiveEncryptedToken":{const e=new Uint8Array(n.encryptedForgotPasswordToken.data),t=await Sn.diffieHellman.importKeyFromMaster(s,o.a.decode(n.dhKeySalt)),r=await Sn.diffieHellman.getSharedKeyWithServer(t);let a;try{a=o.a.encode(await Sn.aesGcm.decrypt(r,e))}catch(e){throw new $t.KeyNotFound(i)}c.send(JSON.stringify({action:"ForgotPassword",params:{forgotPasswordToken:a}}));break}case"ReceiveToken":{const{ecdsaKeyEncryptionKeySalt:e,encryptedEcdsaPrivateKey:t,forgotPasswordToken:r}=n,a=await Sn.ecdsa.importEcdsaKeyEncryptionKeyFromMaster(s,o.a.decode(e));let f;try{const e=await Sn.aesGcm.decrypt(a,o.a.decode(t));f=await Sn.ecdsa.getPrivateKeyFromRawPrivateKey(e)}catch(e){throw new $t.KeyNotFound(i)}const u=o.a.encode(await Sn.ecdsa.sign(f,o.a.decode(r)));c.send(JSON.stringify({action:"ForgotPassword",params:{signedForgotPasswordToken:u}}));break}case"SuccessfullyForgotPassword":e();break;case"Error":{const e=n.data;switch(e.name){case"UsernameTooLong":throw new $t.UsernameTooLong(e.maxLen);case"AppIdNotValid":throw new $t.AppIdNotValid;case"UserNotFound":throw new $t.UserNotFound;case"UserEmailNotFound":throw new $t.UserEmailNotFound;default:throw n.status===m?new $t.ServiceUnavailable:new $t.UnknownServiceUnavailable(e)}}case"Ping":break;default:t(new Error("Received unknown message from userbase-server: ".concat(r.data)))}}catch(r){t(r)}}}),c.close()}catch(e){switch(e.name){case"ParamsMustBeObject":case"UsernameMissing":case"UsernameMustBeString":case"UsernameCannotBeBlank":case"UsernameTooLong":case"AppIdNotSet":case"AppIdNotValid":case"KeyNotFound":case"UserNotFound":case"UserEmailNotFound":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}}},Qn=r(118),$n=r.n(Qn);function ei(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ti(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ei(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ei(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const ri=e=>{if(e.response){if("UserNotFound"===e.response.data)throw new $t.UserNotFound;if(e.response.status===m)throw new $t.InternalServerError;if(e.response.status===y)throw new $t.Timeout}else if(e.message&&-1!==e.message.indexOf("timeout"))throw new $t.Timeout};class ni{constructor(e){this.startSeqNo=e,this.txSeqNo=null,this.transactions={},this.promiseResolve=null,this.promiseReject=null,this.index=null}getStartSeqNo(){return this.startSeqNo}getIndex(){return this.index}setIndex(e){this.index=e}async getResult(e){this.txSeqNo=e;const t=new Promise((e,t)=>{this.promiseResolve=e,this.promiseReject=t,setTimeout(()=>{t(new Error("timeout"))},2e4)});return this.verifyPromise(),t}verifyPromise(){(this.txSeqNo||0==this.txSeqNo)&&this.promiseResolve&&this.promiseReject&&this.transactions[this.txSeqNo]&&("Success"==this.transactions[this.txSeqNo]?this.promiseResolve():this.promiseReject(this.transactions[this.txSeqNo]))}addTransaction(e,t){this.transactions[e.seqNo]||(this.transactions[e.seqNo]=t,this.verifyPromise())}}class ii{constructor(e,t){this.onChange=e,this.items={},this.fileIds={};this.itemsIndex=new $n.a([],(e,t)=>e.seqNo<t.seqNo||e.seqNo===t.seqNo&&e.operationIndex<t.operationIndex?-1:e.seqNo>t.seqNo||e.seqNo===t.seqNo&&e.operationIndex>t.operationIndex?1:0),this.unverifiedTransactions=[],this.lastSeqNo=0,this.init=!1,this.dbKey=null,this.receivedMessage=t,this.usernamesByUserId=new Map,this.attributionEnabled=!1,this.applyTransactionsQueue=new Rn}async applyTransactions(e){for(let t=0;t<e.length;t++){const r=e[t],n=r.seqNo;if(n!==this.lastSeqNo+1){console.warn("Client attempted to apply transaction with seq no ".concat(n," when last seq no is ").concat(this.lastSeqNo));continue}const i=await this.applyTransaction(this.dbKey,r);this.lastSeqNo=n;for(let r=0;r<this.unverifiedTransactions.length;r++)!this.unverifiedTransactions[r]||n<this.unverifiedTransactions[r].getStartSeqNo()||this.unverifiedTransactions[r].addTransaction(e[t],i);this.init&&"Success"===i&&this.onChange(this.getItems())}this.init||this.onChange(this.getItems())}async applyBundle(e,t){if(0===this.lastSeqNo){for(let t=0;t<e.itemsIndex.length;t++){const r=e.itemsIndex[t],n=e.itemsIndex[t].itemId,i=e.items[n];i.file&&i.file.fileEncryptionKeyString&&(i.file.fileEncryptionKey=await Sn.aesGcm.getKeyFromKeyString(i.file.fileEncryptionKeyString),this.fileIds[i.file.fileId]=n),this.items[n]=i,this.itemsIndex.insert(r)}this.lastSeqNo=t}else console.warn("Client attempted to apply bundle when last seq no is ".concat(this.lastSeqNo))}async applyTransaction(e,t){const r=t.seqNo,n=t.command;switch(n){case"Insert":{const n=await Sn.aesGcm.decryptJson(e,t.record),i=n.id,a=n.item,s=this.attributionFromTransaction(t);try{this.validateInsert(i)}catch(e){return e}return this.applyInsert(i,r,a,s)}case"Update":{const r=await Sn.aesGcm.decryptJson(e,t.record),n=r.id,i=r.item,a=this.attributionFromTransaction(t),s=r.__v;try{this.validateUpdateOrDelete(n,s)}catch(e){return e}return this.applyUpdate(n,i,a,s)}case"Delete":{const r=await Sn.aesGcm.decryptJson(e,t.record),n=r.id,i=r.__v;try{this.validateUpdateOrDelete(n,i)}catch(e){return e}return this.applyDelete(n)}case"BatchTransaction":{const n=t.operations,i=this.attributionFromTransaction(t),a=[];for(const t of n)a.push(t.record&&Sn.aesGcm.decryptJson(e,t.record));const s=await Promise.all(a);try{this.validateBatchTransaction(n,s)}catch(e){return e}return this.applyBatchTransaction(r,n,s,i)}case"UploadFile":{const r=await Sn.aesGcm.decrypt(e,o.a.decode(t.fileEncryptionKey)),n=await Sn.aesGcm.getKeyFromRawKey(r),i=await Sn.aesGcm.getKeyStringFromKey(n),a=await Sn.aesGcm.decryptJson(n,t.fileMetadata),s=a.itemId,c=a.__v,{fileName:f,fileSize:u,fileType:h}=a,d=t.fileId,l=this.attributionFromTransaction(t);try{this.validateUploadFile(s,c)}catch(e){return e}return this.applyUploadFile(s,l,c,n,i,f,d,u,h)}case"Rollback":return;default:return void console.warn("Unknown command: ".concat(n))}}attributionFromTransaction(e){if(this.attributionEnabled)return{timestamp:e.timestamp,userId:e.userId}}validateInsert(e){if(this.items[e])throw new $t.ItemAlreadyExists}validateUpdateOrDelete(e,t){if(!this.items[e])throw new $t.ItemDoesNotExist;if(t<=this.getItemVersionNumber(e))throw new $t.ItemUpdateConflict}validateUploadFile(e,t){if(!this.items[e])throw new $t.ItemDoesNotExist;if(t<=this.getFileVersionNumber(e))throw new $t.FileUploadConflict}itemExists(e){return In(this.items,e)}applyInsert(e,t,r,n,i){const a={seqNo:t};return"number"==typeof i&&(a.operationIndex=i),this.items[e]=ti(ti({},a),{},{record:r,createdBy:n,__v:0}),this.itemsIndex.insert(ti(ti({},a),{},{itemId:e})),"Success"}applyUpdate(e,t,r,n){return this.items[e].record=t,this.items[e].updatedBy=r,this.items[e].__v=n,"Success"}applyUploadFile(e,t,r,n,i,a,s,o,c){const f=this.items[e].file;return f&&delete this.fileIds[f.fileId],this.items[e].file={fileName:a,fileId:s,fileSize:o,fileType:c,fileEncryptionKey:n,fileEncryptionKeyString:i,__v:r},this.items[e].fileUploadedBy=t,this.fileIds[s]=e,"Success"}applyDelete(e){return this.itemsIndex.remove(this.items[e]),delete this.items[e],"Success"}validateBatchTransaction(e,t){const r={};for(let n=0;n<e.length;n++){const i=e[n],a=t[n].id,s=t[n].__v;if(r[a])throw new $t.OperationsConflict;switch(r[a]=!0,i.command){case"Insert":this.validateInsert(a);break;case"Update":case"Delete":this.validateUpdateOrDelete(a,s)}}}applyBatchTransaction(e,t,r,n){for(let i=0;i<t.length;i++){const a=t[i],s=r[i].id,o=r[i].item,c=r[i].__v;switch(a.command){case"Insert":this.applyInsert(s,e,o,n,i);break;case"Update":this.applyUpdate(s,o,n,c);break;case"Delete":this.applyDelete(s,c)}}return"Success"}registerUnverifiedTransaction(){const e=new ni(this.lastSeqNo),t=this.unverifiedTransactions.push(e);return e.setIndex(t-1),e}unregisterUnverifiedTransaction(e){delete this.unverifiedTransactions[e.getIndex()]}getItems(){const e=[];for(let t=0;t<this.itemsIndex.array.length;t++){const r=this.itemsIndex.array[t].itemId,n={itemId:r,item:this.items[r].record};if(this.items[r].file){const{fileId:e,fileName:t,fileSize:i}=this.items[r].file;n.fileId=e,n.fileName=t,n.fileSize=i}for(const e of["createdBy","updatedBy","fileUploadedBy"])if(this.items[r][e]){const{timestamp:t,userId:i}=this.items[r][e],a={timestamp:t},s=this.usernamesByUserId.get(i);null==s?a.userDeleted=!0:a.username=s,n[e]=a}e.push(n)}return e}getItemVersionNumber(e){return this.items[e].__v}getFileVersionNumber(e){return this.items[e].file&&this.items[e].file.__v}}const ai=(e,t,r)=>{e.onChange=t;const n=e.receivedMessage;return e.receivedMessage=()=>{n(),r()},!!e.init&&(t(e.getItems()),e.receivedMessage(),!0)},si=async(e,t)=>{try{let r,n;const i=new Promise((e,t)=>{r=e,n=setTimeout(()=>t(new Error("timeout")),2e4)});try{const{dbNameHash:n,newDatabaseParams:a,databaseId:s}=t;n?await(async(e,t,r,n)=>{const i=Dn.state.databases[e];if(i){if(ai(i,r,n))return}else Dn.state.databases[e]=new ii(r,n);const a={dbNameHash:e,newDatabaseParams:t};await Dn.request("OpenDatabase",a)})(n,a,e,r):await(async(e,t,r)=>{const n=Dn.state.databasesByDbId[e];if(n){if(ai(n,t,r))return}else Dn.state.databasesByDbId[e]=new ii(t,r);const i={databaseId:e};await Dn.request("OpenDatabaseByDatabaseId",i)})(s,e,r),await i}catch(e){if(clearTimeout(n),e.response&&e.response.data){const t=e.response.data;if("Database already creating"===t)throw new $t.DatabaseAlreadyOpening;if("Database is owned by user"===t)throw new $t.DatabaseIdNotAllowedForOwnDatabase;if("Database key not found"===t)throw new $t.DatabaseNotFound;switch(t.name){case"SubscriptionPlanNotSet":throw new $t.SubscriptionPlanNotSet;case"SubscriptionNotFound":throw new $t.SubscriptionNotFound;case"SubscribedToIncorrectPlan":throw new $t.SubscribedToIncorrectPlan;case"SubscriptionInactive":throw new $t.SubscriptionInactive(t.subscriptionStatus);case"TrialExpired":throw new $t.TrialExpired}}throw e}}catch(e){throw ri(e),e}},oi=e=>{if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(In(e,"databaseName")){if((e=>{if("string"!=typeof e)throw new $t.DatabaseNameMustBeString;if(0===e.length)throw new $t.DatabaseNameCannotBeBlank;if(e.length>100)throw new $t.DatabaseNameTooLong(100)})(e.databaseName),In(e,"databaseId"))throw new $t.DatabaseIdNotAllowed;if(!e.allowVerifiedUsersDatabase&&"__userbase_verified_users"===e.databaseName)throw new $t.DatabaseNameRestricted("__userbase_verified_users")}else{if(!In(e,"databaseId"))throw new $t.DatabaseNameMissing;(e=>{if("string"!=typeof e)throw new $t.DatabaseIdMustBeString;if(0===e.length)throw new $t.DatabaseIdCannotBeBlank;if(36!==e.length)throw new $t.DatabaseIdInvalidLength(36)})(e.databaseId)}if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn},ci=async e=>{try{if(oi(e),!In(e,"changeHandler"))throw new $t.ChangeHandlerMissing;const{databaseName:t,databaseId:r,changeHandler:n}=e;if("function"!=typeof n)throw new $t.ChangeHandlerMustBeFunction;if(t){const e=Dn.state.dbNameToHash[t]||await Sn.hmac.signString(Dn.keys.hmacKey,t);Dn.state.dbNameToHash[t]=e;const r={dbNameHash:e,newDatabaseParams:await(async e=>{const t=pr()(),r=await Sn.aesGcm.generateKey(),n=await Sn.aesGcm.getKeyStringFromKey(r),[i,a]=await Promise.all([Sn.aesGcm.encryptString(Dn.keys.encryptionKey,n),Sn.aesGcm.encryptString(r,e)]);return{dbId:t,encryptedDbKey:i,encryptedDbName:a,attribution:!0}})(t)};await si(n,r)}else{const e={databaseId:r};await si(n,e)}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseAlreadyOpening":case"DatabaseNameMustBeString":case"DatabaseNameMissing":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIdNotAllowedForOwnDatabase":case"DatabaseNotFound":case"ChangeHandlerMissing":case"ChangeHandlerMustBeFunction":case"UserNotSignedIn":case"UserNotFound":case"SubscriptionPlanNotSet":case"SubscriptionNotFound":case"SubscribedToIncorrectPlan":case"SubscriptionInactive":case"TrialExpired":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},fi=(e,t)=>{const r=Dn.state.dbNameToHash[e],n=e?Dn.state.databases[r]:Dn.state.databasesByDbId[t];if(!n||!n.init)throw new $t.DatabaseNotOpen;return n},ui=async e=>{try{oi(e);const t=fi(e.databaseName,e.databaseId),r="Insert",n=await hi(t,e);await bi(t,r,n)}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"ItemIdMustBeString":case"ItemIdCannotBeBlank":case"ItemIdTooLong":case"ItemMissing":case"ItemInvalid":case"ItemTooLarge":case"ItemAlreadyExists":case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},hi=async(e,t)=>{if(!In(t,"item"))throw new $t.ItemMissing;const{item:r,itemId:n}=t;if(In(t,"itemId")){if("string"!=typeof n)throw new $t.ItemIdMustBeString;if(0===n.length)throw new $t.ItemIdCannotBeBlank;if(n.length>100)throw new $t.ItemIdTooLong(100)}const i=JSON.stringify(r);if(!i)throw new $t.ItemInvalid;if(An(i)>10240)throw new $t.ItemTooLarge(10);const a=n||pr()(),s={id:a,item:r};return{itemKey:await Sn.hmac.signString(Dn.keys.hmacKey,a),encryptedItem:await Sn.aesGcm.encryptJson(e.dbKey,s)}},di=async e=>{try{oi(e);const t=fi(e.databaseName,e.databaseId),r="Update",n=await li(t,e);await bi(t,r,n)}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"ItemIdMissing":case"ItemIdMustBeString":case"ItemIdCannotBeBlank":case"ItemIdTooLong":case"ItemMissing":case"ItemInvalid":case"ItemTooLarge":case"ItemDoesNotExist":case"ItemUpdateConflict":case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},li=async(e,t)=>{if(!In(t,"item"))throw new $t.ItemMissing;if(!In(t,"itemId"))throw new $t.ItemIdMissing;const{item:r,itemId:n}=t;if("string"!=typeof n)throw new $t.ItemIdMustBeString;if(0===n.length)throw new $t.ItemIdCannotBeBlank;if(n.length>100)throw new $t.ItemIdTooLong(100);if(!e.itemExists(n))throw new $t.ItemDoesNotExist;const i=JSON.stringify(r);if(!i)throw new $t.ItemInvalid;if(An(i)>10240)throw new $t.ItemTooLarge(10);const a=await Sn.hmac.signString(Dn.keys.hmacKey,n),s={id:n,item:r,__v:e.getItemVersionNumber(n)+1};return{itemKey:a,encryptedItem:await Sn.aesGcm.encryptJson(e.dbKey,s)}},pi=async(e,t)=>{if(!In(t,"itemId"))throw new $t.ItemIdMissing;const{itemId:r}=t;if("string"!=typeof r)throw new $t.ItemIdMustBeString;if(0===r.length)throw new $t.ItemIdCannotBeBlank;if(r.length>100)throw new $t.ItemIdTooLong(100);if(!e.itemExists(r))throw new $t.ItemDoesNotExist;const n=await Sn.hmac.signString(Dn.keys.hmacKey,r),i={id:r,__v:e.getItemVersionNumber(r)+1};return{itemKey:n,encryptedItem:await Sn.aesGcm.encryptJson(e.dbKey,i)}},bi=async(e,t,r)=>{try{const n=e.registerUnverifiedTransaction(),i=ti(ti({},r),{},{dbId:e.dbId,dbNameHash:e.dbNameHash}),a=(await Dn.request(t,i)).data.sequenceNo;return await n.getResult(a),e.unregisterUnverifiedTransaction(n),a}catch(e){if(ri(e),e.response&&"DatabaseIsReadOnly"===e.response.data.name)throw new $t.DatabaseIsReadOnly;throw e}},mi=async(e,t,r,n,i,a,s,o)=>{const c=await(async e=>{const t=new FileReader;return new Promise((r,n)=>{t.onload=e=>{e.target.error?n(e.target.error):r(e.target.result)},t.readAsArrayBuffer(e)})})(t),[f,u]=await gi(i),h=await Sn.aesGcm.encrypt(f,c),d={dbId:r,chunkNumber:a,fileId:n,chunk:Sr(new Uint8Array(h)),chunkEncryptionKey:Sr(new Uint8Array(u))},l=(async(e,t,r,n)=>{await e,t.bytesTransferred+=n,r&&r(ti({},t))})(Dn.request("UploadFileChunk",d),s,o,t.size);e.push(l),10===e.length&&(await Promise.all(e),e.length=0)},gi=async e=>{const t=await Sn.aesGcm.generateKey(),r=await Sn.aesGcm.getRawKeyFromKey(t);return[t,await Sn.aesGcm.encrypt(e,r)]},yi=async(e,t,r,n)=>{try{const i="GetChunk",a={dbId:e,fileId:t,chunkNumber:r},s=(await Dn.request(i,a)).data,o=new Uint8Array(new Uint16Array(Er(s.chunk))).buffer,c=new Uint8Array(new Uint16Array(Er(s.chunkEncryptionKey))).buffer,f=await Sn.aesGcm.decrypt(n,c),u=await Sn.aesGcm.getKeyFromRawKey(f);return await Sn.aesGcm.decrypt(u,o)}catch(e){throw ri(e),e}},wi=async(e,t,r)=>{const{username:n,senderUsername:i,verificationValues:a}=r,{sentSignature:s,receivedSignature:c,senderEcdsaPublicKey:f}=a,u=t[n]&&t[n].record.fingerprint,h=o.a.decode(f),d=t[i]&&t[i].record.fingerprint||await xi(h),l=await Sn.ecdsa.getPublicKeyFromRawPublicKey(h),p=await ki(e,u),b=await Sn.ecdsa.verifyString(l,s,p),m=await Sn.ecdsa.getPublicKeyFromRawPublicKey(o.a.decode(a.recipientEcdsaPublicKey)),g=await ki(e,d),y=await Sn.ecdsa.verifyString(m,c,g);return b&&y},vi=async(e,t,r,n,i)=>{const{mySentSignature:a,myReceivedSignature:s}=i,c=await ki(e,t),f=await Sn.ecdsa.verifyString(n,s,c);if(!f)return f;const u=await ki(e,r),h=await Sn.ecdsa.getPublicKeyFromRawPublicKey(o.a.decode(i.mySenderEcdsaPublicKey));return await Sn.ecdsa.verifyString(h,a,u)&&f},_i=async(e,t,r,n,i)=>{const{sentSignature:a,receivedSignature:s}=i,c=await ki(e,t),f=await Sn.ecdsa.verifyString(n,a,c);if(!f)return f;const u=await ki(e,r),h=await Sn.ecdsa.getPublicKeyFromRawPublicKey(o.a.decode(i.recipientEcdsaPublicKey)),d=await Sn.ecdsa.verifyString(h,s,u);return f&&d},Mi=async(e,t,r,n,i)=>{const a=await Sn.ecdsa.getPublicKeyFromPrivateKey(Dn.keys.ecdsaPrivateKey),s=await Bi();for(let o=0;o<t.length;o++){const c=t[o],{username:f,isOwner:u,senderUsername:h,verificationValues:d}=c;try{const n=r[f]&&r[f].record.fingerprint,l=d.isChild,p=i===f;if(n)if(l)t[o].verified=await _i(e,n,s,a,d);else if(p){const i=await vi(e,n,s,a,d);if(i&&h){const n=await wi(e,r,c);t[o].verified=n}else t[o].verified=i}else if(u)t[o].verified=u;else{const n=await wi(e,r,c);t[o].verified=n}}catch(e){}delete t[o].senderUsername,u||(d&&d.isChild?t[o].receivedFromUsername=n:h&&(t[o].receivedFromUsername=h)),delete t[o].verificationValues}return t},Si=async(e,t,r,n,i)=>{const{databaseId:a,databaseNameHash:s,isOwner:c,readOnly:f,resharingAllowed:u,senderUsername:h}=e;let d,l;if(e.encryptedDbKey){const r=await Sn.aesGcm.decryptString(t,e.encryptedDbKey);if(d=await Sn.aesGcm.getKeyFromKeyString(r),l=await Sn.aesGcm.decryptString(d,e.databaseName),c&&"__userbase_verified_users"===l)return null}else{if(e.wrappedDbKey)return null;{let n;try{const{ephemeralPublicKey:t,signedEphemeralPublicKey:i,sharedEncryptedDbKey:a}=e;n=o.a.decode(e.senderEcdsaPublicKey);const s=await Sn.ecdsa.getPublicKeyFromRawPublicKey(n);if(!await Sn.ecdsa.verify(s,o.a.decode(i),o.a.decode(t)))throw new $t.ServiceUnavailable;const c=await Sn.ecdh.getPublicKeyFromRawPublicKey(o.a.decode(t)),f=await Sn.ecdh.computeSharedKeyEncryptionKey(c,r),u=await Sn.aesGcm.decryptString(f,a);d=await Sn.aesGcm.getKeyFromKeyString(u),l=await Sn.aesGcm.decryptString(d,e.databaseName)}catch(e){return null}const i=await xi(n),a=await Ai(d,i),c=await Sn.aesGcm.getKeyStringFromKey(d),f="SaveDatabase",u={databaseNameHash:s,encryptedDbKey:await Sn.aesGcm.encryptString(t,c),receivedSignature:a};Dn.request(f,u)}}const p={databaseName:l,databaseId:a,isOwner:c,readOnly:f,resharingAllowed:u},b=await(async(e,t,r,n,i,a)=>{const s=[],o={databaseId:e,databaseNameHash:t};let c=await Dn.request("GetDatabaseUsers",o);for(s.push(...await Mi(r,c.data.users,n,i,a));c.data.nextPageTokenLessThanUserId||c.data.nextPageTokenMoreThanUserId;)o.nextPageTokenLessThanUserId=c.data.nextPageTokenLessThanUserId,o.nextPageTokenMoreThanUserId=c.data.nextPageTokenMoreThanUserId,c=await Dn.request("GetDatabaseUsers",o),s.push(...await Mi(r,c.data.users,n,i,a));return s})(a,s,d,n,i,h);return c||(e=>{for(let t=0;t<e.length;t++){if(e[t].isOwner)return!0}return!1})(b)?(p.users=b,!c&&h&&(p.receivedFromUsername=h),p):null},Ei=async(e,t)=>{let r;try{r=fi(e,t)}catch(n){r=(await(e?Dn.request("GetUserDatabaseByDatabaseNameHash",{dbNameHash:await Sn.hmac.signString(Dn.keys.hmacKey,e)}):Dn.request("GetUserDatabaseByDatabaseId",{databaseId:t}))).data}return r},ki=async(e,t)=>{const r=await Sn.aesGcm.getRawKeyFromKey(e),n=await Sn.sha256.hash(r),i=await Sn.hmac.importKeyFromRawBits(n);return await Sn.hmac.signString(i,t)},Ai=async(e,t)=>{const r=await ki(e,t);return await Sn.ecdsa.signString(Dn.keys.ecdsaPrivateKey,r)},Ii=e=>{if("string"!=typeof e)throw new $t.UsernameMustBeString;if(0===e.length)throw new $t.UsernameCannotBeBlank},Ri=e=>{if(!In(e,"username"))throw new $t.UsernameMissing;if(Ii(e.username),In(e,"readOnly")&&"boolean"!=typeof e.readOnly)throw new $t.ReadOnlyMustBeBoolean;if(In(e,"resharingAllowed")&&"boolean"!=typeof e.resharingAllowed)throw new $t.ResharingAllowedMustBeBoolean;if(In(e,"requireVerified")&&"boolean"!=typeof e.requireVerified)throw new $t.RequireVerifiedMustBeBoolean},xi=async e=>{const t=await Sn.sha256.hash(e);return o.a.encode(t)},Bi=async()=>{const e=await Sn.ecdsa.getPublicKeyFromPrivateKey(Dn.keys.ecdsaPrivateKey),t=await Sn.ecdsa.getRawPublicKeyFromPublicKey(e);return await xi(t)},Pi=async()=>{await ci({databaseName:"__userbase_verified_users",changeHandler:()=>{},allowVerifiedUsersDatabase:!0});const e=Dn.state.dbNameToHash.__userbase_verified_users;return Dn.state.databases[e].items};var Ti={openDatabase:ci,getDatabases:async e=>{try{if(void 0!==e&&oi(e),Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;const{encryptionKey:t,ecdhPrivateKey:r}=Dn.keys,n=Dn.session.username;try{const i=[],a="GetDatabases",s=e&&{databaseId:e.databaseId,dbNameHash:e.databaseName&&await Sn.hmac.signString(Dn.keys.hmacKey,e.databaseName)};let[o,c]=await Promise.all([Dn.request(a,s),Pi()]),f=await Promise.all(o.data.databases.map(e=>Si(e,t,r,c,n)));for(i.push(...f);o.data.nextPageToken;){const e={nextPageToken:o.data.nextPageToken};o=await Dn.request(a,e),f=await Promise.all(o.data.databases.map(e=>Si(e,t,r,c,n))),i.push(...f)}return{databases:i.filter(e=>null!==e)}}catch(e){throw ri(e),e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"UserNotSignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},insertItem:ui,updateItem:di,deleteItem:async e=>{try{oi(e);const t=fi(e.databaseName,e.databaseId),r="Delete",n=await pi(t,e);await bi(t,r,n)}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"ItemIdMissing":case"ItemIdMustBeString":case"ItemIdCannotBeBlank":case"ItemIdTooLong":case"ItemDoesNotExist":case"ItemUpdateConflict":case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},putTransaction:async e=>{try{if(oi(e),!In(e,"operations"))throw new $t.OperationsMissing;const{databaseName:t,databaseId:r,operations:n}=e;if(!Array.isArray(n))throw new $t.OperationsMustBeArray;const i=fi(t,r),a="BatchTransaction",s=await Promise.all(n.map(e=>{const t=e.command;switch(t){case"Insert":return hi(i,e);case"Update":return li(i,e);case"Delete":return pi(i,e);default:throw new $t.CommandNotRecognized(t)}})),o=await Promise.all(s),c={operations:n.map((e,t)=>ti({command:e.command},o[t]))};try{await bi(i,a,c)}catch(e){if(e.response&&"OperationsExceedLimit"===e.response.data.error)throw new $t.OperationsExceedLimit(e.response.data.limit);throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"OperationsMissing":case"OperationsMustBeArray":case"OperationsConflict":case"OperationsExceedLimit":case"CommandNotRecognized":case"ItemIdMissing":case"ItemIdMustBeString":case"ItemIdCannotBeBlank":case"ItemIdTooLong":case"ItemMissing":case"ItemInvalid":case"ItemTooLarge":case"ItemAlreadyExists":case"ItemDoesNotExist":case"ItemUpdateConflict":case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},uploadFile:async e=>{try{(e=>{if(oi(e),In(e,"progressHandler")&&"function"!=typeof e.progressHandler)throw new $t.ProgressHandlerMustBeFunction})(e);const t=fi(e.databaseName,e.databaseId),{dbId:r}=t;try{const{itemKey:n,fileMetadata:i}=await(async(e,t)=>{if(!In(e,"itemId"))throw new $t.ItemIdMissing;if(!In(e,"file"))throw new $t.FileMissing;const{itemId:r,file:n}=e;if("string"!=typeof r)throw new $t.ItemIdMustBeString;if(0===r.length)throw new $t.ItemIdCannotBeBlank;if(r.length>100)throw new $t.ItemIdTooLong(100);if(!t.itemExists(r))throw new $t.ItemDoesNotExist;if(!(n instanceof File))throw new $t.FileMustBeFile;if(0===n.size)throw new $t.FileCannotBeEmpty;const i=await Sn.hmac.signString(Dn.keys.hmacKey,r),a=t.getFileVersionNumber(r);return{itemKey:i,fileMetadata:{itemId:r,__v:void 0===a?0:a+1,fileName:n.name,fileSize:n.size,fileType:n.type}}})(e,t),[a,s]=await gi(t.dbKey),c=await Sn.aesGcm.encryptJson(a,i),{data:{fileId:f}}=await Dn.request("GenerateFileId",{dbId:t.dbId}),u=e.file;let h=0,d=0,l=[];const p={bytesTransferred:0};for(;h<u.size;){const t=u.slice(h,h+524288);await mi(l,t,r,f,a,d,p,e.progressHandler),d+=1,h+=524288}await Promise.all(l),await(async(e,t,r,n,i)=>{const a={dbId:e.dbId,fileId:t,itemKey:r,fileMetadata:n,fileEncryptionKey:o.a.encode(i)};await bi(e,"CompleteFileUpload",a)})(t,f,n,c,s)}catch(e){if(ri(e),e.response&&"DatabaseIsReadOnly"===e.response.data)throw new $t.DatabaseIsReadOnly;throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"ItemIdMissing":case"ItemIdMustBeString":case"ItemIdCannotBeBlank":case"ItemIdTooLong":case"ItemDoesNotExist":case"FileMustBeFile":case"FileCannotBeEmpty":case"FileMissing":case"FileUploadConflict":case"ProgressHandlerMustBeFunction":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},getFile:async e=>{try{(e=>{if(oi(e),!In(e,"fileId"))throw new $t.FileIdMissing;const{fileId:t,range:r}=e;if("string"!=typeof t)throw new $t.FileIdMustBeString;if(0===t.length)throw new $t.FileIdCannotBeBlank;if(t.length>100)throw new $t.FileIdTooLong(100);if(In(e,"range")){if("object"!=typeof r)throw new $t.RangeMustBeObject;if(!In(r,"start"))throw new $t.RangeMissingStart;if(!In(r,"end"))throw new $t.RangeMissingEnd;const{start:e,end:t}=r;if("number"!=typeof e)throw new $t.RangeStartMustBeNumber;if("number"!=typeof t)throw new $t.RangeEndMustBeNumber;if(e<0)throw new $t.RangeStartMustBeGreaterThanZero;if(t<=e)throw new $t.RangeEndMustBeGreaterThanRangeStart}})(e);const t=fi(e.databaseName,e.databaseId),{dbId:r}=t,{fileId:n,range:i}=e,a=t.fileIds[n],s=t.items[a];if(!s||!s.file)throw new $t.FileNotFound;const{file:{fileName:o,fileSize:c,fileType:f,fileEncryptionKey:u}}=s;if(i&&i.end>c)throw new $t.RangeEndMustBeLessThanFileSize;const h=i?await(async(e,t,r,n)=>{const{start:i,end:a}=n,s=[],o=Math.floor(i/524288),c=Math.floor(a/524288)-(a%524288==0?1:0);let f=o;for(;f<=c;){let n=await yi(e,t,f,r);f===o&&f===c&&a%524288?n=n.slice(i%524288,a%524288):f===o?n=n.slice(i%524288):f===c&&a%524288&&(n=n.slice(0,a%524288)),s.push(n),f+=1}return s})(r,n,u,i):await(async(e,t,r,n)=>{const i=[];let a=0;const s=n<524288?0:Math.floor(n/524288)-(n%524288==0?1:0);for(;a<=s;){const n=await yi(e,t,a,r);i.push(n),a+=1}return i})(r,n,u,c);return{file:new File(h,o,{type:f})}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNotOpen":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseIsReadOnly":case"FileIdMissing":case"FileIdMustBeString":case"FileIdCannotBeBlank":case"FileIdTooLong":case"FileNotFound":case"RangeMustBeObject":case"RangeMissingStart":case"RangeMissingEnd":case"RangeStartMustBeNumber":case"RangeEndMustBeNumber":case"RangeStartMustBeGreaterThanZero":case"RangeEndMustBeGreaterThanRangeStart":case"RangeEndMustBeLessThanFileSize":case"UserNotSignedIn":case"UserNotFound":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},shareDatabase:async e=>{try{oi(e),Ri(e);const{databaseName:t,databaseId:r}=e,n=e.username.toLowerCase(),i=!In(e,"readOnly")||e.readOnly,a=!!In(e,"resharingAllowed")&&e.resharingAllowed,s=!In(e,"requireVerified")||e.requireVerified;try{const[e,c]=await Promise.all([dr.getPublicKey(n),s&&Pi()]);if(!e.ecdhPublicKey||!e.ecdsaPublicKey)throw new $t.UserUnableToReceiveDatabase;const f=o.a.decode(e.ecdsaPublicKey),u=await xi(f);s&&await(async(e,t,r)=>{let n,i;const a=Object.keys(r);for(let s=0;s<a.length;s++){const o=a[s],c=r[o].record.fingerprint;if(e===o&&t===c){n=c;break}c===t&&(i=!0)}if(!n&&i)throw new $t.UserMustBeReverified;if(!n)throw new $t.UserNotVerified})(n,u,c);const h=await Sn.ecdsa.getPublicKeyFromRawPublicKey(f),{signedEcdhPublicKey:d,ecdhPublicKey:l}=e;if(!await Sn.ecdsa.verify(h,o.a.decode(d),o.a.decode(l)))throw new $t.ServiceUnavailable;const p=await Sn.ecdh.getPublicKeyFromRawPublicKey(o.a.decode(e.ecdhPublicKey)),b=await Sn.ecdh.generateKeyPair(),m=await Sn.ecdh.getRawPublicKeyFromPublicKey(b.publicKey),g=await Sn.ecdsa.sign(Dn.keys.ecdsaPrivateKey,m),y=await Sn.ecdh.computeSharedKeyEncryptionKey(p,b.privateKey),w=await Ei(t,r);let v;w.dbKey?v=await Sn.aesGcm.getKeyStringFromKey(w.dbKey):(v=await Sn.aesGcm.decryptString(Dn.keys.encryptionKey,w.encryptedDbKey),w.dbKey=await Sn.aesGcm.getKeyFromKeyString(v));const _=await Sn.aesGcm.encryptString(y,v),M="ShareDatabase",S={databaseId:w.dbId,databaseNameHash:w.dbNameHash,username:n,readOnly:i,resharingAllowed:a,sharedEncryptedDbKey:_,ephemeralPublicKey:o.a.encode(m),signedEphemeralPublicKey:o.a.encode(g),sentSignature:await Ai(w.dbKey,u),recipientEcdsaPublicKey:e.ecdsaPublicKey};await Dn.request(M,S)}catch(e){if(ri(e),e.response&&e.response.data)switch(e.response.data.message){case"SharingWithSelfNotAllowed":throw new $t.SharingWithSelfNotAllowed;case"DatabaseNotFound":throw new $t.DatabaseNotFound;case"ResharingNotAllowed":throw new $t.ResharingNotAllowed;case"ResharingWithWriteAccessNotAllowed":throw new $t.ResharingWithWriteAccessNotAllowed;case"UserNotFound":throw new $t.UserNotFound;case"DatabaseAlreadyShared":return}throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseNotFound":case"UsernameMissing":case"UsernameCannotBeBlank":case"UsernameMustBeString":case"ReadOnlyMustBeBoolean":case"ResharingAllowedMustBeBoolean":case"ResharingNotAllowed":case"ResharingWithWriteAccessNotAllowed":case"RequireVerifiedMustBeBoolean":case"SharingWithSelfNotAllowed":case"UserNotSignedIn":case"UserUnableToReceiveDatabase":case"UserNotFound":case"UserNotVerified":case"UserMustBeReverified":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},modifyDatabasePermissions:async e=>{try{if(oi(e),Ri(e),In(e,"revoke")){if("boolean"!=typeof e.revoke)throw new $t.RevokeMustBeBoolean;if(e.revoke){if(In(e,"readOnly"))throw new $t.ReadOnlyParamNotAllowed;if(In(e,"resharingAllowed"))throw new $t.ResharingAllowedParamNotAllowed}}else if(!In(e,"readOnly")&&!In(e,"resharingAllowed"))throw new $t.ParamsMissing;const{databaseName:t,databaseId:r,readOnly:n,resharingAllowed:i,revoke:a}=e,s=e.username.toLowerCase();try{const e=await Ei(t,r),o="ModifyDatabasePermissions",c={databaseId:e.dbId,databaseNameHash:e.dbNameHash,username:s,readOnly:n,resharingAllowed:i,revoke:a};await Dn.request(o,c)}catch(e){if(ri(e),e.response&&e.response.data)switch(e.response.data.message){case"SharingWithSelfNotAllowed":throw new $t.ModifyingOwnPermissionsNotAllowed;case"ModifyingOwnerPermissionsNotAllowed":throw new $t.ModifyingOwnerPermissionsNotAllowed;case"ResharingNotAllowed":throw new $t.ModifyingPermissionsNotAllowed;case"ResharingWithWriteAccessNotAllowed":throw new $t.GrantingWriteAccessNotAllowed;case"DatabaseNotFound":throw new $t.DatabaseNotFound;case"UserNotFound":throw new $t.UserNotFound}throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"ParamsMissing":case"DatabaseNameMissing":case"DatabaseNameMustBeString":case"DatabaseNameCannotBeBlank":case"DatabaseNameTooLong":case"DatabaseNameRestricted":case"DatabaseIdMustBeString":case"DatabaseIdCannotBeBlank":case"DatabaseIdInvalidLength":case"DatabaseIdNotAllowed":case"DatabaseNotFound":case"UsernameMissing":case"UsernameCannotBeBlank":case"UsernameMustBeString":case"ReadOnlyMustBeBoolean":case"ReadOnlyParamNotAllowed":case"ResharingAllowedMustBeBoolean":case"ResharingAllowedParamNotAllowed":case"RevokeMustBeBoolean":case"ModifyingOwnPermissionsNotAllowed":case"ModifyingOwnerPermissionsNotAllowed":case"ModifyingPermissionsNotAllowed":case"GrantingWriteAccessNotAllowed":case"UserNotSignedIn":case"UserNotFound":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},getVerificationMessage:async()=>{try{if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;const e=Dn.session.username,t=await Bi();return{verificationMessage:((e,t)=>btoa(JSON.stringify({username:e,fingerprint:t})))(e,t)}}catch(e){switch(e.name){case"UserNotSignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},verifyUser:async e=>{try{if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;if(!In(e,"verificationMessage"))throw new $t.VerificationMessageMissing;const{verificationMessage:t}=e;if("string"!=typeof t)throw new $t.VerificationMessageMustBeString;if(0===t.length)throw new $t.VerificationMessageCannotBeBlank;const{username:r,fingerprint:n}=(e=>{try{const{username:t,fingerprint:r}=JSON.parse(atob(e));if(Ii(t),!r)throw new $t.VerificationMessageInvalid;return{username:t,fingerprint:r}}catch(e){throw new $t.VerificationMessageInvalid}})(t);if(r===Dn.session.username||n===await Bi())throw new $t.VerifyingSelfNotAllowed;await Pi();const i="__userbase_verified_users",a=!0,s=r,o={fingerprint:n};try{await ui({databaseName:i,itemId:s,item:o,allowVerifiedUsersDatabase:a})}catch(e){if("ItemAlreadyExists"!==e.name)throw e;await di({databaseName:i,itemId:s,item:o,allowVerifiedUsersDatabase:a})}}catch(e){switch(e.name){case"ParamsMustBeObject":case"VerificationMessageMissing":case"VerificationMessageMustBeString":case"VerificationMessageCannotBeBlank":case"VerificationMessageInvalid":case"VerifyingSelfNotAllowed":case"UserNotSignedIn":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}}};const Ni=e=>{if(e.response){if(e.response.status===m)throw new $t.InternalServerError;if(e.response.status===y)throw new $t.Timeout}else if(e.message&&e.message.includes("timeout"))throw new $t.Timeout},Di=e=>{if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;const t=Dn.userData.stripeData;if(!t.stripeAccountId)throw new $t.StripeAccountNotConnected;if("disabled"===t.paymentsMode)throw new $t.PaymentsDisabled;if(!In(window,"Stripe"))throw new $t.StripeJsLibraryMissing;if("object"!=typeof e)throw new $t.ParamsMustBeObject;if(!In(e,"successUrl"))throw new $t.SuccessUrlMissing;if("string"!=typeof e.successUrl)throw new $t.SuccessUrlMustBeString;const r=En(e.successUrl);if("http"!==r&&"https"!==r){const e=!0;throw new $t.SuccessUrlInvalid(e)}if(!In(e,"cancelUrl"))throw new $t.CancelUrlMissing;if("string"!=typeof e.cancelUrl)throw new $t.CancelUrlMustBeString;const n=En(e.cancelUrl);if("http"!==n&&"https"!==n){const e=!0;throw new $t.CancelUrlInvalid(e)}},Oi=()=>{if(Dn.reconnecting)throw new $t.Reconnecting;if(!Dn.keys.init)throw new $t.UserNotSignedIn;const e=Dn.userData.stripeData;if(!e.stripeAccountId)throw new $t.StripeAccountNotConnected;if("disabled"===e.paymentsMode)throw new $t.PaymentsDisabled;if("canceled"===e.subscriptionStatus)throw new $t.SubscriptionAlreadyCanceled};var Ui={purchaseSubscription:async e=>{try{const t=Dn.userData.stripeData;if(t.subscriptionStatus&&"canceled"!==t.subscriptionStatus)throw new $t.SubscriptionPlanAlreadyPurchased;Di(e);try{const r="PurchaseSubscription",n=(await Dn.request(r,e)).data,i=cr("prod"===t.paymentsMode),a=await window.Stripe(i,{stripeAccount:t.stripeAccountId}).redirectToCheckout({sessionId:n});if(a.error)throw a.error}catch(e){if(Ni(e),e.response){if("SubscriptionPlanNotSet"===e.response.data)throw new $t.SubscriptionPlanNotSet;if("SubscriptionPlanAlreadyPurchased"===e.response.data)throw new $t.SubscriptionPlanAlreadyPurchased;if("SuccessUrlInvalid"===e.response.data)throw new $t.SuccessUrlInvalid;if("CancelUrlInvalid"===e.response.data)throw new $t.CancelUrlInvalid;if(e.response.data&&"StripeError"===e.response.data.name)throw new $t.StripeError(e.response.data)}throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"SuccessUrlMissing":case"SuccessUrlMustBeString":case"SuccessUrlInvalid":case"CancelUrlMissing":case"CancelUrlMustBeString":case"CancelUrlInvalid":case"StripeError":case"StripeJsLibraryMissing":case"SubscriptionPlanNotSet":case"SubscriptionPlanAlreadyPurchased":case"StripeAccountNotConnected":case"PaymentsDisabled":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},cancelSubscription:async()=>{try{Oi();try{const e="CancelSubscription",t=(await Dn.request(e)).data;return Dn.userData.stripeData.cancelAt=t,{cancelSubscriptionAt:t}}catch(e){if(Ni(e),e.response&&"SubscriptionPlanNotSet"===e.response.data)throw new $t.SubscriptionPlanNotSet;throw e}}catch(e){switch(e.name){case"SubscriptionPlanNotSet":case"StripeAccountNotConnected":case"PaymentsDisabled":case"SubscriptionAlreadyCanceled":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},resumeSubscription:async()=>{try{Oi();try{const e="ResumeSubscription";await Dn.request(e),delete Dn.userData.stripeData.cancelAt}catch(e){if(Ni(e),e.response&&"SubscriptionPlanNotSet"===e.response.data)throw new $t.SubscriptionPlanNotSet;throw e}}catch(e){switch(e.name){case"SubscriptionPlanNotSet":case"StripeAccountNotConnected":case"PaymentsDisabled":case"SubscriptionAlreadyCanceled":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}},updatePaymentMethod:async e=>{try{Di(e);const t=Dn.userData.stripeData;if(!t.subscriptionStatus)throw new $t.SubscriptionNotPurchased;try{const r="UpdatePaymentMethod",n=(await Dn.request(r,e)).data,i=cr("prod"===t.paymentsMode),a=await window.Stripe(i,{stripeAccount:t.stripeAccountId}).redirectToCheckout({sessionId:n});if(a.error)throw a.error}catch(e){if(Ni(e),e.response){if("SuccessUrlInvalid"===e.response.data)throw new $t.SuccessUrlInvalid;if("CancelUrlInvalid"===e.response.data)throw new $t.CancelUrlInvalid}throw e}}catch(e){switch(e.name){case"ParamsMustBeObject":case"SuccessUrlMissing":case"SuccessUrlMustBeString":case"SuccessUrlInvalid":case"CancelUrlMissing":case"CancelUrlMustBeString":case"CancelUrlInvalid":case"StripeJsLibraryMissing":case"SubscriptionNotPurchased":case"StripeAccountNotConnected":case"PaymentsDisabled":case"UserNotSignedIn":case"TooManyRequests":case"ServiceUnavailable":throw e;default:throw new $t.UnknownServiceUnavailable(e)}}}},Ci={init:Xn.init,signUp:Xn.signUp,signIn:Xn.signIn,signOut:Xn.signOut,updateUser:Xn.updateUser,deleteUser:Xn.deleteUser,forgotPassword:Xn.forgotPassword,openDatabase:Ti.openDatabase,insertItem:Ti.insertItem,updateItem:Ti.updateItem,deleteItem:Ti.deleteItem,putTransaction:Ti.putTransaction,uploadFile:Ti.uploadFile,getFile:Ti.getFile,getDatabases:Ti.getDatabases,shareDatabase:Ti.shareDatabase,modifyDatabasePermissions:Ti.modifyDatabasePermissions,getVerificationMessage:Ti.getVerificationMessage,verifyUser:Ti.verifyUser,purchaseSubscription:Ui.purchaseSubscription,cancelSubscription:Ui.cancelSubscription,resumeSubscription:Ui.resumeSubscription,updatePaymentMethod:Ui.updatePaymentMethod},ji=r(114),Li=r.n(ji),qi=r(54),Ki=r.n(qi),Fi=r(115),zi=r.n(Fi);function Hi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Vi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Hi(Object(r),!0).forEach((function(t){i()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Hi(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}let Wi={},Gi={},Ji={};class Yi{constructor(e,t=100){this.db=new window.sqlJs.Database(e),this.appliedSqlStatementIndex=0,this.registeredSqlStatements={},this.numSqlStatementsTriggerBundle=t}isFull(){return this.appliedSqlStatementIndex===this.numSqlStatementsTriggerBundle}registerUnverifiedSqlStatement(e){const t=this;return new Promise((r,n)=>{t.registeredSqlStatements[e]={resolve:r,reject:n,timeout:setTimeout(()=>{n(new Error("timeout")),delete t.registeredSqlStatements[e]},3e4)}})}verifyPromise(e,t){const r=this.registeredSqlStatements[e];if(!r)return;const{resolve:n,reject:i,timeout:a}=r;t.success?n():i(t.error),clearTimeout(a),delete this.registeredSqlStatements[e]}}const Zi=e=>{let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t},Xi=async e=>{const t=new FileReader;return new Promise((r,n)=>{t.onload=e=>{e.target.error?n(e.target.error):r(e.target.result)},t.readAsArrayBuffer(e)})},Qi=e=>{const t=e.split("_");return Number(t[t.length-2])},$i=(e,t)=>{const r=t.lastIndexOf("_");return"__userbase_sql_js_"+e+"_100_"+(Number(t.substring(r+1))+1)},ea=async(e,t,r,n)=>{if(n&&!e.isFull())return void console.warn("Cannot allow writes to next database until current is full");const i=$i(t,r),a=Ji[i]||new Yi(e.db.export());a.opened||(n&&(Ji[i]=a),await Ci.openDatabase({databaseName:i,changeHandler:n?e=>na(e,a,t,i):()=>{}}))},ta=async(e,t,r)=>{const n=e.db.export(),i=Ki.a.compressToUint8Array((e=>{const t=new Uint8Array(e),r=t.length;let n="",i=10240;for(var a=0;a<r;a+=i){a+i>r&&(i=r-a);const e=t.subarray(a,a+i);n+=String.fromCharCode.apply(null,e)}return n})(n)),a="__userbase_sql_js_"+t+"_bundle_tracker";let s,o;for(let e=0;e<Wi[a].length&&!s;e++){const t=Wi[a][e];s=t.itemId===r,s&&(o=t.fileName)}try{s||await Ci.insertItem({databaseName:a,itemId:r,item:"BUNDLE"})}catch(e){if("ItemAlreadyExists"!==e.name)return}if(!o)try{const e="bundle.txt";await Ci.uploadFile({databaseName:a,itemId:r,file:new File([i],e)})}catch(e){"FileUploadConflict"!==e.name&&console.warn("Failed to bundle sql.js database with ",e)}},ra=(e,t)=>{if("object"!=typeof t)return{error:"Unknown Object"};try{e.run("PRAGMA query_only = false;"),e.run("BEGIN TRANSACTION;");const r=t.sqlStatements||[Vi({},t)];for(let t=0;t<r.length;t++){const{sql:n,bindValues:i}=r[t];try{e.run(n,i),console.log(n,i)}catch(e){throw console.warn("Failed to apply SQL statement:\n    ".concat(n,"\n    ").concat(JSON.stringify(i),"\n\n"),e),e}}return e.run("COMMIT;"),{success:!0}}catch(t){return e.run("ROLLBACK;"),{error:t}}finally{e.run("PRAGMA query_only = true;")}},na=(e,t,r,n,i)=>{let a,s=t.appliedSqlStatementIndex;for(;s<e.length&&s<t.numSqlStatementsTriggerBundle;s++){const r=e[s],n=r.item,i=ra(t.db,n);t.verifyPromise(r.itemId,i),a=!0}for(t.appliedSqlStatementIndex=s,s<=t.numSqlStatementsTriggerBundle&&(Gi[r]=Vi(Vi({},Gi[r]),{},{currentDatabaseName:n,sqlJsDb:t}),(i&&!t.opened||a)&&(Gi[r].changeHandler({db:new window.sqlJs.Database(t.db.export())}),t.opened=!0)),t.isFull()?(ta(t,r,n),ea(t,r,n,!0)):s>10&&ea(t,r,n,!1);s<e.length;s++)t.verifyPromise(e[s].itemId,{error:"DatabaseFull"})},ia=async()=>{const e=await fetch("https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.3.0/dist/sql-wasm.wasm",{integrity:"sha256-554pjdF4JmRsLOxZd/GaluNXtEoxucq8385FZPKV9Bs="}),t=await e.blob(),r=URL.createObjectURL(t);window.sqlJs=await Li()({locateFile:()=>r})},aa=async(e,t,r)=>(await ea(e,t.databaseName,r,!0),sa(t)),sa=async e=>{const{sql:t,bindValues:r,sqlStatements:n}=e,i=Gi[e.databaseName],{currentDatabaseName:a,sqlJsDb:s}=i;if(s.isFull())return aa(s,e,a);const o=zi()(),c=s.registerUnverifiedSqlStatement(o);await Ci.insertItem({databaseName:a,itemId:o,item:{sql:t,bindValues:r,sqlStatements:n}});try{await c}catch(t){if("DatabaseFull"===t)return aa(s,e,a);throw t}};t.default=Vi(Vi({},Ci),{},{init:async e=>(window.sqlJs||ia(),Ci.init(e)),signOut:()=>(Wi={},Gi={},Ji={},Ci.signOut()),openDatabase:e=>{if(e&&"string"==typeof e.databaseName&&0===e.databaseName.indexOf("__userbase_sql_js_"))throw"Cannot open sql.js database with openDatabase";return Ci.openDatabase(e)},openSqlJsDatabase:async e=>{const{databaseName:t,changeHandler:r}=e;if(Gi[t]=Vi(Vi({},Gi[t]),{},{changeHandler:r}),Gi[t].sqlJsDb&&Gi[t].sqlJsDb.opened)return void Gi[t].changeHandler({db:new window.sqlJs.Database(Gi[t].sqlJsDb.db.export())});window.sqlJs||await ia();const{sqlJsDb:n,startingDatabaseName:i}=await(async e=>{const t="__userbase_sql_js_"+e+"_bundle_tracker";await Ci.openDatabase({databaseName:t,changeHandler:e=>{Wi[t]=e}});const r=Wi[t]||[];for(let n=r.length-1;n>=0;n--){const i=r[n],{itemId:a,fileId:s}=i;if(s){const r=(await Ci.getFile({databaseName:t,fileId:s})).file,n=await Xi(r),i=new Uint8Array(Zi(Ki.a.decompressFromUint8Array(new Uint8Array(n)))),o=a,c=Qi(o);return{sqlJsDb:new Yi(i,c),startingDatabaseName:$i(e,o)}}}return{sqlJsDb:new Yi,startingDatabaseName:(n=e,"__userbase_sql_js_"+n+"_100_0")};var n})(t);await Ci.openDatabase({databaseName:i,changeHandler:e=>na(e,n,t,i,!0)})},execSql:sa})}]).default;
  //# sourceMappingURL=userbase.js.map