From ff635551436123022ba3980b39580d53973c80a2 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 24 Jun 2023 06:02:16 -0700 Subject: Rewrite Bun's runtime CommonJS loader (#3379) * wip changes for CommonJS * this rewrite is almost complete * even more code * wip * Remove usages of `import.meta.require` from builtins * Remove usages of require * Regenerate * :scissors: builtin rewrite commonjs in printer * Use lazy custom getters for import.meta * fixups * Remove depd * ugh * still crashing * fixup undici * comment out import.meta.require.resolve temporarily not a real solution but it stops the crashes * Redo import.meta.primordials * Builtins now have a `builtin://` protocol in source origin * Seems to work? * Finsih getting rid of primordials * switcharoo * No more function * just one more bug * Update launch.json * Implement `require.main` * :scissors: * Bump WebKit * Fixup import cycles * Fixup improt cycles * export more things * Implement `createCommonJSModule` builtin * More exports * regenerate * i broke some stuff * some of these tests work now * We lost the encoding * Sort of fix zlib * Sort of fix util * Update events.js * bump * bump * bump * Fix missing export in fs * fix some bugs with builtin esm modules (stream, worker_threads, events). its not perfect yet. * fix some other internal module bugs * oops * fix some extra require default stuff * uncomment this file but it crsahes on my machine * tidy code here * fixup tls exports * make simdutf happier * Add hasPrefix binding * Add test for `require.main` * Fix CommonJS evaluation order race condition * Make node:http load faster * Add missing exports to tls.js * Use the getter * Regenerate builtins * Fix assertion failure in Bun.write() * revamp dotEnv parser (#3347) - fixes `strings.indexOfAny()` - fixes OOB array access fixes #411 fixes #2823 fixes #3042 * fix tests for `expect()` (#3384) - extend test job time-out for `darwin-aarch64` * `expect().resolves` and `expect().rejects` (#3318) * Move expect and snapshots to their own files * expect().resolves and expect().rejects * Fix promise being added to unhandled rejection list * Handle timeouts in expect() * wip merge * Fix merge issue --------- Co-authored-by: Jarred Sumner Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> * fixup min/memcopy (#3388) * Fix crash in builtins * Don't attempt to evaluate modules with no source code * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Fix crash * cleanup * Fix test cc @paperdave * Fixup Undici * Fix issue in node:http * Create util-deprecate.mjs * Fix several bugs * Use the identifier * Support error.code in `util.deprecate` * make the CJs loader slightly more resilient * Update WebCoreJSBuiltins.cpp * Fix macros --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: dave caruso Co-authored-by: Alex Lam S.L Co-authored-by: Ashcon Partovi Co-authored-by: Ciro Spaciari --- bench/snippets/util-deprecate.mjs | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 bench/snippets/util-deprecate.mjs (limited to 'bench/snippets') diff --git a/bench/snippets/util-deprecate.mjs b/bench/snippets/util-deprecate.mjs new file mode 100644 index 000000000..364601d79 --- /dev/null +++ b/bench/snippets/util-deprecate.mjs @@ -0,0 +1,60 @@ +import { bench, run } from "./runner.mjs"; +function deprecateUsingClosure(fn, msg, code) { + if (process.noDeprecation === true) { + return fn; + } + + var realFn = fn; + var wrapper = () => { + return fnToWrap.apply(this, arguments); + }; + + var deprecater = () => { + if (process.throwDeprecation) { + var err = new Error(msg); + if (code) err.code = code; + throw err; + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + + fnToWrap = realFn; + return realFn.apply(this, arguments); + }; + var fnToWrap = deprecater; + + return wrapper; +} + +function deprecateOriginal(fn, msg) { + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + return deprecated; +} + +const deprecatedy = deprecateUsingClosure(() => {}, "This is deprecated", "DEP0001"); +const deprecatedy2 = deprecateOriginal(() => {}, "This is deprecated"); + +bench("deprecateUsingClosure", () => { + deprecatedy(Math.random() + 1); +}); + +bench("deprecateOriginal", () => { + deprecatedy2(Math.random() + 1); +}); + +await run(); -- cgit v1.2.3 From 16598555f137112a3df2da5d8f2ee8edb496484f Mon Sep 17 00:00:00 2001 From: Silas Rech Date: Tue, 27 Jun 2023 00:35:48 +0200 Subject: `.randomInt()` support (#3357) * Add initial .randomInt() fallback * Add basic .randomInt() test * Attempt creating a native implementation * Switch to JSC.wrapWithHasContainer * Switch to .jsNumberFromUint64(), it seems like using just .jsNumber() causes the number to overflow in some cases * Regenerate out folder after rebasing --- bench/snippets/crypto.mjs | 4 ++++ src/bun.js/bindings/JSSinkLookupTable.h | 2 +- src/bun.js/bindings/bindings.zig | 1 + src/bun.js/webcore.zig | 20 ++++++++++++++++++++ src/js/node/crypto.js | 2 ++ src/js/out/modules/node/crypto.js | 8 ++++---- test/js/node/crypto/node-crypto.test.js | 21 +++++++++++++++++++++ 7 files changed, 53 insertions(+), 5 deletions(-) (limited to 'bench/snippets') diff --git a/bench/snippets/crypto.mjs b/bench/snippets/crypto.mjs index b0b992a0f..e8e6f2f8a 100644 --- a/bench/snippets/crypto.mjs +++ b/bench/snippets/crypto.mjs @@ -22,4 +22,8 @@ bench("crypto.randomUUID()", () => { return crypto.randomUUID()[2]; }); +bench("crypto.randomInt()", () => { + return crypto.randomInt(); +}); + await run(); diff --git a/src/bun.js/bindings/JSSinkLookupTable.h b/src/bun.js/bindings/JSSinkLookupTable.h index e4ed81629..f8518bc5e 100644 --- a/src/bun.js/bindings/JSSinkLookupTable.h +++ b/src/bun.js/bindings/JSSinkLookupTable.h @@ -1,4 +1,4 @@ -// Automatically generated from src/bun.js/bindings/JSSink.cpp using /home/cirospaciari/Repos/bun/src/bun.js/WebKit/Source/JavaScriptCore/create_hash_table. DO NOT EDIT! +// Automatically generated from src/bun.js/bindings/JSSink.cpp using /Users/silas/Workspace/opensource/bun/src/bun.js/WebKit/Source/JavaScriptCore/create_hash_table. DO NOT EDIT! diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig index 00833c71d..2b800ab8b 100644 --- a/src/bun.js/bindings/bindings.zig +++ b/src/bun.js/bindings/bindings.zig @@ -5568,6 +5568,7 @@ pub const __DOMCall__reader_u64 = @import("../api/bun.zig").FFI.Reader.Class.fun pub const __DOMCall__reader_intptr = @import("../api/bun.zig").FFI.Reader.Class.functionDefinitions.intptr; pub const __Crypto_getRandomValues = @import("../webcore.zig").Crypto.Class.functionDefinitions.getRandomValues; pub const __Crypto_randomUUID = @import("../webcore.zig").Crypto.Class.functionDefinitions.randomUUID; +pub const __Crypto_randomInt = @import("../webcore.zig").Crypto.Class.functionDefinitions.randomInt; pub const __Crypto_timingSafeEqual = @import("../webcore.zig").Crypto.Class.functionDefinitions.timingSafeEqual; pub const DOMCalls = .{ @import("../api/bun.zig").FFI, diff --git a/src/bun.js/webcore.zig b/src/bun.js/webcore.zig index a5009e09e..fd69b0262 100644 --- a/src/bun.js/webcore.zig +++ b/src/bun.js/webcore.zig @@ -10,6 +10,7 @@ const std = @import("std"); const bun = @import("root").bun; const string = bun.string; pub const AbortSignal = @import("./bindings/bindings.zig").AbortSignal; +pub const JSValue = @import("./bindings/bindings.zig").JSValue; pub const Lifetime = enum { clone, @@ -374,6 +375,7 @@ pub const Crypto = struct { .getRandomValues = JSC.DOMCall("Crypto", @This(), "getRandomValues", JSC.JSValue, JSC.DOMEffect.top), .randomUUID = JSC.DOMCall("Crypto", @This(), "randomUUID", *JSC.JSString, JSC.DOMEffect.top), .timingSafeEqual = JSC.DOMCall("Crypto", @This(), "timingSafeEqual", JSC.JSValue, JSC.DOMEffect.top), + .randomInt = .{ .rfn = &JSC.wrapWithHasContainer(Crypto, "randomInt", false, false, false) }, .scryptSync = .{ .rfn = &JSC.wrapWithHasContainer(Crypto, "scryptSync", false, false, false) }, }, .{}, @@ -698,6 +700,24 @@ pub const Crypto = struct { return JSC.ZigString.init(&out).toValueGC(globalThis); } + pub fn randomInt(globalThis: *JSC.JSGlobalObject, min_value: ?JSValue, max_value: ?JSValue) JSValue { + _ = globalThis; + + var at_least: u52 = 0; + var at_most: u52 = std.math.maxInt(u52); + + if (min_value) |min| { + if (max_value) |max| { + if (min.isNumber()) at_least = min.to(u52); + if (max.isNumber()) at_most = max.to(u52); + } else { + if (min.isNumber()) at_most = min.to(u52); + } + } + + return JSValue.jsNumberFromUint64(std.crypto.random.intRangeAtMost(u52, at_least, at_most)); + } + pub fn randomUUIDWithoutTypeChecks( globalThis: *JSC.JSGlobalObject, _: *anyopaque, diff --git a/src/js/node/crypto.js b/src/js/node/crypto.js index 3791bdcd9..c6968bbd5 100644 --- a/src/js/node/crypto.js +++ b/src/js/node/crypto.js @@ -23752,6 +23752,7 @@ var crypto_exports = { var DEFAULT_ENCODING = "buffer", getRandomValues = array => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), + randomInt = (...args) => crypto.randomInt(...args), timingSafeEqual = "timingSafeEqual" in crypto ? (a, b) => { @@ -23806,6 +23807,7 @@ __export(crypto_exports, { DEFAULT_ENCODING: () => DEFAULT_ENCODING, getRandomValues: () => getRandomValues, randomUUID: () => randomUUID, + randomInt: () => randomInt, scrypt: () => scrypt, scryptSync: () => scryptSync, timingSafeEqual: () => timingSafeEqual, diff --git a/src/js/out/modules/node/crypto.js b/src/js/out/modules/node/crypto.js index 85d647a59..9db837693 100644 --- a/src/js/out/modules/node/crypto.js +++ b/src/js/out/modules/node/crypto.js @@ -1,4 +1,4 @@ -import{StringDecoder as a$} from"node:string_decoder";import*as e$ from"node:buffer";import*as h$ from"node:stream";var s$=Object.defineProperty;var t$=Object.getOwnPropertyNames;var r$=536870888,c$=globalThis.Buffer,d$=globalThis.crypto,i$=d$;var $Q=(X,K)=>function(){return K||(0,X[t$(X)[0]])((K={exports:{}}).exports,K),K.exports},QQ=(X,K)=>{for(var x0 in K)s$(X,x0,{get:K[x0],enumerable:!0})};var YQ=$Q({"node_modules/safe-buffer/index.js"(X,K){var x0=e$,G=x0.Buffer;function Y(Z,Q){for(var U in Z)Q[U]=Z[U]}G.from&&G.alloc&&G.allocUnsafe&&G.allocUnsafeSlow?K.exports=x0:(Y(x0,X),X.Buffer=$);function $(Z,Q,U){return G(Z,Q,U)}$.prototype=Object.create(G.prototype),Y(G,$),$.from=function(Z,Q,U){if(typeof Z=="number")throw new TypeError("Argument must not be a number");return G(Z,Q,U)},$.alloc=function(Z,Q,U){if(typeof Z!="number")throw new TypeError("Argument must be a number");var V=G(Z);return Q!==void 0?typeof U=="string"?V.fill(Q,U):V.fill(Q):V.fill(0),V},$.allocUnsafe=function(Z){if(typeof Z!="number")throw new TypeError("Argument must be a number");return G(Z)},$.allocUnsafeSlow=function(Z){if(typeof Z!="number")throw new TypeError("Argument must be a number");return x0.SlowBuffer(Z)}}}),ZQ=$Q({"node_modules/randombytes/browser.js"(X,K){var x0=65536,G=4294967295;function Y(){throw new Error(`Secure random number generation is not supported by this browser. -Use Chrome, Firefox or Internet Explorer 11`)}var $=YQ().Buffer,Z=i$;Z&&Z.getRandomValues?K.exports=Q:K.exports=Y;function Q(U,V){if(U>G)throw new RangeError("requested too many random bytes");var B0=$.allocUnsafe(U);if(U>0)if(U>x0)for(var H=0;H=this._blockSize;){for(var B0=this._blockOffset;B00;++H)this._length[H]+=y0,y0=this._length[H]/4294967296|0,y0>0&&(this._length[H]-=4294967296*y0);return this},$.prototype._update=function(){throw new Error("_update is not implemented")},$.prototype.digest=function(Z){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var Q=this._digest();Z!==void 0&&(Q=Q.toString(Z)),this._block.fill(0),this._blockOffset=0;for(var U=0;U<4;++U)this._length[U]=0;return Q},$.prototype._digest=function(){throw new Error("_digest is not implemented")},K.exports=$}}),I0=$Q({"node_modules/md5.js/index.js"(X,K){var x0=X0(),G=K0(),Y=YQ().Buffer,$=new Array(16);function Z(){G.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}x0(Z,G),Z.prototype._update=function(){for(var y0=$,W=0;W<16;++W)y0[W]=this._block.readInt32LE(W*4);var w0=this._a,E=this._b,p0=this._c,T=this._d;w0=U(w0,E,p0,T,y0[0],3614090360,7),T=U(T,w0,E,p0,y0[1],3905402710,12),p0=U(p0,T,w0,E,y0[2],606105819,17),E=U(E,p0,T,w0,y0[3],3250441966,22),w0=U(w0,E,p0,T,y0[4],4118548399,7),T=U(T,w0,E,p0,y0[5],1200080426,12),p0=U(p0,T,w0,E,y0[6],2821735955,17),E=U(E,p0,T,w0,y0[7],4249261313,22),w0=U(w0,E,p0,T,y0[8],1770035416,7),T=U(T,w0,E,p0,y0[9],2336552879,12),p0=U(p0,T,w0,E,y0[10],4294925233,17),E=U(E,p0,T,w0,y0[11],2304563134,22),w0=U(w0,E,p0,T,y0[12],1804603682,7),T=U(T,w0,E,p0,y0[13],4254626195,12),p0=U(p0,T,w0,E,y0[14],2792965006,17),E=U(E,p0,T,w0,y0[15],1236535329,22),w0=V(w0,E,p0,T,y0[1],4129170786,5),T=V(T,w0,E,p0,y0[6],3225465664,9),p0=V(p0,T,w0,E,y0[11],643717713,14),E=V(E,p0,T,w0,y0[0],3921069994,20),w0=V(w0,E,p0,T,y0[5],3593408605,5),T=V(T,w0,E,p0,y0[10],38016083,9),p0=V(p0,T,w0,E,y0[15],3634488961,14),E=V(E,p0,T,w0,y0[4],3889429448,20),w0=V(w0,E,p0,T,y0[9],568446438,5),T=V(T,w0,E,p0,y0[14],3275163606,9),p0=V(p0,T,w0,E,y0[3],4107603335,14),E=V(E,p0,T,w0,y0[8],1163531501,20),w0=V(w0,E,p0,T,y0[13],2850285829,5),T=V(T,w0,E,p0,y0[2],4243563512,9),p0=V(p0,T,w0,E,y0[7],1735328473,14),E=V(E,p0,T,w0,y0[12],2368359562,20),w0=B0(w0,E,p0,T,y0[5],4294588738,4),T=B0(T,w0,E,p0,y0[8],2272392833,11),p0=B0(p0,T,w0,E,y0[11],1839030562,16),E=B0(E,p0,T,w0,y0[14],4259657740,23),w0=B0(w0,E,p0,T,y0[1],2763975236,4),T=B0(T,w0,E,p0,y0[4],1272893353,11),p0=B0(p0,T,w0,E,y0[7],4139469664,16),E=B0(E,p0,T,w0,y0[10],3200236656,23),w0=B0(w0,E,p0,T,y0[13],681279174,4),T=B0(T,w0,E,p0,y0[0],3936430074,11),p0=B0(p0,T,w0,E,y0[3],3572445317,16),E=B0(E,p0,T,w0,y0[6],76029189,23),w0=B0(w0,E,p0,T,y0[9],3654602809,4),T=B0(T,w0,E,p0,y0[12],3873151461,11),p0=B0(p0,T,w0,E,y0[15],530742520,16),E=B0(E,p0,T,w0,y0[2],3299628645,23),w0=H(w0,E,p0,T,y0[0],4096336452,6),T=H(T,w0,E,p0,y0[7],1126891415,10),p0=H(p0,T,w0,E,y0[14],2878612391,15),E=H(E,p0,T,w0,y0[5],4237533241,21),w0=H(w0,E,p0,T,y0[12],1700485571,6),T=H(T,w0,E,p0,y0[3],2399980690,10),p0=H(p0,T,w0,E,y0[10],4293915773,15),E=H(E,p0,T,w0,y0[1],2240044497,21),w0=H(w0,E,p0,T,y0[8],1873313359,6),T=H(T,w0,E,p0,y0[15],4264355552,10),p0=H(p0,T,w0,E,y0[6],2734768916,15),E=H(E,p0,T,w0,y0[13],1309151649,21),w0=H(w0,E,p0,T,y0[4],4149444226,6),T=H(T,w0,E,p0,y0[11],3174756917,10),p0=H(p0,T,w0,E,y0[2],718787259,15),E=H(E,p0,T,w0,y0[9],3951481745,21),this._a=this._a+w0|0,this._b=this._b+E|0,this._c=this._c+p0|0,this._d=this._d+T|0},Z.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 y0=Y.allocUnsafe(16);return y0.writeInt32LE(this._a,0),y0.writeInt32LE(this._b,4),y0.writeInt32LE(this._c,8),y0.writeInt32LE(this._d,12),y0};function Q(y0,W){return y0<>>32-W}function U(y0,W,w0,E,p0,T,f0){return Q(y0+(W&w0|~W&E)+p0+T|0,f0)+W|0}function V(y0,W,w0,E,p0,T,f0){return Q(y0+(W&E|w0&~E)+p0+T|0,f0)+W|0}function B0(y0,W,w0,E,p0,T,f0){return Q(y0+(W^w0^E)+p0+T|0,f0)+W|0}function H(y0,W,w0,E,p0,T,f0){return Q(y0+(w0^(W|~E))+p0+T|0,f0)+W|0}K.exports=Z}}),O0=$Q({"node_modules/ripemd160/index.js"(X,K){var x0=c$,G=X0(),Y=K0(),$=new Array(16),Z=[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],Q=[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],U=[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],V=[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],B0=[0,1518500249,1859775393,2400959708,2840853838],H=[1352829926,1548603684,1836072691,2053994217,0];function y0(){Y.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}G(y0,Y),y0.prototype._update=function(){for(var D=$,c0=0;c0<16;++c0)D[c0]=this._block.readInt32LE(c0*4);for(var C=this._a|0,h0=this._b|0,L=this._c|0,d0=this._d|0,R=this._e|0,b0=this._a|0,P=this._b|0,l0=this._c|0,z=this._d|0,o0=this._e|0,M=0;M<80;M+=1){var u0,S;M<16?(u0=w0(C,h0,L,d0,R,D[Z[M]],B0[0],U[M]),S=f0(b0,P,l0,z,o0,D[Q[M]],H[0],V[M])):M<32?(u0=E(C,h0,L,d0,R,D[Z[M]],B0[1],U[M]),S=T(b0,P,l0,z,o0,D[Q[M]],H[1],V[M])):M<48?(u0=p0(C,h0,L,d0,R,D[Z[M]],B0[2],U[M]),S=p0(b0,P,l0,z,o0,D[Q[M]],H[2],V[M])):M<64?(u0=T(C,h0,L,d0,R,D[Z[M]],B0[3],U[M]),S=E(b0,P,l0,z,o0,D[Q[M]],H[3],V[M])):(u0=f0(C,h0,L,d0,R,D[Z[M]],B0[4],U[M]),S=w0(b0,P,l0,z,o0,D[Q[M]],H[4],V[M])),C=R,R=d0,d0=W(L,10),L=h0,h0=u0,b0=o0,o0=z,z=W(l0,10),l0=P,P=S}var n0=this._b+L+z|0;this._b=this._c+d0+o0|0,this._c=this._d+R+b0|0,this._d=this._e+C+P|0,this._e=this._a+h0+l0|0,this._a=n0},y0.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 D=x0.alloc?x0.alloc(20):new x0(20);return D.writeInt32LE(this._a,0),D.writeInt32LE(this._b,4),D.writeInt32LE(this._c,8),D.writeInt32LE(this._d,12),D.writeInt32LE(this._e,16),D};function W(D,c0){return D<>>32-c0}function w0(D,c0,C,h0,L,d0,R,b0){return W(D+(c0^C^h0)+d0+R|0,b0)+L|0}function E(D,c0,C,h0,L,d0,R,b0){return W(D+(c0&C|~c0&h0)+d0+R|0,b0)+L|0}function p0(D,c0,C,h0,L,d0,R,b0){return W(D+((c0|~C)^h0)+d0+R|0,b0)+L|0}function T(D,c0,C,h0,L,d0,R,b0){return W(D+(c0&h0|C&~h0)+d0+R|0,b0)+L|0}function f0(D,c0,C,h0,L,d0,R,b0){return W(D+(c0^(C|~h0))+d0+R|0,b0)+L|0}K.exports=y0}}),J0=$Q({"node_modules/sha.js/hash.js"(X,K){var x0=YQ().Buffer;function G(Y,$){this._block=x0.alloc(Y),this._finalSize=$,this._blockSize=Y,this._len=0}G.prototype.update=function(Y,$){typeof Y=="string"&&($=$||"utf8",Y=x0.from(Y,$));for(var Z=this._block,Q=this._blockSize,U=Y.length,V=this._len,B0=0;B0=this._finalSize&&(this._update(this._block),this._block.fill(0));var Z=this._len*8;if(Z<=4294967295)this._block.writeUInt32BE(Z,this._blockSize-4);else{var Q=(Z&4294967295)>>>0,U=(Z-Q)/4294967296;this._block.writeUInt32BE(U,this._blockSize-8),this._block.writeUInt32BE(Q,this._blockSize-4)}this._update(this._block);var V=this._hash();return Y?V.toString(Y):V},G.prototype._update=function(){throw new Error("_update must be implemented by subclass")},K.exports=G}}),F0=$Q({"node_modules/sha.js/sha.js"(X,K){var x0=X0(),G=J0(),Y=YQ().Buffer,$=[1518500249,1859775393,-1894007588,-899497514],Z=new Array(80);function Q(){this.init(),this._w=Z,G.call(this,64,56)}x0(Q,G),Q.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function U(H){return H<<5|H>>>27}function V(H){return H<<30|H>>>2}function B0(H,y0,W,w0){return H===0?y0&W|~y0&w0:H===2?y0&W|y0&w0|W&w0:y0^W^w0}Q.prototype._update=function(H){for(var y0=this._w,W=this._a|0,w0=this._b|0,E=this._c|0,p0=this._d|0,T=this._e|0,f0=0;f0<16;++f0)y0[f0]=H.readInt32BE(f0*4);for(;f0<80;++f0)y0[f0]=y0[f0-3]^y0[f0-8]^y0[f0-14]^y0[f0-16];for(var D=0;D<80;++D){var c0=~~(D/20),C=U(W)+B0(c0,w0,E,p0)+T+y0[D]+$[c0]|0;T=p0,p0=E,E=V(w0),w0=W,W=C}this._a=W+this._a|0,this._b=w0+this._b|0,this._c=E+this._c|0,this._d=p0+this._d|0,this._e=T+this._e|0},Q.prototype._hash=function(){var H=Y.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},K.exports=Q}}),A0=$Q({"node_modules/sha.js/sha1.js"(X,K){var x0=X0(),G=J0(),Y=YQ().Buffer,$=[1518500249,1859775393,-1894007588,-899497514],Z=new Array(80);function Q(){this.init(),this._w=Z,G.call(this,64,56)}x0(Q,G),Q.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function U(y0){return y0<<1|y0>>>31}function V(y0){return y0<<5|y0>>>27}function B0(y0){return y0<<30|y0>>>2}function H(y0,W,w0,E){return y0===0?W&w0|~W&E:y0===2?W&w0|W&E|w0&E:W^w0^E}Q.prototype._update=function(y0){for(var W=this._w,w0=this._a|0,E=this._b|0,p0=this._c|0,T=this._d|0,f0=this._e|0,D=0;D<16;++D)W[D]=y0.readInt32BE(D*4);for(;D<80;++D)W[D]=U(W[D-3]^W[D-8]^W[D-14]^W[D-16]);for(var c0=0;c0<80;++c0){var C=~~(c0/20),h0=V(w0)+H(C,E,p0,T)+f0+W[c0]+$[C]|0;f0=T,T=p0,p0=B0(E),E=w0,w0=h0}this._a=w0+this._a|0,this._b=E+this._b|0,this._c=p0+this._c|0,this._d=T+this._d|0,this._e=f0+this._e|0},Q.prototype._hash=function(){var y0=Y.allocUnsafe(20);return y0.writeInt32BE(this._a|0,0),y0.writeInt32BE(this._b|0,4),y0.writeInt32BE(this._c|0,8),y0.writeInt32BE(this._d|0,12),y0.writeInt32BE(this._e|0,16),y0},K.exports=Q}}),H0=$Q({"node_modules/sha.js/sha256.js"(X,K){var x0=X0(),G=J0(),Y=YQ().Buffer,$=[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],Z=new Array(64);function Q(){this.init(),this._w=Z,G.call(this,64,56)}x0(Q,G),Q.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};function U(w0,E,p0){return p0^w0&(E^p0)}function V(w0,E,p0){return w0&E|p0&(w0|E)}function B0(w0){return(w0>>>2|w0<<30)^(w0>>>13|w0<<19)^(w0>>>22|w0<<10)}function H(w0){return(w0>>>6|w0<<26)^(w0>>>11|w0<<21)^(w0>>>25|w0<<7)}function y0(w0){return(w0>>>7|w0<<25)^(w0>>>18|w0<<14)^w0>>>3}function W(w0){return(w0>>>17|w0<<15)^(w0>>>19|w0<<13)^w0>>>10}Q.prototype._update=function(w0){for(var E=this._w,p0=this._a|0,T=this._b|0,f0=this._c|0,D=this._d|0,c0=this._e|0,C=this._f|0,h0=this._g|0,L=this._h|0,d0=0;d0<16;++d0)E[d0]=w0.readInt32BE(d0*4);for(;d0<64;++d0)E[d0]=W(E[d0-2])+E[d0-7]+y0(E[d0-15])+E[d0-16]|0;for(var R=0;R<64;++R){var b0=L+H(c0)+U(c0,C,h0)+$[R]+E[R]|0,P=B0(p0)+V(p0,T,f0)|0;L=h0,h0=C,C=c0,c0=D+b0|0,D=f0,f0=T,T=p0,p0=b0+P|0}this._a=p0+this._a|0,this._b=T+this._b|0,this._c=f0+this._c|0,this._d=D+this._d|0,this._e=c0+this._e|0,this._f=C+this._f|0,this._g=h0+this._g|0,this._h=L+this._h|0},Q.prototype._hash=function(){var w0=Y.allocUnsafe(32);return w0.writeInt32BE(this._a,0),w0.writeInt32BE(this._b,4),w0.writeInt32BE(this._c,8),w0.writeInt32BE(this._d,12),w0.writeInt32BE(this._e,16),w0.writeInt32BE(this._f,20),w0.writeInt32BE(this._g,24),w0.writeInt32BE(this._h,28),w0},K.exports=Q}}),W0=$Q({"node_modules/sha.js/sha224.js"(X,K){var x0=X0(),G=H0(),Y=J0(),$=YQ().Buffer,Z=new Array(64);function Q(){this.init(),this._w=Z,Y.call(this,64,56)}x0(Q,G),Q.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},Q.prototype._hash=function(){var U=$.allocUnsafe(28);return U.writeInt32BE(this._a,0),U.writeInt32BE(this._b,4),U.writeInt32BE(this._c,8),U.writeInt32BE(this._d,12),U.writeInt32BE(this._e,16),U.writeInt32BE(this._f,20),U.writeInt32BE(this._g,24),U},K.exports=Q}}),E0=$Q({"node_modules/sha.js/sha512.js"(X,K){var x0=X0(),G=J0(),Y=YQ().Buffer,$=[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],Z=new Array(160);function Q(){this.init(),this._w=Z,G.call(this,128,112)}x0(Q,G),Q.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};function U(T,f0,D){return D^T&(f0^D)}function V(T,f0,D){return T&f0|D&(T|f0)}function B0(T,f0){return(T>>>28|f0<<4)^(f0>>>2|T<<30)^(f0>>>7|T<<25)}function H(T,f0){return(T>>>14|f0<<18)^(T>>>18|f0<<14)^(f0>>>9|T<<23)}function y0(T,f0){return(T>>>1|f0<<31)^(T>>>8|f0<<24)^T>>>7}function W(T,f0){return(T>>>1|f0<<31)^(T>>>8|f0<<24)^(T>>>7|f0<<25)}function w0(T,f0){return(T>>>19|f0<<13)^(f0>>>29|T<<3)^T>>>6}function E(T,f0){return(T>>>19|f0<<13)^(f0>>>29|T<<3)^(T>>>6|f0<<26)}function p0(T,f0){return T>>>0>>0?1:0}Q.prototype._update=function(T){for(var f0=this._w,D=this._ah|0,c0=this._bh|0,C=this._ch|0,h0=this._dh|0,L=this._eh|0,d0=this._fh|0,R=this._gh|0,b0=this._hh|0,P=this._al|0,l0=this._bl|0,z=this._cl|0,o0=this._dl|0,M=this._el|0,u0=this._fl|0,S=this._gl|0,n0=this._hl|0,v=0;v<32;v+=2)f0[v]=T.readInt32BE(v*4),f0[v+1]=T.readInt32BE(v*4+4);for(;v<160;v+=2){var s0=f0[v-30],I=f0[v-30+1],t0=y0(s0,I),m0=W(I,s0);s0=f0[v-4],I=f0[v-4+1];var a0=w0(s0,I),q=E(I,s0),e0=f0[v-14],r0=f0[v-14+1],i0=f0[v-32],j=f0[v-32+1],$$=m0+r0|0,k=t0+e0+p0($$,m0)|0;$$=$$+q|0,k=k+a0+p0($$,q)|0,$$=$$+j|0,k=k+i0+p0($$,j)|0,f0[v]=k,f0[v+1]=$$}for(var Q$=0;Q$<160;Q$+=2){k=f0[Q$],$$=f0[Q$+1];var g=V(D,c0,C),Y$=V(P,l0,z),_=B0(D,P),Z$=B0(P,D),N=H(L,M),G$=H(M,L),x=$[Q$],V$=$[Q$+1],B=U(L,d0,R),U$=U(M,u0,S),y=n0+G$|0,X$=b0+N+p0(y,n0)|0;y=y+U$|0,X$=X$+B+p0(y,U$)|0,y=y+V$|0,X$=X$+x+p0(y,V$)|0,y=y+$$|0,X$=X$+k+p0(y,$$)|0;var w=Z$+Y$|0,K$=_+g+p0(w,Z$)|0;b0=R,n0=S,R=d0,S=u0,d0=L,u0=M,M=o0+y|0,L=h0+X$+p0(M,o0)|0,h0=C,o0=z,C=c0,z=l0,c0=D,l0=P,P=y+w|0,D=X$+K$+p0(P,y)|0}this._al=this._al+P|0,this._bl=this._bl+l0|0,this._cl=this._cl+z|0,this._dl=this._dl+o0|0,this._el=this._el+M|0,this._fl=this._fl+u0|0,this._gl=this._gl+S|0,this._hl=this._hl+n0|0,this._ah=this._ah+D+p0(this._al,P)|0,this._bh=this._bh+c0+p0(this._bl,l0)|0,this._ch=this._ch+C+p0(this._cl,z)|0,this._dh=this._dh+h0+p0(this._dl,o0)|0,this._eh=this._eh+L+p0(this._el,M)|0,this._fh=this._fh+d0+p0(this._fl,u0)|0,this._gh=this._gh+R+p0(this._gl,S)|0,this._hh=this._hh+b0+p0(this._hl,n0)|0},Q.prototype._hash=function(){var T=Y.allocUnsafe(64);function f0(D,c0,C){T.writeInt32BE(D,C),T.writeInt32BE(c0,C+4)}return f0(this._ah,this._al,0),f0(this._bh,this._bl,8),f0(this._ch,this._cl,16),f0(this._dh,this._dl,24),f0(this._eh,this._el,32),f0(this._fh,this._fl,40),f0(this._gh,this._gl,48),f0(this._hh,this._hl,56),T},K.exports=Q}}),T0=$Q({"node_modules/sha.js/sha384.js"(X,K){var x0=X0(),G=E0(),Y=J0(),$=YQ().Buffer,Z=new Array(160);function Q(){this.init(),this._w=Z,Y.call(this,128,112)}x0(Q,G),Q.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},Q.prototype._hash=function(){var U=$.allocUnsafe(48);function V(B0,H,y0){U.writeInt32BE(B0,y0),U.writeInt32BE(H,y0+4)}return V(this._ah,this._al,0),V(this._bh,this._bl,8),V(this._ch,this._cl,16),V(this._dh,this._dl,24),V(this._eh,this._el,32),V(this._fh,this._fl,40),U},K.exports=Q}}),D0=$Q({"node_modules/sha.js/index.js"(x0,K){var x0=K.exports=function(G){G=G.toLowerCase();var Y=x0[G];if(!Y)throw new Error(G+" is not supported (we accept pull requests)");return new Y};x0.sha=F0(),x0.sha1=A0(),x0.sha224=W0(),x0.sha256=H0(),x0.sha384=T0(),x0.sha512=E0()}}),C0=$Q({"node_modules/cipher-base/index.js"(X,K){var x0=YQ().Buffer,G=X0();function Y($){h$.Transform.call(this),this.hashMode=typeof $=="string",this.hashMode?this[$]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}G(Y,h$.Transform),Y.prototype.update=function($,Z,Q){typeof $=="string"&&($=x0.from($,Z));var U=this._update($);return this.hashMode?this:(Q&&(U=this._toString(U,Q)),U)},Y.prototype.setAutoPadding=function(){},Y.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},Y.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},Y.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},Y.prototype._transform=function($,Z,Q){var U;try{this.hashMode?this._update($):this.push(this._update($))}catch(V){U=V}finally{Q(U)}},Y.prototype._flush=function($){var Z;try{this.push(this.__final())}catch(Q){Z=Q}$(Z)},Y.prototype._finalOrDigest=function($){var Z=this.__final()||x0.alloc(0);return $&&(Z=this._toString(Z,$,!0)),Z},Y.prototype._toString=function($,Z,Q){if(this._decoder||(this._decoder=new a$(Z),this._encoding=Z),this._encoding!==Z)throw new Error("can't switch encodings");var U=this._decoder.write($);return Q&&(U+=this._decoder.end()),U},K.exports=Y}}),L0=$Q({"node_modules/create-hash/browser.js"(X,K){const x0=function $(Z,Q){this._options=Q,this._hasher=new sY(Z,Q),this._finalized=!1};x0.prototype=Object.create(h$.Transform.prototype),x0.prototype.update=function $(Z,Q){return this._checkFinalized(),this._hasher.update(Z,Q),this},x0.prototype.digest=function $(Z,Q){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(Z,Q)},x0.prototype._checkFinalized=function $(){if(this._finalized){var Z=new Error("Digest already called");throw Z.code="ERR_CRYPTO_HASH_FINALIZED",Z}},x0.prototype.copy=function $(){const Z=Object.create(x0.prototype);return Z._options=this._options,Z._hasher=this._hasher.copy(),Z._finalized=this._finalized,Z};const G={__proto__:h$.Transform.prototype,...x0.prototype,_transform($,Z,Q){this.update($,Z),Q&&Q()},_flush($){this.push(this.digest()),$()}},Y=["_events","_eventsCount","_final","_maxListeners","_maxListeners","_read","_undestroy","_writableState","_write","_writev","addListener","asIndexedPairs","closed","compose","constructor","cork","destroy","destroyed","drop","emit","end","errored","eventNames","every","filter","find","flatMap","forEach","getMaxListeners","hasOwnProperty","isPaused","isPrototypeOf","iterator","listenerCount","listeners","map","off","on","once","pause","pipe","prependListener","prependOnceListener","propertyIsEnumerable","push","rawListeners","read","readable","readableAborted","readableBuffer","readableDidRead","readableEncoding","readableEnded","readableFlowing","readableHighWaterMark","readableLength","readableObjectMode","reduce","removeAllListeners","removeListener","resume","setDefaultEncoding","setEncoding","setMaxListeners","some","take","toArray","toLocaleString","toString","uncork","unpipe","unshift","valueOf","wrap","writable","writableBuffer","writableCorked","writableEnded","writableFinished","writableHighWaterMark","writableLength","writableNeedDrain","writableObjectMode","write"];for(let $ of Y)Object.defineProperty(x0.prototype,$,{get(){return Object.setPrototypeOf(this,G),h$.Transform.call(this,this._options),this[$]},enumerable:!1,configurable:!0});K.exports=function $(Z){return new x0(Z)},K.exports.createHash=K.exports,K.exports.Hash=x0}}),R0=$Q({"node_modules/create-hmac/legacy.js"(X,K){var x0=X0(),G=YQ().Buffer,Y=C0(),$=G.alloc(128),Z=64;function Q(U,V){Y.call(this,"digest"),typeof V=="string"&&(V=G.from(V)),this._alg=U,this._key=V,V.length>Z?V=U(V):V.lengthW){var w0=H==="rmd160"?new Q:U(H);y0=w0.update(y0).digest()}else y0.lengthx0||Y!==Y)throw new TypeError("Bad key length")}}}),q0=$Q({"node_modules/pbkdf2/lib/default-encoding.js"(X,K){var x0;global.process&&global.process.browser?x0="utf-8":global.process&&global.process.version?(G=parseInt(process.version.split(".")[0].slice(1),10),x0=G>=6?"utf-8":"binary"):x0="utf-8";var G;K.exports=x0}}),j0=$Q({"node_modules/pbkdf2/lib/to-buffer.js"(X,K){var x0=YQ().Buffer;K.exports=function(G,Y,$){if(x0.isBuffer(G))return G;if(typeof G=="string")return x0.from(G,Y);if(ArrayBuffer.isView(G))return x0.from(G.buffer);throw new TypeError($+" must be a string, a Buffer, a typed array or a DataView")}}}),k0=$Q({"node_modules/pbkdf2/lib/sync-browser.js"(X,K){var x0=P0(),G=O0(),Y=D0(),$=YQ().Buffer,Z=v0(),Q=q0(),U=j0(),V=$.alloc(128),B0={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function H(w0,E,p0){var T=y0(w0),f0=w0==="sha512"||w0==="sha384"?128:64;E.length>f0?E=T(E):E.length>>0},X.writeUInt32BE=function(Y,$,Z){Y[0+Z]=$>>>24,Y[1+Z]=$>>>16&255,Y[2+Z]=$>>>8&255,Y[3+Z]=$&255},X.ip=function(Y,$,Z,Q){for(var U=0,V=0,B0=6;B0>=0;B0-=2){for(var H=0;H<=24;H+=8)U<<=1,U|=$>>>H+B0&1;for(var H=0;H<=24;H+=8)U<<=1,U|=Y>>>H+B0&1}for(var B0=6;B0>=0;B0-=2){for(var H=1;H<=25;H+=8)V<<=1,V|=$>>>H+B0&1;for(var H=1;H<=25;H+=8)V<<=1,V|=Y>>>H+B0&1}Z[Q+0]=U>>>0,Z[Q+1]=V>>>0},X.rip=function(Y,$,Z,Q){for(var U=0,V=0,B0=0;B0<4;B0++)for(var H=24;H>=0;H-=8)U<<=1,U|=$>>>H+B0&1,U<<=1,U|=Y>>>H+B0&1;for(var B0=4;B0<8;B0++)for(var H=24;H>=0;H-=8)V<<=1,V|=$>>>H+B0&1,V<<=1,V|=Y>>>H+B0&1;Z[Q+0]=U>>>0,Z[Q+1]=V>>>0},X.pc1=function(Y,$,Z,Q){for(var U=0,V=0,B0=7;B0>=5;B0--){for(var H=0;H<=24;H+=8)U<<=1,U|=$>>H+B0&1;for(var H=0;H<=24;H+=8)U<<=1,U|=Y>>H+B0&1}for(var H=0;H<=24;H+=8)U<<=1,U|=$>>H+B0&1;for(var B0=1;B0<=3;B0++){for(var H=0;H<=24;H+=8)V<<=1,V|=$>>H+B0&1;for(var H=0;H<=24;H+=8)V<<=1,V|=Y>>H+B0&1}for(var H=0;H<=24;H+=8)V<<=1,V|=Y>>H+B0&1;Z[Q+0]=U>>>0,Z[Q+1]=V>>>0},X.r28shl=function(Y,$){return Y<<$&268435455|Y>>>28-$};var K=[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];X.pc2=function(Y,$,Z,Q){for(var U=0,V=0,B0=K.length>>>1,H=0;H>>K[H]&1;for(var H=B0;H>>K[H]&1;Z[Q+0]=U>>>0,Z[Q+1]=V>>>0},X.expand=function(Y,$,Z){var Q=0,U=0;Q=(Y&1)<<5|Y>>>27;for(var V=23;V>=15;V-=4)Q<<=6,Q|=Y>>>V&63;for(var V=11;V>=3;V-=4)U|=Y>>>V&63,U<<=6;U|=(Y&31)<<1|Y>>>31,$[Z+0]=Q>>>0,$[Z+1]=U>>>0};var x0=[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];X.substitute=function(Y,$){for(var Z=0,Q=0;Q<4;Q++){var U=Y>>>18-Q*6&63,V=x0[Q*64+U];Z<<=4,Z|=V}for(var Q=0;Q<4;Q++){var U=$>>>18-Q*6&63,V=x0[256+Q*64+U];Z<<=4,Z|=V}return Z>>>0};var G=[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];X.permute=function(Y){for(var $=0,Z=0;Z>>G[Z]&1;return $>>>0},X.padSplit=function(Y,$,Z){for(var Q=Y.toString(2);Q.length<$;)Q="0"+Q;for(var U=[],V=0;V<$;V+=Z)U.push(Q.slice(V,V+Z));return U.join(" ")}}}),N0=$Q({"node_modules/minimalistic-assert/index.js"(X,K){K.exports=x0;function x0(G,Y){if(!G)throw new Error(Y||"Assertion failed")}x0.equal=function(G,Y,$){if(G!=Y)throw new Error($||"Assertion failed: "+G+" != "+Y)}}}),VQ=$Q({"node_modules/des.js/lib/des/cipher.js"(X,K){var x0=N0();function G(Y){this.options=Y,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}K.exports=G,G.prototype._init=function(){},G.prototype.update=function(Y){return Y.length===0?[]:this.type==="decrypt"?this._updateDecrypt(Y):this._updateEncrypt(Y)},G.prototype._buffer=function(Y,$){for(var Z=Math.min(this.buffer.length-this.bufferOff,Y.length-$),Q=0;Q0;Q--)$+=this._buffer(Y,$),Z+=this._flushBuffer(U,Z);return $+=this._buffer(Y,$),U},G.prototype.final=function(Y){var $;Y&&($=this.update(Y));var Z;return this.type==="encrypt"?Z=this._finalEncrypt():Z=this._finalDecrypt(),$?$.concat(Z):Z},G.prototype._pad=function(Y,$){if($===0)return!1;for(;$>>1];H=Y.r28shl(H,w0),y0=Y.r28shl(y0,w0),Y.pc2(H,y0,V.keys,W)}},Q.prototype._update=function(V,B0,H,y0){var W=this._desState,w0=Y.readUInt32BE(V,B0),E=Y.readUInt32BE(V,B0+4);Y.ip(w0,E,W.tmp,0),w0=W.tmp[0],E=W.tmp[1],this.type==="encrypt"?this._encrypt(W,w0,E,W.tmp,0):this._decrypt(W,w0,E,W.tmp,0),w0=W.tmp[0],E=W.tmp[1],Y.writeUInt32BE(H,w0,y0),Y.writeUInt32BE(H,E,y0+4)},Q.prototype._pad=function(V,B0){for(var H=V.length-B0,y0=B0;y0>>0,w0=C}Y.rip(E,w0,y0,W)},Q.prototype._decrypt=function(V,B0,H,y0,W){for(var w0=H,E=B0,p0=V.keys.length-2;p0>=0;p0-=2){var T=V.keys[p0],f0=V.keys[p0+1];Y.expand(w0,V.tmp,0),T^=V.tmp[0],f0^=V.tmp[1];var D=Y.substitute(T,f0),c0=Y.permute(D),C=w0;w0=(E^c0)>>>0,E=C}Y.rip(w0,E,y0,W)}}}),XQ=$Q({"node_modules/des.js/lib/des/cbc.js"(X){var K=N0(),x0=X0(),G={};function Y(Z){K.equal(Z.length,8,"Invalid IV length"),this.iv=new Array(8);for(var Q=0;Q>U%8,Y._prev=G(Y._prev,Z?H:y0);return B0}function G(Y,$){var Z=Y.length,Q=-1,U=K.allocUnsafe(Y.length);for(Y=K.concat([Y,K.from([$])]);++Q>7;return U}X.encrypt=function(Y,$,Z){for(var Q=$.length,U=K.allocUnsafe(Q),V=-1;++V>>24]^E[D>>>16&255]^p0[c0>>>8&255]^T[C&255]^B0[b0++],L=w0[D>>>24]^E[c0>>>16&255]^p0[C>>>8&255]^T[f0&255]^B0[b0++],d0=w0[c0>>>24]^E[C>>>16&255]^p0[f0>>>8&255]^T[D&255]^B0[b0++],R=w0[C>>>24]^E[f0>>>16&255]^p0[D>>>8&255]^T[c0&255]^B0[b0++],f0=h0,D=L,c0=d0,C=R;return h0=(y0[f0>>>24]<<24|y0[D>>>16&255]<<16|y0[c0>>>8&255]<<8|y0[C&255])^B0[b0++],L=(y0[D>>>24]<<24|y0[c0>>>16&255]<<16|y0[C>>>8&255]<<8|y0[f0&255])^B0[b0++],d0=(y0[c0>>>24]<<24|y0[C>>>16&255]<<16|y0[f0>>>8&255]<<8|y0[D&255])^B0[b0++],R=(y0[C>>>24]<<24|y0[f0>>>16&255]<<16|y0[D>>>8&255]<<8|y0[c0&255])^B0[b0++],h0=h0>>>0,L=L>>>0,d0=d0>>>0,R=R>>>0,[h0,L,d0,R]}var Z=[0,1,2,4,8,16,32,64,128,27,54],Q=function(){for(var V=new Array(256),B0=0;B0<256;B0++)B0<128?V[B0]=B0<<1:V[B0]=B0<<1^283;for(var H=[],y0=[],W=[[],[],[],[]],w0=[[],[],[],[]],E=0,p0=0,T=0;T<256;++T){var f0=p0^p0<<1^p0<<2^p0<<3^p0<<4;f0=f0>>>8^f0&255^99,H[E]=f0,y0[f0]=E;var D=V[E],c0=V[D],C=V[c0],h0=V[f0]*257^f0*16843008;W[0][E]=h0<<24|h0>>>8,W[1][E]=h0<<16|h0>>>16,W[2][E]=h0<<8|h0>>>24,W[3][E]=h0,h0=C*16843009^c0*65537^D*257^E*16843008,w0[0][f0]=h0<<24|h0>>>8,w0[1][f0]=h0<<16|h0>>>16,w0[2][f0]=h0<<8|h0>>>24,w0[3][f0]=h0,E===0?E=p0=1:(E=D^V[V[V[C^D]]],p0^=V[V[p0]])}return{SBOX:H,INV_SBOX:y0,SUB_MIX:W,INV_SUB_MIX:w0}}();function U(V){this._key=G(V),this._reset()}U.blockSize=16,U.keySize=32,U.prototype.blockSize=U.blockSize,U.prototype.keySize=U.keySize,U.prototype._reset=function(){for(var V=this._key,B0=V.length,H=B0+6,y0=(H+1)*4,W=[],w0=0;w0>>24,E=Q.SBOX[E>>>24]<<24|Q.SBOX[E>>>16&255]<<16|Q.SBOX[E>>>8&255]<<8|Q.SBOX[E&255],E^=Z[w0/B0|0]<<24):B0>6&&w0%B0===4&&(E=Q.SBOX[E>>>24]<<24|Q.SBOX[E>>>16&255]<<16|Q.SBOX[E>>>8&255]<<8|Q.SBOX[E&255]),W[w0]=W[w0-B0]^E}for(var p0=[],T=0;T>>24]]^Q.INV_SUB_MIX[1][Q.SBOX[D>>>16&255]]^Q.INV_SUB_MIX[2][Q.SBOX[D>>>8&255]]^Q.INV_SUB_MIX[3][Q.SBOX[D&255]]}this._nRounds=H,this._keySchedule=W,this._invKeySchedule=p0},U.prototype.encryptBlockRaw=function(V){return V=G(V),$(V,this._keySchedule,Q.SUB_MIX,Q.SBOX,this._nRounds)},U.prototype.encryptBlock=function(V){var B0=this.encryptBlockRaw(V),H=x0.allocUnsafe(16);return H.writeUInt32BE(B0[0],0),H.writeUInt32BE(B0[1],4),H.writeUInt32BE(B0[2],8),H.writeUInt32BE(B0[3],12),H},U.prototype.decryptBlock=function(V){V=G(V);var B0=V[1];V[1]=V[3],V[3]=B0;var H=$(V,this._invKeySchedule,Q.INV_SUB_MIX,Q.INV_SBOX,this._nRounds),y0=x0.allocUnsafe(16);return y0.writeUInt32BE(H[0],0),y0.writeUInt32BE(H[3],4),y0.writeUInt32BE(H[2],8),y0.writeUInt32BE(H[1],12),y0},U.prototype.scrub=function(){Y(this._keySchedule),Y(this._invKeySchedule),Y(this._key)},K.exports.AES=U}}),PQ=$Q({"node_modules/browserify-aes/ghash.js"(X,K){var x0=YQ().Buffer,G=x0.alloc(16,0);function Y(Q){return[Q.readUInt32BE(0),Q.readUInt32BE(4),Q.readUInt32BE(8),Q.readUInt32BE(12)]}function $(Q){var U=x0.allocUnsafe(16);return U.writeUInt32BE(Q[0]>>>0,0),U.writeUInt32BE(Q[1]>>>0,4),U.writeUInt32BE(Q[2]>>>0,8),U.writeUInt32BE(Q[3]>>>0,12),U}function Z(Q){this.h=Q,this.state=x0.alloc(16,0),this.cache=x0.allocUnsafe(0)}Z.prototype.ghash=function(Q){for(var U=-1;++U0;V--)Q[V]=Q[V]>>>1|(Q[V-1]&1)<<31;Q[0]=Q[0]>>>1,H&&(Q[0]=Q[0]^225<<24)}this.state=$(U)},Z.prototype.update=function(Q){this.cache=x0.concat([this.cache,Q]);for(var U;this.cache.length>=16;)U=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(U)},Z.prototype.final=function(Q,U){return this.cache.length&&this.ghash(x0.concat([this.cache,G],16)),this.ghash($([0,Q,0,U])),this.state},K.exports=Z}}),zQ=$Q({"node_modules/browserify-aes/authCipher.js"(X,K){var x0=RQ(),G=YQ().Buffer,Y=C0(),$=X0(),Z=PQ(),Q=FQ(),U=DQ();function V(y0,W){var w0=0;y0.length!==W.length&&w0++;for(var E=Math.min(y0.length,W.length),p0=0;p00||U>0;){var W=new G;W.update(y0),W.update($),Z&&W.update(Z),y0=W.digest();var w0=0;if(V>0){var E=B0.length-V;w0=Math.min(V,y0.length),y0.copy(B0,E,0,w0),V-=w0}if(w00){var p0=H.length-U,T=Math.min(U,y0.length-w0);y0.copy(H,p0,w0,w0+T),U-=T}}return y0.fill(0),{key:B0,iv:H}}K.exports=Y}}),vQ=$Q({"node_modules/browserify-aes/encrypter.js"(X){var K=LQ(),x0=zQ(),G=YQ().Buffer,Y=MQ(),$=C0(),Z=RQ(),Q=SQ(),U=X0();function V(w0,E,p0){$.call(this),this._cache=new H,this._cipher=new Z.AES(E),this._prev=G.from(p0),this._mode=w0,this._autopadding=!0}U(V,$),V.prototype._update=function(w0){this._cache.add(w0);for(var E,p0,T=[];E=this._cache.get();)p0=this._mode.encrypt(this,E),T.push(p0);return G.concat(T)};var B0=G.alloc(16,16);V.prototype._final=function(){var w0=this._cache.flush();if(this._autopadding)return w0=this._mode.encrypt(this,w0),this._cipher.scrub(),w0;if(!w0.equals(B0))throw this._cipher.scrub(),new Error("data not multiple of block length")},V.prototype.setAutoPadding=function(w0){return this._autopadding=!!w0,this};function H(){this.cache=G.allocUnsafe(0)}H.prototype.add=function(w0){this.cache=G.concat([this.cache,w0])},H.prototype.get=function(){if(this.cache.length>15){var w0=this.cache.slice(0,16);return this.cache=this.cache.slice(16),w0}return null},H.prototype.flush=function(){for(var w0=16-this.cache.length,E=G.allocUnsafe(w0),p0=-1;++p016)return E=this.cache.slice(0,16),this.cache=this.cache.slice(16),E}else if(this.cache.length>=16)return E=this.cache.slice(0,16),this.cache=this.cache.slice(16),E;return null},B0.prototype.flush=function(){if(this.cache.length)return this.cache};function H(w0){var E=w0[15];if(E<1||E>16)throw new Error("unable to decrypt data");for(var p0=-1;++p00?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),_Q=$Q({"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js"(X,K){(function(x0,G){function Y(l0,z){if(!l0)throw new Error(z||"Assertion failed")}function $(l0,z){l0.super_=z;var o0=function(){};o0.prototype=z.prototype,l0.prototype=new o0,l0.prototype.constructor=l0}function Z(l0,z,o0){if(Z.isBN(l0))return l0;this.negative=0,this.words=null,this.length=0,this.red=null,l0!==null&&((z==="le"||z==="be")&&(o0=z,z=10),this._init(l0||0,z||10,o0||"be"))}typeof x0=="object"?x0.exports=Z:G.BN=Z,Z.BN=Z,Z.wordSize=26;var Q=c$;Z.isBN=function(l0){return l0 instanceof Z?!0:l0!==null&&typeof l0=="object"&&l0.constructor.wordSize===Z.wordSize&&Array.isArray(l0.words)},Z.max=function(l0,z){return l0.cmp(z)>0?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),NQ=$Q({"(disabled):node_modules/crypto-browserify/index.js"(){}}),xQ=$Q({"node_modules/brorand/index.js"(X,K){var x0;K.exports=function(Y){return x0||(x0=new G(null)),x0.generate(Y)};function G(Y){this.rand=Y}K.exports.Rand=G,G.prototype.generate=function(Y){return this._rand(Y)},G.prototype._rand=function(Y){var $=new c$(Y);return d$.getRandomValues($),$}}}),BQ=$Q({"node_modules/miller-rabin/lib/mr.js"(X,K){var x0=_Q(),G=xQ();function Y($){this.rand=$||new G.Rand}K.exports=Y,Y.create=function($){return new Y($)},Y.prototype._randbelow=function($){var Z=$.bitLength(),Q=Math.ceil(Z/8);do var U=new x0(this.rand.generate(Q));while(U.cmp($)>=0);return U},Y.prototype._randrange=function($,Z){var Q=Z.sub($);return $.add(this._randbelow(Q))},Y.prototype.test=function($,Z,Q){var U=$.bitLength(),V=x0.mont($),B0=new x0(1).toRed(V);Z||(Z=Math.max(1,U/48|0));for(var H=$.subn(1),y0=0;!H.testn(y0);y0++);for(var W=$.shrn(y0),w0=H.toRed(V),E=!0;Z>0;Z--){var p0=this._randrange(new x0(2),H);Q&&Q(p0);var T=p0.toRed(V).redPow(W);if(!(T.cmp(B0)===0||T.cmp(w0)===0)){for(var f0=1;f00;Z--){var w0=this._randrange(new x0(2),B0),E=$.gcd(w0);if(E.cmpn(1)!==0)return E;var p0=w0.toRed(U).redPow(y0);if(!(p0.cmp(V)===0||p0.cmp(W)===0)){for(var T=1;TL;)R.ishrn(1);if(R.isEven()&&R.iadd(Q),R.testn(1)||R.iadd(U),d0.cmp(U)){if(!d0.cmp(V))for(;R.mod(y0).cmp(W);)R.iadd(p0)}else for(;R.mod(Y).cmp(E);)R.iadd(p0);if(b0=R.shrn(1),c0(b0)&&c0(R)&&C(b0)&&C(R)&&Z.test(b0)&&Z.test(R))return R}}}}),wQ=$Q({"node_modules/diffie-hellman/lib/primes.json"(X,K){K.exports={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"}}}}),pQ=$Q({"node_modules/diffie-hellman/lib/dh.js"(X,K){var x0=A(),G=BQ(),Y=new G,$=new x0(24),Z=new x0(11),Q=new x0(10),U=new x0(3),V=new x0(7),B0=yQ(),H=ZQ();K.exports=p0;function y0(f0,D){return D=D||"utf8",c$.isBuffer(f0)||(f0=new c$(f0,D)),this._pub=new x0(f0),this}function W(f0,D){return D=D||"utf8",c$.isBuffer(f0)||(f0=new c$(f0,D)),this._priv=new x0(f0),this}var w0={};function E(f0,D){var c0=D.toString("hex"),C=[c0,f0.toString(16)].join("_");if(C in w0)return w0[C];var h0=0;if(f0.isEven()||!B0.simpleSieve||!B0.fermatTest(f0)||!Y.test(f0))return h0+=1,c0==="02"||c0==="05"?h0+=8:h0+=4,w0[C]=h0,h0;Y.test(f0.shrn(1))||(h0+=2);var L;switch(c0){case"02":f0.mod($).cmp(Z)&&(h0+=8);break;case"05":L=f0.mod(Q),L.cmp(U)&&L.cmp(V)&&(h0+=8);break;default:h0+=4}return w0[C]=h0,h0}function p0(f0,D,c0){this.setGenerator(D),this.__prime=new x0(f0),this._prime=x0.mont(this.__prime),this._primeLen=f0.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,c0?(this.setPublicKey=y0,this.setPrivateKey=W):this._primeCode=8}Object.defineProperty(p0.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=E(this.__prime,this.__gen)),this._primeCode}}),p0.prototype.generateKeys=function(){return this._priv||(this._priv=new x0(H(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},p0.prototype.computeSecret=function(f0){f0=new x0(f0),f0=f0.toRed(this._prime);var D=f0.redPow(this._priv).fromRed(),c0=new c$(D.toArray()),C=this.getPrime();if(c0.length0?M:u0},Z.min=function(M,u0){return M.cmp(u0)<0?M:u0},Z.prototype._init=function(M,u0,S){if(typeof M=="number")return this._initNumber(M,u0,S);if(typeof M=="object")return this._initArray(M,u0,S);u0==="hex"&&(u0=16),Y(u0===(u0|0)&&u0>=2&&u0<=36),M=M.toString().replace(/\s+/g,"");var n0=0;M[0]==="-"&&(n0++,this.negative=1),n0=0;n0-=3)s0=M[n0]|M[n0-1]<<8|M[n0-2]<<16,this.words[v]|=s0<>>26-I&67108863,I+=24,I>=26&&(I-=26,v++);else if(S==="le")for(n0=0,v=0;n0>>26-I&67108863,I+=24,I>=26&&(I-=26,v++);return this._strip()};function U(M,u0){var S=M.charCodeAt(u0);if(S>=48&&S<=57)return S-48;if(S>=65&&S<=70)return S-55;if(S>=97&&S<=102)return S-87;Y(!1,"Invalid character in "+M)}function V(M,u0,S){var n0=U(M,S);return S-1>=u0&&(n0|=U(M,S-1)<<4),n0}Z.prototype._parseHex=function(M,u0,S){this.length=Math.ceil((M.length-u0)/6),this.words=new Array(this.length);for(var n0=0;n0=u0;n0-=2)I=V(M,u0,n0)<=18?(v-=18,s0+=1,this.words[s0]|=I>>>26):v+=8;else{var t0=M.length-u0;for(n0=t0%2===0?u0+1:u0;n0=18?(v-=18,s0+=1,this.words[s0]|=I>>>26):v+=8}this._strip()};function B0(M,u0,S,n0){for(var v=0,s0=0,I=Math.min(M.length,S),t0=u0;t0=49?s0=m0-49+10:m0>=17?s0=m0-17+10:s0=m0,Y(m0>=0&&s01&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{Z.prototype[Symbol.for("nodejs.util.inspect.custom")]=y0}catch{Z.prototype.inspect=y0}else Z.prototype.inspect=y0;function y0(){return(this.red?""}var W=["","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"],w0=[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],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(M,u0){M=M||10,u0=u0|0||1;var S;if(M===16||M==="hex"){S="";for(var n0=0,v=0,s0=0;s0>>24-n0&16777215,n0+=2,n0>=26&&(n0-=26,s0--),v!==0||s0!==this.length-1?S=W[6-t0.length]+t0+S:S=t0+S}for(v!==0&&(S=v.toString(16)+S);S.length%u0!==0;)S="0"+S;return this.negative!==0&&(S="-"+S),S}if(M===(M|0)&&M>=2&&M<=36){var m0=w0[M],a0=E[M];S="";var q=this.clone();for(q.negative=0;!q.isZero();){var e0=q.modrn(a0).toString(M);q=q.idivn(a0),q.isZero()?S=e0+S:S=W[m0-e0.length]+e0+S}for(this.isZero()&&(S="0"+S);S.length%u0!==0;)S="0"+S;return this.negative!==0&&(S="-"+S),S}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var M=this.words[0];return this.length===2?M+=this.words[1]*67108864:this.length===3&&this.words[2]===1?M+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-M:M},Z.prototype.toJSON=function(){return this.toString(16,2)},Q&&(Z.prototype.toBuffer=function(M,u0){return this.toArrayLike(Q,M,u0)}),Z.prototype.toArray=function(M,u0){return this.toArrayLike(Array,M,u0)};var p0=function(M,u0){return M.allocUnsafe?M.allocUnsafe(u0):new M(u0)};Z.prototype.toArrayLike=function(M,u0,S){this._strip();var n0=this.byteLength(),v=S||Math.max(1,n0);Y(n0<=v,"byte array longer than desired length"),Y(v>0,"Requested array length <= 0");var s0=p0(M,v),I=u0==="le"?"LE":"BE";return this["_toArrayLike"+I](s0,n0),s0},Z.prototype._toArrayLikeLE=function(M,u0){for(var S=0,n0=0,v=0,s0=0;v>8&255),S>16&255),s0===6?(S>24&255),n0=0,s0=0):(n0=I>>>24,s0+=2)}if(S=0&&(M[S--]=I>>8&255),S>=0&&(M[S--]=I>>16&255),s0===6?(S>=0&&(M[S--]=I>>24&255),n0=0,s0=0):(n0=I>>>24,s0+=2)}if(S>=0)for(M[S--]=n0;S>=0;)M[S--]=0},Math.clz32?Z.prototype._countBits=function(M){return 32-Math.clz32(M)}:Z.prototype._countBits=function(M){var u0=M,S=0;return u0>=4096&&(S+=13,u0>>>=13),u0>=64&&(S+=7,u0>>>=7),u0>=8&&(S+=4,u0>>>=4),u0>=2&&(S+=2,u0>>>=2),S+u0},Z.prototype._zeroBits=function(M){if(M===0)return 26;var u0=M,S=0;return(u0&8191)===0&&(S+=13,u0>>>=13),(u0&127)===0&&(S+=7,u0>>>=7),(u0&15)===0&&(S+=4,u0>>>=4),(u0&3)===0&&(S+=2,u0>>>=2),(u0&1)===0&&S++,S},Z.prototype.bitLength=function(){var M=this.words[this.length-1],u0=this._countBits(M);return(this.length-1)*26+u0};function T(M){for(var u0=new Array(M.bitLength()),S=0;S>>v&1}return u0}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var M=0,u0=0;u0M.length?this.clone().ior(M):M.clone().ior(this)},Z.prototype.uor=function(M){return this.length>M.length?this.clone().iuor(M):M.clone().iuor(this)},Z.prototype.iuand=function(M){var u0;this.length>M.length?u0=M:u0=this;for(var S=0;SM.length?this.clone().iand(M):M.clone().iand(this)},Z.prototype.uand=function(M){return this.length>M.length?this.clone().iuand(M):M.clone().iuand(this)},Z.prototype.iuxor=function(M){var u0,S;this.length>M.length?(u0=this,S=M):(u0=M,S=this);for(var n0=0;n0M.length?this.clone().ixor(M):M.clone().ixor(this)},Z.prototype.uxor=function(M){return this.length>M.length?this.clone().iuxor(M):M.clone().iuxor(this)},Z.prototype.inotn=function(M){Y(typeof M=="number"&&M>=0);var u0=Math.ceil(M/26)|0,S=M%26;this._expand(u0),S>0&&u0--;for(var n0=0;n00&&(this.words[n0]=~this.words[n0]&67108863>>26-S),this._strip()},Z.prototype.notn=function(M){return this.clone().inotn(M)},Z.prototype.setn=function(M,u0){Y(typeof M=="number"&&M>=0);var S=M/26|0,n0=M%26;return this._expand(S+1),u0?this.words[S]=this.words[S]|1<M.length?(S=this,n0=M):(S=M,n0=this);for(var v=0,s0=0;s0>>26;for(;v!==0&&s0>>26;if(this.length=S.length,v!==0)this.words[this.length]=v,this.length++;else if(S!==this)for(;s0M.length?this.clone().iadd(M):M.clone().iadd(this)},Z.prototype.isub=function(M){if(M.negative!==0){M.negative=0;var u0=this.iadd(M);return M.negative=1,u0._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(M),this.negative=1,this._normSign();var S=this.cmp(M);if(S===0)return this.negative=0,this.length=1,this.words[0]=0,this;var n0,v;S>0?(n0=this,v=M):(n0=M,v=this);for(var s0=0,I=0;I>26,this.words[I]=u0&67108863;for(;s0!==0&&I>26,this.words[I]=u0&67108863;if(s0===0&&I>>26,e0=m0&67108863,r0=Math.min(a0,u0.length-1),i0=Math.max(0,a0-M.length+1);i0<=r0;i0++){var j=a0-i0|0;v=M.words[j]|0,s0=u0.words[i0]|0,I=v*s0+e0,q+=I/67108864|0,e0=I&67108863}S.words[a0]=e0|0,m0=q|0}return m0!==0?S.words[a0]=m0|0:S.length--,S._strip()}var D=function(M,u0,S){var n0=M.words,v=u0.words,s0=S.words,I=0,t0,m0,a0,q=n0[0]|0,e0=q&8191,r0=q>>>13,i0=n0[1]|0,j=i0&8191,$$=i0>>>13,k=n0[2]|0,Q$=k&8191,g=k>>>13,Y$=n0[3]|0,_=Y$&8191,Z$=Y$>>>13,N=n0[4]|0,G$=N&8191,x=N>>>13,V$=n0[5]|0,B=V$&8191,U$=V$>>>13,y=n0[6]|0,X$=y&8191,w=y>>>13,K$=n0[7]|0,p=K$&8191,I$=K$>>>13,f=n0[8]|0,O$=f&8191,c=f>>>13,J$=n0[9]|0,h=J$&8191,F$=J$>>>13,d=v[0]|0,A$=d&8191,b=d>>>13,H$=v[1]|0,l=H$&8191,W$=H$>>>13,o=v[2]|0,E$=o&8191,u=o>>>13,T$=v[3]|0,n=T$&8191,D$=T$>>>13,s=v[4]|0,C$=s&8191,t=s>>>13,L$=v[5]|0,m=L$&8191,R$=L$>>>13,a=v[6]|0,P$=a&8191,O=a>>>13,z$=v[7]|0,e=z$&8191,M$=z$>>>13,J=v[8]|0,S$=J&8191,F=J>>>13,v$=v[9]|0,r=v$&8191,q$=v$>>>13;S.negative=M.negative^u0.negative,S.length=19,t0=Math.imul(e0,A$),m0=Math.imul(e0,b),m0=m0+Math.imul(r0,A$)|0,a0=Math.imul(r0,b);var i=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(i>>>26)|0,i&=67108863,t0=Math.imul(j,A$),m0=Math.imul(j,b),m0=m0+Math.imul($$,A$)|0,a0=Math.imul($$,b),t0=t0+Math.imul(e0,l)|0,m0=m0+Math.imul(e0,W$)|0,m0=m0+Math.imul(r0,l)|0,a0=a0+Math.imul(r0,W$)|0;var j$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(j$>>>26)|0,j$&=67108863,t0=Math.imul(Q$,A$),m0=Math.imul(Q$,b),m0=m0+Math.imul(g,A$)|0,a0=Math.imul(g,b),t0=t0+Math.imul(j,l)|0,m0=m0+Math.imul(j,W$)|0,m0=m0+Math.imul($$,l)|0,a0=a0+Math.imul($$,W$)|0,t0=t0+Math.imul(e0,E$)|0,m0=m0+Math.imul(e0,u)|0,m0=m0+Math.imul(r0,E$)|0,a0=a0+Math.imul(r0,u)|0;var k$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(k$>>>26)|0,k$&=67108863,t0=Math.imul(_,A$),m0=Math.imul(_,b),m0=m0+Math.imul(Z$,A$)|0,a0=Math.imul(Z$,b),t0=t0+Math.imul(Q$,l)|0,m0=m0+Math.imul(Q$,W$)|0,m0=m0+Math.imul(g,l)|0,a0=a0+Math.imul(g,W$)|0,t0=t0+Math.imul(j,E$)|0,m0=m0+Math.imul(j,u)|0,m0=m0+Math.imul($$,E$)|0,a0=a0+Math.imul($$,u)|0,t0=t0+Math.imul(e0,n)|0,m0=m0+Math.imul(e0,D$)|0,m0=m0+Math.imul(r0,n)|0,a0=a0+Math.imul(r0,D$)|0;var g$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(g$>>>26)|0,g$&=67108863,t0=Math.imul(G$,A$),m0=Math.imul(G$,b),m0=m0+Math.imul(x,A$)|0,a0=Math.imul(x,b),t0=t0+Math.imul(_,l)|0,m0=m0+Math.imul(_,W$)|0,m0=m0+Math.imul(Z$,l)|0,a0=a0+Math.imul(Z$,W$)|0,t0=t0+Math.imul(Q$,E$)|0,m0=m0+Math.imul(Q$,u)|0,m0=m0+Math.imul(g,E$)|0,a0=a0+Math.imul(g,u)|0,t0=t0+Math.imul(j,n)|0,m0=m0+Math.imul(j,D$)|0,m0=m0+Math.imul($$,n)|0,a0=a0+Math.imul($$,D$)|0,t0=t0+Math.imul(e0,C$)|0,m0=m0+Math.imul(e0,t)|0,m0=m0+Math.imul(r0,C$)|0,a0=a0+Math.imul(r0,t)|0;var _$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(_$>>>26)|0,_$&=67108863,t0=Math.imul(B,A$),m0=Math.imul(B,b),m0=m0+Math.imul(U$,A$)|0,a0=Math.imul(U$,b),t0=t0+Math.imul(G$,l)|0,m0=m0+Math.imul(G$,W$)|0,m0=m0+Math.imul(x,l)|0,a0=a0+Math.imul(x,W$)|0,t0=t0+Math.imul(_,E$)|0,m0=m0+Math.imul(_,u)|0,m0=m0+Math.imul(Z$,E$)|0,a0=a0+Math.imul(Z$,u)|0,t0=t0+Math.imul(Q$,n)|0,m0=m0+Math.imul(Q$,D$)|0,m0=m0+Math.imul(g,n)|0,a0=a0+Math.imul(g,D$)|0,t0=t0+Math.imul(j,C$)|0,m0=m0+Math.imul(j,t)|0,m0=m0+Math.imul($$,C$)|0,a0=a0+Math.imul($$,t)|0,t0=t0+Math.imul(e0,m)|0,m0=m0+Math.imul(e0,R$)|0,m0=m0+Math.imul(r0,m)|0,a0=a0+Math.imul(r0,R$)|0;var N$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(N$>>>26)|0,N$&=67108863,t0=Math.imul(X$,A$),m0=Math.imul(X$,b),m0=m0+Math.imul(w,A$)|0,a0=Math.imul(w,b),t0=t0+Math.imul(B,l)|0,m0=m0+Math.imul(B,W$)|0,m0=m0+Math.imul(U$,l)|0,a0=a0+Math.imul(U$,W$)|0,t0=t0+Math.imul(G$,E$)|0,m0=m0+Math.imul(G$,u)|0,m0=m0+Math.imul(x,E$)|0,a0=a0+Math.imul(x,u)|0,t0=t0+Math.imul(_,n)|0,m0=m0+Math.imul(_,D$)|0,m0=m0+Math.imul(Z$,n)|0,a0=a0+Math.imul(Z$,D$)|0,t0=t0+Math.imul(Q$,C$)|0,m0=m0+Math.imul(Q$,t)|0,m0=m0+Math.imul(g,C$)|0,a0=a0+Math.imul(g,t)|0,t0=t0+Math.imul(j,m)|0,m0=m0+Math.imul(j,R$)|0,m0=m0+Math.imul($$,m)|0,a0=a0+Math.imul($$,R$)|0,t0=t0+Math.imul(e0,P$)|0,m0=m0+Math.imul(e0,O)|0,m0=m0+Math.imul(r0,P$)|0,a0=a0+Math.imul(r0,O)|0;var $0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+($0>>>26)|0,$0&=67108863,t0=Math.imul(p,A$),m0=Math.imul(p,b),m0=m0+Math.imul(I$,A$)|0,a0=Math.imul(I$,b),t0=t0+Math.imul(X$,l)|0,m0=m0+Math.imul(X$,W$)|0,m0=m0+Math.imul(w,l)|0,a0=a0+Math.imul(w,W$)|0,t0=t0+Math.imul(B,E$)|0,m0=m0+Math.imul(B,u)|0,m0=m0+Math.imul(U$,E$)|0,a0=a0+Math.imul(U$,u)|0,t0=t0+Math.imul(G$,n)|0,m0=m0+Math.imul(G$,D$)|0,m0=m0+Math.imul(x,n)|0,a0=a0+Math.imul(x,D$)|0,t0=t0+Math.imul(_,C$)|0,m0=m0+Math.imul(_,t)|0,m0=m0+Math.imul(Z$,C$)|0,a0=a0+Math.imul(Z$,t)|0,t0=t0+Math.imul(Q$,m)|0,m0=m0+Math.imul(Q$,R$)|0,m0=m0+Math.imul(g,m)|0,a0=a0+Math.imul(g,R$)|0,t0=t0+Math.imul(j,P$)|0,m0=m0+Math.imul(j,O)|0,m0=m0+Math.imul($$,P$)|0,a0=a0+Math.imul($$,O)|0,t0=t0+Math.imul(e0,e)|0,m0=m0+Math.imul(e0,M$)|0,m0=m0+Math.imul(r0,e)|0,a0=a0+Math.imul(r0,M$)|0;var x$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(x$>>>26)|0,x$&=67108863,t0=Math.imul(O$,A$),m0=Math.imul(O$,b),m0=m0+Math.imul(c,A$)|0,a0=Math.imul(c,b),t0=t0+Math.imul(p,l)|0,m0=m0+Math.imul(p,W$)|0,m0=m0+Math.imul(I$,l)|0,a0=a0+Math.imul(I$,W$)|0,t0=t0+Math.imul(X$,E$)|0,m0=m0+Math.imul(X$,u)|0,m0=m0+Math.imul(w,E$)|0,a0=a0+Math.imul(w,u)|0,t0=t0+Math.imul(B,n)|0,m0=m0+Math.imul(B,D$)|0,m0=m0+Math.imul(U$,n)|0,a0=a0+Math.imul(U$,D$)|0,t0=t0+Math.imul(G$,C$)|0,m0=m0+Math.imul(G$,t)|0,m0=m0+Math.imul(x,C$)|0,a0=a0+Math.imul(x,t)|0,t0=t0+Math.imul(_,m)|0,m0=m0+Math.imul(_,R$)|0,m0=m0+Math.imul(Z$,m)|0,a0=a0+Math.imul(Z$,R$)|0,t0=t0+Math.imul(Q$,P$)|0,m0=m0+Math.imul(Q$,O)|0,m0=m0+Math.imul(g,P$)|0,a0=a0+Math.imul(g,O)|0,t0=t0+Math.imul(j,e)|0,m0=m0+Math.imul(j,M$)|0,m0=m0+Math.imul($$,e)|0,a0=a0+Math.imul($$,M$)|0,t0=t0+Math.imul(e0,S$)|0,m0=m0+Math.imul(e0,F)|0,m0=m0+Math.imul(r0,S$)|0,a0=a0+Math.imul(r0,F)|0;var Q0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,t0=Math.imul(h,A$),m0=Math.imul(h,b),m0=m0+Math.imul(F$,A$)|0,a0=Math.imul(F$,b),t0=t0+Math.imul(O$,l)|0,m0=m0+Math.imul(O$,W$)|0,m0=m0+Math.imul(c,l)|0,a0=a0+Math.imul(c,W$)|0,t0=t0+Math.imul(p,E$)|0,m0=m0+Math.imul(p,u)|0,m0=m0+Math.imul(I$,E$)|0,a0=a0+Math.imul(I$,u)|0,t0=t0+Math.imul(X$,n)|0,m0=m0+Math.imul(X$,D$)|0,m0=m0+Math.imul(w,n)|0,a0=a0+Math.imul(w,D$)|0,t0=t0+Math.imul(B,C$)|0,m0=m0+Math.imul(B,t)|0,m0=m0+Math.imul(U$,C$)|0,a0=a0+Math.imul(U$,t)|0,t0=t0+Math.imul(G$,m)|0,m0=m0+Math.imul(G$,R$)|0,m0=m0+Math.imul(x,m)|0,a0=a0+Math.imul(x,R$)|0,t0=t0+Math.imul(_,P$)|0,m0=m0+Math.imul(_,O)|0,m0=m0+Math.imul(Z$,P$)|0,a0=a0+Math.imul(Z$,O)|0,t0=t0+Math.imul(Q$,e)|0,m0=m0+Math.imul(Q$,M$)|0,m0=m0+Math.imul(g,e)|0,a0=a0+Math.imul(g,M$)|0,t0=t0+Math.imul(j,S$)|0,m0=m0+Math.imul(j,F)|0,m0=m0+Math.imul($$,S$)|0,a0=a0+Math.imul($$,F)|0,t0=t0+Math.imul(e0,r)|0,m0=m0+Math.imul(e0,q$)|0,m0=m0+Math.imul(r0,r)|0,a0=a0+Math.imul(r0,q$)|0;var B$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(B$>>>26)|0,B$&=67108863,t0=Math.imul(h,l),m0=Math.imul(h,W$),m0=m0+Math.imul(F$,l)|0,a0=Math.imul(F$,W$),t0=t0+Math.imul(O$,E$)|0,m0=m0+Math.imul(O$,u)|0,m0=m0+Math.imul(c,E$)|0,a0=a0+Math.imul(c,u)|0,t0=t0+Math.imul(p,n)|0,m0=m0+Math.imul(p,D$)|0,m0=m0+Math.imul(I$,n)|0,a0=a0+Math.imul(I$,D$)|0,t0=t0+Math.imul(X$,C$)|0,m0=m0+Math.imul(X$,t)|0,m0=m0+Math.imul(w,C$)|0,a0=a0+Math.imul(w,t)|0,t0=t0+Math.imul(B,m)|0,m0=m0+Math.imul(B,R$)|0,m0=m0+Math.imul(U$,m)|0,a0=a0+Math.imul(U$,R$)|0,t0=t0+Math.imul(G$,P$)|0,m0=m0+Math.imul(G$,O)|0,m0=m0+Math.imul(x,P$)|0,a0=a0+Math.imul(x,O)|0,t0=t0+Math.imul(_,e)|0,m0=m0+Math.imul(_,M$)|0,m0=m0+Math.imul(Z$,e)|0,a0=a0+Math.imul(Z$,M$)|0,t0=t0+Math.imul(Q$,S$)|0,m0=m0+Math.imul(Q$,F)|0,m0=m0+Math.imul(g,S$)|0,a0=a0+Math.imul(g,F)|0,t0=t0+Math.imul(j,r)|0,m0=m0+Math.imul(j,q$)|0,m0=m0+Math.imul($$,r)|0,a0=a0+Math.imul($$,q$)|0;var Y0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,t0=Math.imul(h,E$),m0=Math.imul(h,u),m0=m0+Math.imul(F$,E$)|0,a0=Math.imul(F$,u),t0=t0+Math.imul(O$,n)|0,m0=m0+Math.imul(O$,D$)|0,m0=m0+Math.imul(c,n)|0,a0=a0+Math.imul(c,D$)|0,t0=t0+Math.imul(p,C$)|0,m0=m0+Math.imul(p,t)|0,m0=m0+Math.imul(I$,C$)|0,a0=a0+Math.imul(I$,t)|0,t0=t0+Math.imul(X$,m)|0,m0=m0+Math.imul(X$,R$)|0,m0=m0+Math.imul(w,m)|0,a0=a0+Math.imul(w,R$)|0,t0=t0+Math.imul(B,P$)|0,m0=m0+Math.imul(B,O)|0,m0=m0+Math.imul(U$,P$)|0,a0=a0+Math.imul(U$,O)|0,t0=t0+Math.imul(G$,e)|0,m0=m0+Math.imul(G$,M$)|0,m0=m0+Math.imul(x,e)|0,a0=a0+Math.imul(x,M$)|0,t0=t0+Math.imul(_,S$)|0,m0=m0+Math.imul(_,F)|0,m0=m0+Math.imul(Z$,S$)|0,a0=a0+Math.imul(Z$,F)|0,t0=t0+Math.imul(Q$,r)|0,m0=m0+Math.imul(Q$,q$)|0,m0=m0+Math.imul(g,r)|0,a0=a0+Math.imul(g,q$)|0;var y$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(y$>>>26)|0,y$&=67108863,t0=Math.imul(h,n),m0=Math.imul(h,D$),m0=m0+Math.imul(F$,n)|0,a0=Math.imul(F$,D$),t0=t0+Math.imul(O$,C$)|0,m0=m0+Math.imul(O$,t)|0,m0=m0+Math.imul(c,C$)|0,a0=a0+Math.imul(c,t)|0,t0=t0+Math.imul(p,m)|0,m0=m0+Math.imul(p,R$)|0,m0=m0+Math.imul(I$,m)|0,a0=a0+Math.imul(I$,R$)|0,t0=t0+Math.imul(X$,P$)|0,m0=m0+Math.imul(X$,O)|0,m0=m0+Math.imul(w,P$)|0,a0=a0+Math.imul(w,O)|0,t0=t0+Math.imul(B,e)|0,m0=m0+Math.imul(B,M$)|0,m0=m0+Math.imul(U$,e)|0,a0=a0+Math.imul(U$,M$)|0,t0=t0+Math.imul(G$,S$)|0,m0=m0+Math.imul(G$,F)|0,m0=m0+Math.imul(x,S$)|0,a0=a0+Math.imul(x,F)|0,t0=t0+Math.imul(_,r)|0,m0=m0+Math.imul(_,q$)|0,m0=m0+Math.imul(Z$,r)|0,a0=a0+Math.imul(Z$,q$)|0;var Z0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,t0=Math.imul(h,C$),m0=Math.imul(h,t),m0=m0+Math.imul(F$,C$)|0,a0=Math.imul(F$,t),t0=t0+Math.imul(O$,m)|0,m0=m0+Math.imul(O$,R$)|0,m0=m0+Math.imul(c,m)|0,a0=a0+Math.imul(c,R$)|0,t0=t0+Math.imul(p,P$)|0,m0=m0+Math.imul(p,O)|0,m0=m0+Math.imul(I$,P$)|0,a0=a0+Math.imul(I$,O)|0,t0=t0+Math.imul(X$,e)|0,m0=m0+Math.imul(X$,M$)|0,m0=m0+Math.imul(w,e)|0,a0=a0+Math.imul(w,M$)|0,t0=t0+Math.imul(B,S$)|0,m0=m0+Math.imul(B,F)|0,m0=m0+Math.imul(U$,S$)|0,a0=a0+Math.imul(U$,F)|0,t0=t0+Math.imul(G$,r)|0,m0=m0+Math.imul(G$,q$)|0,m0=m0+Math.imul(x,r)|0,a0=a0+Math.imul(x,q$)|0;var w$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(w$>>>26)|0,w$&=67108863,t0=Math.imul(h,m),m0=Math.imul(h,R$),m0=m0+Math.imul(F$,m)|0,a0=Math.imul(F$,R$),t0=t0+Math.imul(O$,P$)|0,m0=m0+Math.imul(O$,O)|0,m0=m0+Math.imul(c,P$)|0,a0=a0+Math.imul(c,O)|0,t0=t0+Math.imul(p,e)|0,m0=m0+Math.imul(p,M$)|0,m0=m0+Math.imul(I$,e)|0,a0=a0+Math.imul(I$,M$)|0,t0=t0+Math.imul(X$,S$)|0,m0=m0+Math.imul(X$,F)|0,m0=m0+Math.imul(w,S$)|0,a0=a0+Math.imul(w,F)|0,t0=t0+Math.imul(B,r)|0,m0=m0+Math.imul(B,q$)|0,m0=m0+Math.imul(U$,r)|0,a0=a0+Math.imul(U$,q$)|0;var G0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(G0>>>26)|0,G0&=67108863,t0=Math.imul(h,P$),m0=Math.imul(h,O),m0=m0+Math.imul(F$,P$)|0,a0=Math.imul(F$,O),t0=t0+Math.imul(O$,e)|0,m0=m0+Math.imul(O$,M$)|0,m0=m0+Math.imul(c,e)|0,a0=a0+Math.imul(c,M$)|0,t0=t0+Math.imul(p,S$)|0,m0=m0+Math.imul(p,F)|0,m0=m0+Math.imul(I$,S$)|0,a0=a0+Math.imul(I$,F)|0,t0=t0+Math.imul(X$,r)|0,m0=m0+Math.imul(X$,q$)|0,m0=m0+Math.imul(w,r)|0,a0=a0+Math.imul(w,q$)|0;var p$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(p$>>>26)|0,p$&=67108863,t0=Math.imul(h,e),m0=Math.imul(h,M$),m0=m0+Math.imul(F$,e)|0,a0=Math.imul(F$,M$),t0=t0+Math.imul(O$,S$)|0,m0=m0+Math.imul(O$,F)|0,m0=m0+Math.imul(c,S$)|0,a0=a0+Math.imul(c,F)|0,t0=t0+Math.imul(p,r)|0,m0=m0+Math.imul(p,q$)|0,m0=m0+Math.imul(I$,r)|0,a0=a0+Math.imul(I$,q$)|0;var V0=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(V0>>>26)|0,V0&=67108863,t0=Math.imul(h,S$),m0=Math.imul(h,F),m0=m0+Math.imul(F$,S$)|0,a0=Math.imul(F$,F),t0=t0+Math.imul(O$,r)|0,m0=m0+Math.imul(O$,q$)|0,m0=m0+Math.imul(c,r)|0,a0=a0+Math.imul(c,q$)|0;var f$=(I+t0|0)+((m0&8191)<<13)|0;I=(a0+(m0>>>13)|0)+(f$>>>26)|0,f$&=67108863,t0=Math.imul(h,r),m0=Math.imul(h,q$),m0=m0+Math.imul(F$,r)|0,a0=Math.imul(F$,q$);var U0=(I+t0|0)+((m0&8191)<<13)|0;return I=(a0+(m0>>>13)|0)+(U0>>>26)|0,U0&=67108863,s0[0]=i,s0[1]=j$,s0[2]=k$,s0[3]=g$,s0[4]=_$,s0[5]=N$,s0[6]=$0,s0[7]=x$,s0[8]=Q0,s0[9]=B$,s0[10]=Y0,s0[11]=y$,s0[12]=Z0,s0[13]=w$,s0[14]=G0,s0[15]=p$,s0[16]=V0,s0[17]=f$,s0[18]=U0,I!==0&&(s0[19]=I,S.length++),S};Math.imul||(D=f0);function c0(M,u0,S){S.negative=u0.negative^M.negative,S.length=M.length+u0.length;for(var n0=0,v=0,s0=0;s0>>26)|0,v+=I>>>26,I&=67108863}S.words[s0]=t0,n0=I,I=v}return n0!==0?S.words[s0]=n0:S.length--,S._strip()}function C(M,u0,S){return c0(M,u0,S)}Z.prototype.mulTo=function(M,u0){var S,n0=this.length+M.length;return this.length===10&&M.length===10?S=D(this,M,u0):n0<63?S=f0(this,M,u0):n0<1024?S=c0(this,M,u0):S=C(this,M,u0),S};function h0(M,u0){this.x=M,this.y=u0}h0.prototype.makeRBT=function(M){for(var u0=new Array(M),S=Z.prototype._countBits(M)-1,n0=0;n0>=1;return n0},h0.prototype.permute=function(M,u0,S,n0,v,s0){for(var I=0;I>>1)v++;return 1<>>13,S[2*s0+1]=v&8191,v=v>>>13;for(s0=2*u0;s0>=26,S+=v/67108864|0,S+=s0>>>26,this.words[n0]=s0&67108863}return S!==0&&(this.words[n0]=S,this.length++),u0?this.ineg():this},Z.prototype.muln=function(M){return this.clone().imuln(M)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(M){var u0=T(M);if(u0.length===0)return new Z(1);for(var S=this,n0=0;n0=0);var u0=M%26,S=(M-u0)/26,n0=67108863>>>26-u0<<26-u0,v;if(u0!==0){var s0=0;for(v=0;v>>26-u0}s0&&(this.words[v]=s0,this.length++)}if(S!==0){for(v=this.length-1;v>=0;v--)this.words[v+S]=this.words[v];for(v=0;v=0);var n0;u0?n0=(u0-u0%26)/26:n0=0;var v=M%26,s0=Math.min((M-v)/26,this.length),I=67108863^67108863>>>v<s0)for(this.length-=s0,m0=0;m0=0&&(a0!==0||m0>=n0);m0--){var q=this.words[m0]|0;this.words[m0]=a0<<26-v|q>>>v,a0=q&I}return t0&&a0!==0&&(t0.words[t0.length++]=a0),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},Z.prototype.ishrn=function(M,u0,S){return Y(this.negative===0),this.iushrn(M,u0,S)},Z.prototype.shln=function(M){return this.clone().ishln(M)},Z.prototype.ushln=function(M){return this.clone().iushln(M)},Z.prototype.shrn=function(M){return this.clone().ishrn(M)},Z.prototype.ushrn=function(M){return this.clone().iushrn(M)},Z.prototype.testn=function(M){Y(typeof M=="number"&&M>=0);var u0=M%26,S=(M-u0)/26,n0=1<=0);var u0=M%26,S=(M-u0)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=S)return this;if(u0!==0&&S++,this.length=Math.min(S,this.length),u0!==0){var n0=67108863^67108863>>>u0<=67108864;u0++)this.words[u0]-=67108864,u0===this.length-1?this.words[u0+1]=1:this.words[u0+1]++;return this.length=Math.max(this.length,u0+1),this},Z.prototype.isubn=function(M){if(Y(typeof M=="number"),Y(M<67108864),M<0)return this.iaddn(-M);if(this.negative!==0)return this.negative=0,this.iaddn(M),this.negative=1,this;if(this.words[0]-=M,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var u0=0;u0>26)-(t0/67108864|0),this.words[v+S]=s0&67108863}for(;v>26,this.words[v+S]=s0&67108863;if(I===0)return this._strip();for(Y(I===-1),I=0,v=0;v>26,this.words[v]=s0&67108863;return this.negative=1,this._strip()},Z.prototype._wordDiv=function(M,u0){var S=this.length-M.length,n0=this.clone(),v=M,s0=v.words[v.length-1]|0,I=this._countBits(s0);S=26-I,S!==0&&(v=v.ushln(S),n0.iushln(S),s0=v.words[v.length-1]|0);var t0=n0.length-v.length,m0;if(u0!=="mod"){m0=new Z(null),m0.length=t0+1,m0.words=new Array(m0.length);for(var a0=0;a0=0;e0--){var r0=(n0.words[v.length+e0]|0)*67108864+(n0.words[v.length+e0-1]|0);for(r0=Math.min(r0/s0|0,67108863),n0._ishlnsubmul(v,r0,e0);n0.negative!==0;)r0--,n0.negative=0,n0._ishlnsubmul(v,1,e0),n0.isZero()||(n0.negative^=1);m0&&(m0.words[e0]=r0)}return m0&&m0._strip(),n0._strip(),u0!=="div"&&S!==0&&n0.iushrn(S),{div:m0||null,mod:n0}},Z.prototype.divmod=function(M,u0,S){if(Y(!M.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var n0,v,s0;return this.negative!==0&&M.negative===0?(s0=this.neg().divmod(M,u0),u0!=="mod"&&(n0=s0.div.neg()),u0!=="div"&&(v=s0.mod.neg(),S&&v.negative!==0&&v.iadd(M)),{div:n0,mod:v}):this.negative===0&&M.negative!==0?(s0=this.divmod(M.neg(),u0),u0!=="mod"&&(n0=s0.div.neg()),{div:n0,mod:s0.mod}):(this.negative&M.negative)!==0?(s0=this.neg().divmod(M.neg(),u0),u0!=="div"&&(v=s0.mod.neg(),S&&v.negative!==0&&v.isub(M)),{div:s0.div,mod:v}):M.length>this.length||this.cmp(M)<0?{div:new Z(0),mod:this}:M.length===1?u0==="div"?{div:this.divn(M.words[0]),mod:null}:u0==="mod"?{div:null,mod:new Z(this.modrn(M.words[0]))}:{div:this.divn(M.words[0]),mod:new Z(this.modrn(M.words[0]))}:this._wordDiv(M,u0)},Z.prototype.div=function(M){return this.divmod(M,"div",!1).div},Z.prototype.mod=function(M){return this.divmod(M,"mod",!1).mod},Z.prototype.umod=function(M){return this.divmod(M,"mod",!0).mod},Z.prototype.divRound=function(M){var u0=this.divmod(M);if(u0.mod.isZero())return u0.div;var S=u0.div.negative!==0?u0.mod.isub(M):u0.mod,n0=M.ushrn(1),v=M.andln(1),s0=S.cmp(n0);return s0<0||v===1&&s0===0?u0.div:u0.div.negative!==0?u0.div.isubn(1):u0.div.iaddn(1)},Z.prototype.modrn=function(M){var u0=M<0;u0&&(M=-M),Y(M<=67108863);for(var S=(1<<26)%M,n0=0,v=this.length-1;v>=0;v--)n0=(S*n0+(this.words[v]|0))%M;return u0?-n0:n0},Z.prototype.modn=function(M){return this.modrn(M)},Z.prototype.idivn=function(M){var u0=M<0;u0&&(M=-M),Y(M<=67108863);for(var S=0,n0=this.length-1;n0>=0;n0--){var v=(this.words[n0]|0)+S*67108864;this.words[n0]=v/M|0,S=v%M}return this._strip(),u0?this.ineg():this},Z.prototype.divn=function(M){return this.clone().idivn(M)},Z.prototype.egcd=function(M){Y(M.negative===0),Y(!M.isZero());var u0=this,S=M.clone();u0.negative!==0?u0=u0.umod(M):u0=u0.clone();for(var n0=new Z(1),v=new Z(0),s0=new Z(0),I=new Z(1),t0=0;u0.isEven()&&S.isEven();)u0.iushrn(1),S.iushrn(1),++t0;for(var m0=S.clone(),a0=u0.clone();!u0.isZero();){for(var q=0,e0=1;(u0.words[0]&e0)===0&&q<26;++q,e0<<=1);if(q>0)for(u0.iushrn(q);q-- >0;)(n0.isOdd()||v.isOdd())&&(n0.iadd(m0),v.isub(a0)),n0.iushrn(1),v.iushrn(1);for(var r0=0,i0=1;(S.words[0]&i0)===0&&r0<26;++r0,i0<<=1);if(r0>0)for(S.iushrn(r0);r0-- >0;)(s0.isOdd()||I.isOdd())&&(s0.iadd(m0),I.isub(a0)),s0.iushrn(1),I.iushrn(1);u0.cmp(S)>=0?(u0.isub(S),n0.isub(s0),v.isub(I)):(S.isub(u0),s0.isub(n0),I.isub(v))}return{a:s0,b:I,gcd:S.iushln(t0)}},Z.prototype._invmp=function(M){Y(M.negative===0),Y(!M.isZero());var u0=this,S=M.clone();u0.negative!==0?u0=u0.umod(M):u0=u0.clone();for(var n0=new Z(1),v=new Z(0),s0=S.clone();u0.cmpn(1)>0&&S.cmpn(1)>0;){for(var I=0,t0=1;(u0.words[0]&t0)===0&&I<26;++I,t0<<=1);if(I>0)for(u0.iushrn(I);I-- >0;)n0.isOdd()&&n0.iadd(s0),n0.iushrn(1);for(var m0=0,a0=1;(S.words[0]&a0)===0&&m0<26;++m0,a0<<=1);if(m0>0)for(S.iushrn(m0);m0-- >0;)v.isOdd()&&v.iadd(s0),v.iushrn(1);u0.cmp(S)>=0?(u0.isub(S),n0.isub(v)):(S.isub(u0),v.isub(n0))}var q;return u0.cmpn(1)===0?q=n0:q=v,q.cmpn(0)<0&&q.iadd(M),q},Z.prototype.gcd=function(M){if(this.isZero())return M.abs();if(M.isZero())return this.abs();var u0=this.clone(),S=M.clone();u0.negative=0,S.negative=0;for(var n0=0;u0.isEven()&&S.isEven();n0++)u0.iushrn(1),S.iushrn(1);do{for(;u0.isEven();)u0.iushrn(1);for(;S.isEven();)S.iushrn(1);var v=u0.cmp(S);if(v<0){var s0=u0;u0=S,S=s0}else if(v===0||S.cmpn(1)===0)break;u0.isub(S)}while(!0);return S.iushln(n0)},Z.prototype.invm=function(M){return this.egcd(M).a.umod(M)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(M){return this.words[0]&M},Z.prototype.bincn=function(M){Y(typeof M=="number");var u0=M%26,S=(M-u0)/26,n0=1<>>26,I&=67108863,this.words[s0]=I}return v!==0&&(this.words[s0]=v,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(M){var u0=M<0;if(this.negative!==0&&!u0)return-1;if(this.negative===0&&u0)return 1;this._strip();var S;if(this.length>1)S=1;else{u0&&(M=-M),Y(M<=67108863,"Number is too big");var n0=this.words[0]|0;S=n0===M?0:n0M.length)return 1;if(this.length=0;S--){var n0=this.words[S]|0,v=M.words[S]|0;if(n0!==v){n0v&&(u0=1);break}}return u0},Z.prototype.gtn=function(M){return this.cmpn(M)===1},Z.prototype.gt=function(M){return this.cmp(M)===1},Z.prototype.gten=function(M){return this.cmpn(M)>=0},Z.prototype.gte=function(M){return this.cmp(M)>=0},Z.prototype.ltn=function(M){return this.cmpn(M)===-1},Z.prototype.lt=function(M){return this.cmp(M)===-1},Z.prototype.lten=function(M){return this.cmpn(M)<=0},Z.prototype.lte=function(M){return this.cmp(M)<=0},Z.prototype.eqn=function(M){return this.cmpn(M)===0},Z.prototype.eq=function(M){return this.cmp(M)===0},Z.red=function(M){return new z(M)},Z.prototype.toRed=function(M){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),M.convertTo(this)._forceRed(M)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(M){return this.red=M,this},Z.prototype.forceRed=function(M){return Y(!this.red,"Already a number in reduction context"),this._forceRed(M)},Z.prototype.redAdd=function(M){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,M)},Z.prototype.redIAdd=function(M){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,M)},Z.prototype.redSub=function(M){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,M)},Z.prototype.redISub=function(M){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,M)},Z.prototype.redShl=function(M){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,M)},Z.prototype.redMul=function(M){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.mul(this,M)},Z.prototype.redIMul=function(M){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.imul(this,M)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(M){return Y(this.red&&!M.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,M)};var L={k256:null,p224:null,p192:null,p25519:null};function d0(M,u0){this.name=M,this.p=new Z(u0,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}d0.prototype._tmp=function(){var M=new Z(null);return M.words=new Array(Math.ceil(this.n/13)),M},d0.prototype.ireduce=function(M){var u0=M,S;do this.split(u0,this.tmp),u0=this.imulK(u0),u0=u0.iadd(this.tmp),S=u0.bitLength();while(S>this.n);var n0=S0?u0.isub(this.p):u0.strip!==void 0?u0.strip():u0._strip(),u0},d0.prototype.split=function(M,u0){M.iushrn(this.n,0,u0)},d0.prototype.imulK=function(M){return M.imul(this.k)};function R(){d0.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(R,d0),R.prototype.split=function(M,u0){for(var S=4194303,n0=Math.min(M.length,9),v=0;v>>22,s0=I}s0>>>=22,M.words[v-10]=s0,s0===0&&M.length>10?M.length-=10:M.length-=9},R.prototype.imulK=function(M){M.words[M.length]=0,M.words[M.length+1]=0,M.length+=2;for(var u0=0,S=0;S>>=26,M.words[S]=v,u0=n0}return u0!==0&&(M.words[M.length++]=u0),M},Z._prime=function(M){if(L[M])return L[M];var u0;if(M==="k256")u0=new R;else if(M==="p224")u0=new b0;else if(M==="p192")u0=new P;else if(M==="p25519")u0=new l0;else throw new Error("Unknown prime "+M);return L[M]=u0,u0};function z(M){if(typeof M=="string"){var u0=Z._prime(M);this.m=u0.p,this.prime=u0}else Y(M.gtn(1),"modulus must be greater than 1"),this.m=M,this.prime=null}z.prototype._verify1=function(M){Y(M.negative===0,"red works only with positives"),Y(M.red,"red works only with red numbers")},z.prototype._verify2=function(M,u0){Y((M.negative|u0.negative)===0,"red works only with positives"),Y(M.red&&M.red===u0.red,"red works only with red numbers")},z.prototype.imod=function(M){return this.prime?this.prime.ireduce(M)._forceRed(this):(H(M,M.umod(this.m)._forceRed(this)),M)},z.prototype.neg=function(M){return M.isZero()?M.clone():this.m.sub(M)._forceRed(this)},z.prototype.add=function(M,u0){this._verify2(M,u0);var S=M.add(u0);return S.cmp(this.m)>=0&&S.isub(this.m),S._forceRed(this)},z.prototype.iadd=function(M,u0){this._verify2(M,u0);var S=M.iadd(u0);return S.cmp(this.m)>=0&&S.isub(this.m),S},z.prototype.sub=function(M,u0){this._verify2(M,u0);var S=M.sub(u0);return S.cmpn(0)<0&&S.iadd(this.m),S._forceRed(this)},z.prototype.isub=function(M,u0){this._verify2(M,u0);var S=M.isub(u0);return S.cmpn(0)<0&&S.iadd(this.m),S},z.prototype.shl=function(M,u0){return this._verify1(M),this.imod(M.ushln(u0))},z.prototype.imul=function(M,u0){return this._verify2(M,u0),this.imod(M.imul(u0))},z.prototype.mul=function(M,u0){return this._verify2(M,u0),this.imod(M.mul(u0))},z.prototype.isqr=function(M){return this.imul(M,M.clone())},z.prototype.sqr=function(M){return this.mul(M,M)},z.prototype.sqrt=function(M){if(M.isZero())return M.clone();var u0=this.m.andln(3);if(Y(u0%2===1),u0===3){var S=this.m.add(new Z(1)).iushrn(2);return this.pow(M,S)}for(var n0=this.m.subn(1),v=0;!n0.isZero()&&n0.andln(1)===0;)v++,n0.iushrn(1);Y(!n0.isZero());var s0=new Z(1).toRed(this),I=s0.redNeg(),t0=this.m.subn(1).iushrn(1),m0=this.m.bitLength();for(m0=new Z(2*m0*m0).toRed(this);this.pow(m0,t0).cmp(I)!==0;)m0.redIAdd(I);for(var a0=this.pow(m0,n0),q=this.pow(M,n0.addn(1).iushrn(1)),e0=this.pow(M,n0),r0=v;e0.cmp(s0)!==0;){for(var i0=e0,j=0;i0.cmp(s0)!==0;j++)i0=i0.redSqr();Y(j=0;v--){for(var a0=u0.words[v],q=m0-1;q>=0;q--){var e0=a0>>q&1;if(s0!==n0[0]&&(s0=this.sqr(s0)),e0===0&&I===0){t0=0;continue}I<<=1,I|=e0,t0++,!(t0!==S&&(v!==0||q!==0))&&(s0=this.mul(s0,n0[I]),t0=0,I=0)}m0=26}return s0},z.prototype.convertTo=function(M){var u0=M.umod(this.m);return u0===M?u0.clone():u0},z.prototype.convertFrom=function(M){var u0=M.clone();return u0.red=null,u0},Z.mont=function(M){return new o0(M)};function o0(M){z.call(this,M),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(o0,z),o0.prototype.convertTo=function(M){return this.imod(M.ushln(this.shift))},o0.prototype.convertFrom=function(M){var u0=this.imod(M.mul(this.rinv));return u0.red=null,u0},o0.prototype.imul=function(M,u0){if(M.isZero()||u0.isZero())return M.words[0]=0,M.length=1,M;var S=M.imul(u0),n0=S.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=S.isub(n0).iushrn(this.shift),s0=v;return v.cmp(this.m)>=0?s0=v.isub(this.m):v.cmpn(0)<0&&(s0=v.iadd(this.m)),s0._forceRed(this)},o0.prototype.mul=function(M,u0){if(M.isZero()||u0.isZero())return new Z(0)._forceRed(this);var S=M.mul(u0),n0=S.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=S.isub(n0).iushrn(this.shift),s0=v;return v.cmp(this.m)>=0?s0=v.isub(this.m):v.cmpn(0)<0&&(s0=v.iadd(this.m)),s0._forceRed(this)},o0.prototype.invm=function(M){var u0=this.imod(M._invmp(this.m).mul(this.r2));return u0._forceRed(this)}})(typeof K>"u"||K,X)}}),hQ=$Q({"node_modules/browserify-rsa/index.js"(X,K){var x0=cQ(),G=ZQ();function Y(Q){var U=$(Q),V=U.toRed(x0.mont(Q.modulus)).redPow(new x0(Q.publicExponent)).fromRed();return{blinder:V,unblinder:U.invm(Q.modulus)}}function $(Q){var U=Q.modulus.byteLength(),V;do V=new x0(G(U));while(V.cmp(Q.modulus)>=0||!V.umod(Q.prime1)||!V.umod(Q.prime2));return V}function Z(Q,U){var V=Y(U),B0=U.modulus.byteLength(),H=new x0(Q).mul(V.blinder).umod(U.modulus),y0=H.toRed(x0.mont(U.prime1)),W=H.toRed(x0.mont(U.prime2)),w0=U.coefficient,E=U.prime1,p0=U.prime2,T=y0.redPow(U.exponent1).fromRed(),f0=W.redPow(U.exponent2).fromRed(),D=T.isub(f0).imul(w0).umod(E).imul(p0);return f0.iadd(D).imul(V.unblinder).umod(U.modulus).toArrayLike(c$,"be",B0)}Z.getr=$,K.exports=Z}}),dQ=$Q({"node_modules/elliptic/package.json"(X,K){K.exports={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}}),bQ=$Q({"node_modules/elliptic/node_modules/bn.js/lib/bn.js"(X,K){(function(x0,G){function Y(l0,z){if(!l0)throw new Error(z||"Assertion failed")}function $(l0,z){l0.super_=z;var o0=function(){};o0.prototype=z.prototype,l0.prototype=new o0,l0.prototype.constructor=l0}function Z(l0,z,o0){if(Z.isBN(l0))return l0;this.negative=0,this.words=null,this.length=0,this.red=null,l0!==null&&((z==="le"||z==="be")&&(o0=z,z=10),this._init(l0||0,z||10,o0||"be"))}typeof x0=="object"?x0.exports=Z:G.BN=Z,Z.BN=Z,Z.wordSize=26;var Q=c$;Z.isBN=function(l0){return l0 instanceof Z?!0:l0!==null&&typeof l0=="object"&&l0.constructor.wordSize===Z.wordSize&&Array.isArray(l0.words)},Z.max=function(l0,z){return l0.cmp(z)>0?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),lQ=$Q({"node_modules/minimalistic-crypto-utils/lib/utils.js"(X){var K=X;function x0($,Z){if(Array.isArray($))return $.slice();if(!$)return[];var Q=[];if(typeof $!="string"){for(var U=0;U<$.length;U++)Q[U]=$[U]|0;return Q}if(Z==="hex"){$=$.replace(/[^a-z0-9]+/gi,""),$.length%2!==0&&($="0"+$);for(var U=0;U<$.length;U+=2)Q.push(parseInt($[U]+$[U+1],16))}else for(var U=0;U<$.length;U++){var V=$.charCodeAt(U),B0=V>>8,H=V&255;B0?Q.push(B0,H):Q.push(H)}return Q}K.toArray=x0;function G($){return $.length===1?"0"+$:$}K.zero2=G;function Y($){for(var Z="",Q=0;Q<$.length;Q++)Z+=G($[Q].toString(16));return Z}K.toHex=Y,K.encode=function($,Z){return Z==="hex"?Y($):$}}}),oQ=$Q({"node_modules/elliptic/lib/elliptic/utils.js"(X){var K=X,x0=bQ(),G=N0(),Y=lQ();K.assert=G,K.toArray=Y.toArray,K.zero2=Y.zero2,K.toHex=Y.toHex,K.encode=Y.encode;function $(B0,H,y0){var W=new Array(Math.max(B0.bitLength(),y0)+1);W.fill(0);for(var w0=1<(w0>>1)-1?T=(w0>>1)-f0:T=f0,E.isubn(T)):T=0,W[p0]=T,E.iushrn(1)}return W}K.getNAF=$;function Z(B0,H){var y0=[[],[]];B0=B0.clone(),H=H.clone();for(var W=0,w0=0,E;B0.cmpn(-W)>0||H.cmpn(-w0)>0;){var p0=B0.andln(3)+W&3,T=H.andln(3)+w0&3;p0===3&&(p0=-1),T===3&&(T=-1);var f0;(p0&1)===0?f0=0:(E=B0.andln(7)+W&7,(E===3||E===5)&&T===2?f0=-p0:f0=p0),y0[0].push(f0);var D;(T&1)===0?D=0:(E=H.andln(7)+w0&7,(E===3||E===5)&&p0===2?D=-T:D=T),y0[1].push(D),2*W===f0+1&&(W=1-W),2*w0===D+1&&(w0=1-w0),B0.iushrn(1),H.iushrn(1)}return y0}K.getJSF=Z;function Q(B0,H,y0){var W="_"+H;B0.prototype[H]=function(){return this[W]!==void 0?this[W]:this[W]=y0.call(this)}}K.cachedProperty=Q;function U(B0){return typeof B0=="string"?K.toArray(B0,"hex"):B0}K.parseBytes=U;function V(B0){return new x0(B0,"hex","le")}K.intFromLE=V}}),uQ=$Q({"node_modules/elliptic/lib/elliptic/curve/base.js"(X,K){var x0=bQ(),G=oQ(),Y=G.getNAF,$=G.getJSF,Z=G.assert;function Q(V,B0){this.type=V,this.p=new x0(B0.p,16),this.red=B0.prime?x0.red(B0.prime):x0.mont(this.p),this.zero=new x0(0).toRed(this.red),this.one=new x0(1).toRed(this.red),this.two=new x0(2).toRed(this.red),this.n=B0.n&&new x0(B0.n,16),this.g=B0.g&&this.pointFromJSON(B0.g,B0.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 H=this.n&&this.p.div(this.n);!H||H.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}K.exports=Q,Q.prototype.point=function(){throw new Error("Not implemented")},Q.prototype.validate=function(){throw new Error("Not implemented")},Q.prototype._fixedNafMul=function(V,B0){Z(V.precomputed);var H=V._getDoubles(),y0=Y(B0,1,this._bitLength),W=(1<=E;T--)p0=(p0<<1)+y0[T];w0.push(p0)}for(var f0=this.jpoint(null,null,null),D=this.jpoint(null,null,null),c0=W;c0>0;c0--){for(E=0;E=0;p0--){for(var T=0;p0>=0&&w0[p0]===0;p0--)T++;if(p0>=0&&T++,E=E.dblp(T),p0<0)break;var f0=w0[p0];Z(f0!==0),V.type==="affine"?f0>0?E=E.mixedAdd(W[f0-1>>1]):E=E.mixedAdd(W[-f0-1>>1].neg()):f0>0?E=E.add(W[f0-1>>1]):E=E.add(W[-f0-1>>1].neg())}return V.type==="affine"?E.toP():E},Q.prototype._wnafMulAdd=function(V,B0,H,y0,W){var w0=this._wnafT1,E=this._wnafT2,p0=this._wnafT3,T=0,f0,D,c0;for(f0=0;f0=1;f0-=2){var h0=f0-1,L=f0;if(w0[h0]!==1||w0[L]!==1){p0[h0]=Y(H[h0],w0[h0],this._bitLength),p0[L]=Y(H[L],w0[L],this._bitLength),T=Math.max(p0[h0].length,T),T=Math.max(p0[L].length,T);continue}var d0=[B0[h0],null,null,B0[L]];B0[h0].y.cmp(B0[L].y)===0?(d0[1]=B0[h0].add(B0[L]),d0[2]=B0[h0].toJ().mixedAdd(B0[L].neg())):B0[h0].y.cmp(B0[L].y.redNeg())===0?(d0[1]=B0[h0].toJ().mixedAdd(B0[L]),d0[2]=B0[h0].add(B0[L].neg())):(d0[1]=B0[h0].toJ().mixedAdd(B0[L]),d0[2]=B0[h0].toJ().mixedAdd(B0[L].neg()));var R=[-3,-1,-5,-7,0,7,5,1,3],b0=$(H[h0],H[L]);for(T=Math.max(b0[0].length,T),p0[h0]=new Array(T),p0[L]=new Array(T),D=0;D=0;f0--){for(var M=0;f0>=0;){var u0=!0;for(D=0;D=0&&M++,z=z.dblp(M),f0<0)break;for(D=0;D0?c0=E[D][S-1>>1]:S<0&&(c0=E[D][-S-1>>1].neg()),c0.type==="affine"?z=z.mixedAdd(c0):z=z.add(c0))}}for(f0=0;f0=Math.ceil((V.bitLength()+1)/B0.step):!1},U.prototype._getDoubles=function(V,B0){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var H=[this],y0=this,W=0;W=0&&(h0=f0,L=D),c0.negative&&(c0=c0.neg(),C=C.neg()),h0.negative&&(h0=h0.neg(),L=L.neg()),[{a:c0,b:C},{a:h0,b:L}]},Q.prototype._endoSplit=function(B0){var H=this.endo.basis,y0=H[0],W=H[1],w0=W.b.mul(B0).divRound(this.n),E=y0.b.neg().mul(B0).divRound(this.n),p0=w0.mul(y0.a),T=E.mul(W.a),f0=w0.mul(y0.b),D=E.mul(W.b),c0=B0.sub(p0).sub(T),C=f0.add(D).neg();return{k1:c0,k2:C}},Q.prototype.pointFromX=function(B0,H){B0=new G(B0,16),B0.red||(B0=B0.toRed(this.red));var y0=B0.redSqr().redMul(B0).redIAdd(B0.redMul(this.a)).redIAdd(this.b),W=y0.redSqrt();if(W.redSqr().redSub(y0).cmp(this.zero)!==0)throw new Error("invalid point");var w0=W.fromRed().isOdd();return(H&&!w0||!H&&w0)&&(W=W.redNeg()),this.point(B0,W)},Q.prototype.validate=function(B0){if(B0.inf)return!0;var{x:H,y:y0}=B0,W=this.a.redMul(H),w0=H.redSqr().redMul(H).redIAdd(W).redIAdd(this.b);return y0.redSqr().redISub(w0).cmpn(0)===0},Q.prototype._endoWnafMulAdd=function(B0,H,y0){for(var W=this._endoWnafT1,w0=this._endoWnafT2,E=0;E":""},U.prototype.isInfinity=function(){return this.inf},U.prototype.add=function(B0){if(this.inf)return B0;if(B0.inf)return this;if(this.eq(B0))return this.dbl();if(this.neg().eq(B0))return this.curve.point(null,null);if(this.x.cmp(B0.x)===0)return this.curve.point(null,null);var H=this.y.redSub(B0.y);H.cmpn(0)!==0&&(H=H.redMul(this.x.redSub(B0.x).redInvm()));var y0=H.redSqr().redISub(this.x).redISub(B0.x),W=H.redMul(this.x.redSub(y0)).redISub(this.y);return this.curve.point(y0,W)},U.prototype.dbl=function(){if(this.inf)return this;var B0=this.y.redAdd(this.y);if(B0.cmpn(0)===0)return this.curve.point(null,null);var H=this.curve.a,y0=this.x.redSqr(),W=B0.redInvm(),w0=y0.redAdd(y0).redIAdd(y0).redIAdd(H).redMul(W),E=w0.redSqr().redISub(this.x.redAdd(this.x)),p0=w0.redMul(this.x.redSub(E)).redISub(this.y);return this.curve.point(E,p0)},U.prototype.getX=function(){return this.x.fromRed()},U.prototype.getY=function(){return this.y.fromRed()},U.prototype.mul=function(B0){return B0=new G(B0,16),this.isInfinity()?this:this._hasDoubles(B0)?this.curve._fixedNafMul(this,B0):this.curve.endo?this.curve._endoWnafMulAdd([this],[B0]):this.curve._wnafMul(this,B0)},U.prototype.mulAdd=function(B0,H,y0){var W=[this,H],w0=[B0,y0];return this.curve.endo?this.curve._endoWnafMulAdd(W,w0):this.curve._wnafMulAdd(1,W,w0,2)},U.prototype.jmulAdd=function(B0,H,y0){var W=[this,H],w0=[B0,y0];return this.curve.endo?this.curve._endoWnafMulAdd(W,w0,!0):this.curve._wnafMulAdd(1,W,w0,2,!0)},U.prototype.eq=function(B0){return this===B0||this.inf===B0.inf&&(this.inf||this.x.cmp(B0.x)===0&&this.y.cmp(B0.y)===0)},U.prototype.neg=function(B0){if(this.inf)return this;var H=this.curve.point(this.x,this.y.redNeg());if(B0&&this.precomputed){var y0=this.precomputed,W=function(w0){return w0.neg()};H.precomputed={naf:y0.naf&&{wnd:y0.naf.wnd,points:y0.naf.points.map(W)},doubles:y0.doubles&&{step:y0.doubles.step,points:y0.doubles.points.map(W)}}}return H},U.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var B0=this.curve.jpoint(this.x,this.y,this.curve.one);return B0};function V(B0,H,y0,W){$.BasePoint.call(this,B0,"jacobian"),H===null&&y0===null&&W===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new G(0)):(this.x=new G(H,16),this.y=new G(y0,16),this.z=new G(W,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}Y(V,$.BasePoint),Q.prototype.jpoint=function(B0,H,y0){return new V(this,B0,H,y0)},V.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var B0=this.z.redInvm(),H=B0.redSqr(),y0=this.x.redMul(H),W=this.y.redMul(H).redMul(B0);return this.curve.point(y0,W)},V.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},V.prototype.add=function(B0){if(this.isInfinity())return B0;if(B0.isInfinity())return this;var H=B0.z.redSqr(),y0=this.z.redSqr(),W=this.x.redMul(H),w0=B0.x.redMul(y0),E=this.y.redMul(H.redMul(B0.z)),p0=B0.y.redMul(y0.redMul(this.z)),T=W.redSub(w0),f0=E.redSub(p0);if(T.cmpn(0)===0)return f0.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var D=T.redSqr(),c0=D.redMul(T),C=W.redMul(D),h0=f0.redSqr().redIAdd(c0).redISub(C).redISub(C),L=f0.redMul(C.redISub(h0)).redISub(E.redMul(c0)),d0=this.z.redMul(B0.z).redMul(T);return this.curve.jpoint(h0,L,d0)},V.prototype.mixedAdd=function(B0){if(this.isInfinity())return B0.toJ();if(B0.isInfinity())return this;var H=this.z.redSqr(),y0=this.x,W=B0.x.redMul(H),w0=this.y,E=B0.y.redMul(H).redMul(this.z),p0=y0.redSub(W),T=w0.redSub(E);if(p0.cmpn(0)===0)return T.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var f0=p0.redSqr(),D=f0.redMul(p0),c0=y0.redMul(f0),C=T.redSqr().redIAdd(D).redISub(c0).redISub(c0),h0=T.redMul(c0.redISub(C)).redISub(w0.redMul(D)),L=this.z.redMul(p0);return this.curve.jpoint(C,h0,L)},V.prototype.dblp=function(B0){if(B0===0)return this;if(this.isInfinity())return this;if(!B0)return this.dbl();var H;if(this.curve.zeroA||this.curve.threeA){var y0=this;for(H=0;H=0)return!1;if(y0.redIAdd(w0),this.x.cmp(y0)===0)return!0}},V.prototype.inspect=function(){return this.isInfinity()?"":""},V.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),sQ=$Q({"node_modules/elliptic/lib/elliptic/curve/mont.js"(X,K){var x0=bQ(),G=X0(),Y=uQ(),$=oQ();function Z(U){Y.call(this,"mont",U),this.a=new x0(U.a,16).toRed(this.red),this.b=new x0(U.b,16).toRed(this.red),this.i4=new x0(4).toRed(this.red).redInvm(),this.two=new x0(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}G(Z,Y),K.exports=Z,Z.prototype.validate=function(U){var V=U.normalize().x,B0=V.redSqr(),H=B0.redMul(V).redAdd(B0.redMul(this.a)).redAdd(V),y0=H.redSqrt();return y0.redSqr().cmp(H)===0};function Q(U,V,B0){Y.BasePoint.call(this,U,"projective"),V===null&&B0===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new x0(V,16),this.z=new x0(B0,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}G(Q,Y.BasePoint),Z.prototype.decodePoint=function(U,V){return this.point($.toArray(U,V),1)},Z.prototype.point=function(U,V){return new Q(this,U,V)},Z.prototype.pointFromJSON=function(U){return Q.fromJSON(this,U)},Q.prototype.precompute=function(){},Q.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Q.fromJSON=function(U,V){return new Q(U,V[0],V[1]||U.one)},Q.prototype.inspect=function(){return this.isInfinity()?"":""},Q.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Q.prototype.dbl=function(){var U=this.x.redAdd(this.z),V=U.redSqr(),B0=this.x.redSub(this.z),H=B0.redSqr(),y0=V.redSub(H),W=V.redMul(H),w0=y0.redMul(H.redAdd(this.curve.a24.redMul(y0)));return this.curve.point(W,w0)},Q.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Q.prototype.diffAdd=function(U,V){var B0=this.x.redAdd(this.z),H=this.x.redSub(this.z),y0=U.x.redAdd(U.z),W=U.x.redSub(U.z),w0=W.redMul(B0),E=y0.redMul(H),p0=V.z.redMul(w0.redAdd(E).redSqr()),T=V.x.redMul(w0.redISub(E).redSqr());return this.curve.point(p0,T)},Q.prototype.mul=function(U){for(var V=U.clone(),B0=this,H=this.curve.point(null,null),y0=this,W=[];V.cmpn(0)!==0;V.iushrn(1))W.push(V.andln(1));for(var w0=W.length-1;w0>=0;w0--)W[w0]===0?(B0=B0.diffAdd(H,y0),H=H.dbl()):(H=B0.diffAdd(H,y0),B0=B0.dbl());return H},Q.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Q.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Q.prototype.eq=function(U){return this.getX().cmp(U.getX())===0},Q.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Q.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),tQ=$Q({"node_modules/elliptic/lib/elliptic/curve/edwards.js"(X,K){var x0=oQ(),G=bQ(),Y=X0(),$=uQ(),Z=x0.assert;function Q(V){this.twisted=(V.a|0)!==1,this.mOneA=this.twisted&&(V.a|0)===-1,this.extended=this.mOneA,$.call(this,"edwards",V),this.a=new G(V.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new G(V.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new G(V.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Z(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(V.c|0)===1}Y(Q,$),K.exports=Q,Q.prototype._mulA=function(V){return this.mOneA?V.redNeg():this.a.redMul(V)},Q.prototype._mulC=function(V){return this.oneC?V:this.c.redMul(V)},Q.prototype.jpoint=function(V,B0,H,y0){return this.point(V,B0,H,y0)},Q.prototype.pointFromX=function(V,B0){V=new G(V,16),V.red||(V=V.toRed(this.red));var H=V.redSqr(),y0=this.c2.redSub(this.a.redMul(H)),W=this.one.redSub(this.c2.redMul(this.d).redMul(H)),w0=y0.redMul(W.redInvm()),E=w0.redSqrt();if(E.redSqr().redSub(w0).cmp(this.zero)!==0)throw new Error("invalid point");var p0=E.fromRed().isOdd();return(B0&&!p0||!B0&&p0)&&(E=E.redNeg()),this.point(V,E)},Q.prototype.pointFromY=function(V,B0){V=new G(V,16),V.red||(V=V.toRed(this.red));var H=V.redSqr(),y0=H.redSub(this.c2),W=H.redMul(this.d).redMul(this.c2).redSub(this.a),w0=y0.redMul(W.redInvm());if(w0.cmp(this.zero)===0){if(B0)throw new Error("invalid point");return this.point(this.zero,V)}var E=w0.redSqrt();if(E.redSqr().redSub(w0).cmp(this.zero)!==0)throw new Error("invalid point");return E.fromRed().isOdd()!==B0&&(E=E.redNeg()),this.point(E,V)},Q.prototype.validate=function(V){if(V.isInfinity())return!0;V.normalize();var B0=V.x.redSqr(),H=V.y.redSqr(),y0=B0.redMul(this.a).redAdd(H),W=this.c2.redMul(this.one.redAdd(this.d.redMul(B0).redMul(H)));return y0.cmp(W)===0};function U(V,B0,H,y0,W){$.BasePoint.call(this,V,"projective"),B0===null&&H===null&&y0===null?(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 G(B0,16),this.y=new G(H,16),this.z=y0?new G(y0,16):this.curve.one,this.t=W&&new G(W,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()))))}Y(U,$.BasePoint),Q.prototype.pointFromJSON=function(V){return U.fromJSON(this,V)},Q.prototype.point=function(V,B0,H,y0){return new U(this,V,B0,H,y0)},U.fromJSON=function(V,B0){return new U(V,B0[0],B0[1],B0[2])},U.prototype.inspect=function(){return this.isInfinity()?"":""},U.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},U.prototype._extDbl=function(){var V=this.x.redSqr(),B0=this.y.redSqr(),H=this.z.redSqr();H=H.redIAdd(H);var y0=this.curve._mulA(V),W=this.x.redAdd(this.y).redSqr().redISub(V).redISub(B0),w0=y0.redAdd(B0),E=w0.redSub(H),p0=y0.redSub(B0),T=W.redMul(E),f0=w0.redMul(p0),D=W.redMul(p0),c0=E.redMul(w0);return this.curve.point(T,f0,c0,D)},U.prototype._projDbl=function(){var V=this.x.redAdd(this.y).redSqr(),B0=this.x.redSqr(),H=this.y.redSqr(),y0,W,w0,E,p0,T;if(this.curve.twisted){E=this.curve._mulA(B0);var f0=E.redAdd(H);this.zOne?(y0=V.redSub(B0).redSub(H).redMul(f0.redSub(this.curve.two)),W=f0.redMul(E.redSub(H)),w0=f0.redSqr().redSub(f0).redSub(f0)):(p0=this.z.redSqr(),T=f0.redSub(p0).redISub(p0),y0=V.redSub(B0).redISub(H).redMul(T),W=f0.redMul(E.redSub(H)),w0=f0.redMul(T))}else E=B0.redAdd(H),p0=this.curve._mulC(this.z).redSqr(),T=E.redSub(p0).redSub(p0),y0=this.curve._mulC(V.redISub(E)).redMul(T),W=this.curve._mulC(E).redMul(B0.redISub(H)),w0=E.redMul(T);return this.curve.point(y0,W,w0)},U.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},U.prototype._extAdd=function(V){var B0=this.y.redSub(this.x).redMul(V.y.redSub(V.x)),H=this.y.redAdd(this.x).redMul(V.y.redAdd(V.x)),y0=this.t.redMul(this.curve.dd).redMul(V.t),W=this.z.redMul(V.z.redAdd(V.z)),w0=H.redSub(B0),E=W.redSub(y0),p0=W.redAdd(y0),T=H.redAdd(B0),f0=w0.redMul(E),D=p0.redMul(T),c0=w0.redMul(T),C=E.redMul(p0);return this.curve.point(f0,D,C,c0)},U.prototype._projAdd=function(V){var B0=this.z.redMul(V.z),H=B0.redSqr(),y0=this.x.redMul(V.x),W=this.y.redMul(V.y),w0=this.curve.d.redMul(y0).redMul(W),E=H.redSub(w0),p0=H.redAdd(w0),T=this.x.redAdd(this.y).redMul(V.x.redAdd(V.y)).redISub(y0).redISub(W),f0=B0.redMul(E).redMul(T),D,c0;return this.curve.twisted?(D=B0.redMul(p0).redMul(W.redSub(this.curve._mulA(y0))),c0=E.redMul(p0)):(D=B0.redMul(p0).redMul(W.redSub(y0)),c0=this.curve._mulC(E).redMul(p0)),this.curve.point(f0,D,c0)},U.prototype.add=function(V){return this.isInfinity()?V:V.isInfinity()?this:this.curve.extended?this._extAdd(V):this._projAdd(V)},U.prototype.mul=function(V){return this._hasDoubles(V)?this.curve._fixedNafMul(this,V):this.curve._wnafMul(this,V)},U.prototype.mulAdd=function(V,B0,H){return this.curve._wnafMulAdd(1,[this,B0],[V,H],2,!1)},U.prototype.jmulAdd=function(V,B0,H){return this.curve._wnafMulAdd(1,[this,B0],[V,H],2,!0)},U.prototype.normalize=function(){if(this.zOne)return this;var V=this.z.redInvm();return this.x=this.x.redMul(V),this.y=this.y.redMul(V),this.t&&(this.t=this.t.redMul(V)),this.z=this.curve.one,this.zOne=!0,this},U.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},U.prototype.getX=function(){return this.normalize(),this.x.fromRed()},U.prototype.getY=function(){return this.normalize(),this.y.fromRed()},U.prototype.eq=function(V){return this===V||this.getX().cmp(V.getX())===0&&this.getY().cmp(V.getY())===0},U.prototype.eqXToP=function(V){var B0=V.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(B0)===0)return!0;for(var H=V.clone(),y0=this.curve.redN.redMul(this.z);;){if(H.iadd(this.curve.n),H.cmp(this.curve.p)>=0)return!1;if(B0.redIAdd(y0),this.x.cmp(B0)===0)return!0}},U.prototype.toP=U.prototype.normalize,U.prototype.mixedAdd=U.prototype.add}}),mQ=$Q({"node_modules/elliptic/lib/elliptic/curve/index.js"(X){var K=X;K.base=uQ(),K.short=nQ(),K.mont=sQ(),K.edwards=tQ()}}),aQ=$Q({"node_modules/hash.js/lib/hash/utils.js"(X){var K=N0(),x0=X0();X.inherits=x0;function G(z,o0){return(z.charCodeAt(o0)&64512)!==55296||o0<0||o0+1>=z.length?!1:(z.charCodeAt(o0+1)&64512)===56320}function Y(z,o0){if(Array.isArray(z))return z.slice();if(!z)return[];var M=[];if(typeof z=="string")if(o0){if(o0==="hex")for(z=z.replace(/[^a-z0-9]+/gi,""),z.length%2!==0&&(z="0"+z),S=0;S>6|192,M[u0++]=n0&63|128):G(z,S)?(n0=65536+((n0&1023)<<10)+(z.charCodeAt(++S)&1023),M[u0++]=n0>>18|240,M[u0++]=n0>>12&63|128,M[u0++]=n0>>6&63|128,M[u0++]=n0&63|128):(M[u0++]=n0>>12|224,M[u0++]=n0>>6&63|128,M[u0++]=n0&63|128)}else for(S=0;S>>24|z>>>8&65280|z<<8&16711680|(z&255)<<24;return o0>>>0}X.htonl=Z;function Q(z,o0){for(var M="",u0=0;u0>>0}return n0}X.join32=B0;function H(z,o0){for(var M=new Array(z.length*4),u0=0,S=0;u0>>24,M[S+1]=n0>>>16&255,M[S+2]=n0>>>8&255,M[S+3]=n0&255):(M[S+3]=n0>>>24,M[S+2]=n0>>>16&255,M[S+1]=n0>>>8&255,M[S]=n0&255)}return M}X.split32=H;function y0(z,o0){return z>>>o0|z<<32-o0}X.rotr32=y0;function W(z,o0){return z<>>32-o0}X.rotl32=W;function w0(z,o0){return z+o0>>>0}X.sum32=w0;function E(z,o0,M){return z+o0+M>>>0}X.sum32_3=E;function p0(z,o0,M,u0){return z+o0+M+u0>>>0}X.sum32_4=p0;function T(z,o0,M,u0,S){return z+o0+M+u0+S>>>0}X.sum32_5=T;function f0(z,o0,M,u0){var S=z[o0],n0=z[o0+1],v=u0+n0>>>0,s0=(v>>0,z[o0+1]=v}X.sum64=f0;function D(z,o0,M,u0){var S=o0+u0>>>0,n0=(S>>0}X.sum64_hi=D;function c0(z,o0,M,u0){var S=o0+u0;return S>>>0}X.sum64_lo=c0;function C(z,o0,M,u0,S,n0,v,s0){var I=0,t0=o0;t0=t0+u0>>>0,I+=t0>>0,I+=t0>>0,I+=t0>>0}X.sum64_4_hi=C;function h0(z,o0,M,u0,S,n0,v,s0){var I=o0+u0+n0+s0;return I>>>0}X.sum64_4_lo=h0;function L(z,o0,M,u0,S,n0,v,s0,I,t0){var m0=0,a0=o0;a0=a0+u0>>>0,m0+=a0>>0,m0+=a0>>0,m0+=a0>>0,m0+=a0>>0}X.sum64_5_hi=L;function d0(z,o0,M,u0,S,n0,v,s0,I,t0){var m0=o0+u0+n0+s0+t0;return m0>>>0}X.sum64_5_lo=d0;function R(z,o0,M){var u0=o0<<32-M|z>>>M;return u0>>>0}X.rotr64_hi=R;function b0(z,o0,M){var u0=z<<32-M|o0>>>M;return u0>>>0}X.rotr64_lo=b0;function P(z,o0,M){return z>>>M}X.shr64_hi=P;function l0(z,o0,M){var u0=z<<32-M|o0>>>M;return u0>>>0}X.shr64_lo=l0}}),eQ=$Q({"node_modules/hash.js/lib/hash/common.js"(X){var K=aQ(),x0=N0();function G(){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}X.BlockHash=G,G.prototype.update=function(Y,$){if(Y=K.toArray(Y,$),this.pending?this.pending=this.pending.concat(Y):this.pending=Y,this.pendingTotal+=Y.length,this.pending.length>=this._delta8){Y=this.pending;var Z=Y.length%this._delta8;this.pending=Y.slice(Y.length-Z,Y.length),this.pending.length===0&&(this.pending=null),Y=K.join32(Y,0,Y.length-Z,this.endian);for(var Q=0;Q>>24&255,Q[U++]=Y>>>16&255,Q[U++]=Y>>>8&255,Q[U++]=Y&255}else for(Q[U++]=Y&255,Q[U++]=Y>>>8&255,Q[U++]=Y>>>16&255,Q[U++]=Y>>>24&255,Q[U++]=0,Q[U++]=0,Q[U++]=0,Q[U++]=0,V=8;V>>3}X.g0_256=V;function B0(H){return x0(H,17)^x0(H,19)^H>>>10}X.g1_256=B0}}),iQ=$Q({"node_modules/hash.js/lib/hash/sha/1.js"(X,K){var x0=aQ(),G=eQ(),Y=rQ(),$=x0.rotl32,Z=x0.sum32,Q=x0.sum32_5,U=Y.ft_1,V=G.BlockHash,B0=[1518500249,1859775393,2400959708,3395469782];function H(){if(!(this instanceof H))return new H;V.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}x0.inherits(H,V),K.exports=H,H.blockSize=512,H.outSize=160,H.hmacStrength=80,H.padLength=64,H.prototype._update=function(y0,W){for(var w0=this.W,E=0;E<16;E++)w0[E]=y0[W+E];for(;Ethis.blockSize&&($=new this.Hash().update($).digest()),G($.length<=this.blockSize);for(var Z=$.length;Z=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(Q,U,V)}K.exports=$,$.prototype._init=function(Z,Q,U){var V=Z.concat(Q).concat(U);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var B0=0;B0=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(Z.concat(U||[])),this._reseed=1},$.prototype.generate=function(Z,Q,U,V){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof Q!="string"&&(V=U,U=Q,Q=null),U&&(U=G.toArray(U,V||"hex"),this._update(U));for(var B0=[];B0.length"}}}),FY=$Q({"node_modules/elliptic/lib/elliptic/ec/signature.js"(X,K){var x0=bQ(),G=oQ(),Y=G.assert;function $(B0,H){if(B0 instanceof $)return B0;this._importDER(B0,H)||(Y(B0.r&&B0.s,"Signature without r or s"),this.r=new x0(B0.r,16),this.s=new x0(B0.s,16),B0.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=B0.recoveryParam)}K.exports=$;function Z(){this.place=0}function Q(B0,H){var y0=B0[H.place++];if(!(y0&128))return y0;var W=y0&15;if(W===0||W>4)return!1;for(var w0=0,E=0,p0=H.place;E>>=0;return w0<=127?!1:(H.place=p0,w0)}function U(B0){for(var H=0,y0=B0.length-1;!B0[H]&&!(B0[H+1]&128)&&H>>3);for(B0.push(y0|128);--y0;)B0.push(H>>>(y0<<3)&255);B0.push(H)}$.prototype.toDER=function(B0){var H=this.r.toArray(),y0=this.s.toArray();for(H[0]&128&&(H=[0].concat(H)),y0[0]&128&&(y0=[0].concat(y0)),H=U(H),y0=U(y0);!y0[0]&&!(y0[1]&128);)y0=y0.slice(1);var W=[2];V(W,H.length),W=W.concat(H),W.push(2),V(W,y0.length);var w0=W.concat(y0),E=[48];return V(E,w0.length),E=E.concat(w0),G.encode(E,B0)}}}),AY=$Q({"node_modules/elliptic/lib/elliptic/ec/index.js"(X,K){var x0=bQ(),G=OY(),Y=oQ(),$=IY(),Z=xQ(),Q=Y.assert,U=JY(),V=FY();function B0(H){if(!(this instanceof B0))return new B0(H);typeof H=="string"&&(Q(Object.prototype.hasOwnProperty.call($,H),"Unknown curve "+H),H=$[H]),H instanceof $.PresetCurve&&(H={curve:H}),this.curve=H.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=H.curve.g,this.g.precompute(H.curve.n.bitLength()+1),this.hash=H.hash||H.curve.hash}K.exports=B0,B0.prototype.keyPair=function(H){return new U(this,H)},B0.prototype.keyFromPrivate=function(H,y0){return U.fromPrivate(this,H,y0)},B0.prototype.keyFromPublic=function(H,y0){return U.fromPublic(this,H,y0)},B0.prototype.genKeyPair=function(H){H||(H={});for(var y0=new G({hash:this.hash,pers:H.pers,persEnc:H.persEnc||"utf8",entropy:H.entropy||Z(this.hash.hmacStrength),entropyEnc:H.entropy&&H.entropyEnc||"utf8",nonce:this.n.toArray()}),W=this.n.byteLength(),w0=this.n.sub(new x0(2));;){var E=new x0(y0.generate(W));if(!(E.cmp(w0)>0))return E.iaddn(1),this.keyFromPrivate(E)}},B0.prototype._truncateToN=function(H,y0){var W=H.byteLength()*8-this.n.bitLength();return W>0&&(H=H.ushrn(W)),!y0&&H.cmp(this.n)>=0?H.sub(this.n):H},B0.prototype.sign=function(H,y0,W,w0){typeof W=="object"&&(w0=W,W=null),w0||(w0={}),y0=this.keyFromPrivate(y0,W),H=this._truncateToN(new x0(H,16));for(var E=this.n.byteLength(),p0=y0.getPrivate().toArray("be",E),T=H.toArray("be",E),f0=new G({hash:this.hash,entropy:p0,nonce:T,pers:w0.pers,persEnc:w0.persEnc||"utf8"}),D=this.n.sub(new x0(1)),c0=0;;c0++){var C=w0.k?w0.k(c0):new x0(f0.generate(this.n.byteLength()));if(C=this._truncateToN(C,!0),!(C.cmpn(1)<=0||C.cmp(D)>=0)){var h0=this.g.mul(C);if(!h0.isInfinity()){var L=h0.getX(),d0=L.umod(this.n);if(d0.cmpn(0)!==0){var R=C.invm(this.n).mul(d0.mul(y0.getPrivate()).iadd(H));if(R=R.umod(this.n),R.cmpn(0)!==0){var b0=(h0.getY().isOdd()?1:0)|(L.cmp(d0)!==0?2:0);return w0.canonical&&R.cmp(this.nh)>0&&(R=this.n.sub(R),b0^=1),new V({r:d0,s:R,recoveryParam:b0})}}}}}},B0.prototype.verify=function(H,y0,W,w0){H=this._truncateToN(new x0(H,16)),W=this.keyFromPublic(W,w0),y0=new V(y0,"hex");var{r:E,s:p0}=y0;if(E.cmpn(1)<0||E.cmp(this.n)>=0||p0.cmpn(1)<0||p0.cmp(this.n)>=0)return!1;var T=p0.invm(this.n),f0=T.mul(H).umod(this.n),D=T.mul(E).umod(this.n),c0;return this.curve._maxwellTrick?(c0=this.g.jmulAdd(f0,W.getPublic(),D),c0.isInfinity()?!1:c0.eqXToP(E)):(c0=this.g.mulAdd(f0,W.getPublic(),D),c0.isInfinity()?!1:c0.getX().umod(this.n).cmp(E)===0)},B0.prototype.recoverPubKey=function(H,y0,W,w0){Q((3&W)===W,"The recovery param is more than two bits"),y0=new V(y0,w0);var E=this.n,p0=new x0(H),T=y0.r,f0=y0.s,D=W&1,c0=W>>1;if(T.cmp(this.curve.p.umod(this.curve.n))>=0&&c0)throw new Error("Unable to find sencond key candinate");c0?T=this.curve.pointFromX(T.add(this.curve.n),D):T=this.curve.pointFromX(T,D);var C=y0.r.invm(E),h0=E.sub(p0).mul(C).umod(E),L=f0.mul(C).umod(E);return this.g.mulAdd(h0,T,L)},B0.prototype.getKeyRecoveryParam=function(H,y0,W,w0){if(y0=new V(y0,w0),y0.recoveryParam!==null)return y0.recoveryParam;for(var E=0;E<4;E++){var p0;try{p0=this.recoverPubKey(H,y0,E)}catch{continue}if(p0.eq(W))return E}throw new Error("Unable to find valid recovery factor")}}}),HY=$Q({"node_modules/elliptic/lib/elliptic/eddsa/key.js"(X,K){var x0=oQ(),G=x0.assert,Y=x0.parseBytes,$=x0.cachedProperty;function Z(Q,U){this.eddsa=Q,this._secret=Y(U.secret),Q.isPoint(U.pub)?this._pub=U.pub:this._pubBytes=Y(U.pub)}Z.fromPublic=function(Q,U){return U instanceof Z?U:new Z(Q,{pub:U})},Z.fromSecret=function(Q,U){return U instanceof Z?U:new Z(Q,{secret:U})},Z.prototype.secret=function(){return this._secret},$(Z,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),$(Z,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),$(Z,"privBytes",function(){var Q=this.eddsa,U=this.hash(),V=Q.encodingLength-1,B0=U.slice(0,Q.encodingLength);return B0[0]&=248,B0[V]&=127,B0[V]|=64,B0}),$(Z,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),$(Z,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),$(Z,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),Z.prototype.sign=function(Q){return G(this._secret,"KeyPair can only verify"),this.eddsa.sign(Q,this)},Z.prototype.verify=function(Q,U){return this.eddsa.verify(Q,U,this)},Z.prototype.getSecret=function(Q){return G(this._secret,"KeyPair is public only"),x0.encode(this.secret(),Q)},Z.prototype.getPublic=function(Q){return x0.encode(this.pubBytes(),Q)},K.exports=Z}}),WY=$Q({"node_modules/elliptic/lib/elliptic/eddsa/signature.js"(X,K){var x0=bQ(),G=oQ(),Y=G.assert,$=G.cachedProperty,Z=G.parseBytes;function Q(U,V){this.eddsa=U,typeof V!="object"&&(V=Z(V)),Array.isArray(V)&&(V={R:V.slice(0,U.encodingLength),S:V.slice(U.encodingLength)}),Y(V.R&&V.S,"Signature without R or S"),U.isPoint(V.R)&&(this._R=V.R),V.S instanceof x0&&(this._S=V.S),this._Rencoded=Array.isArray(V.R)?V.R:V.Rencoded,this._Sencoded=Array.isArray(V.S)?V.S:V.Sencoded}$(Q,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),$(Q,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),$(Q,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),$(Q,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),Q.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Q.prototype.toHex=function(){return G.encode(this.toBytes(),"hex").toUpperCase()},K.exports=Q}}),EY=$Q({"node_modules/elliptic/lib/elliptic/eddsa/index.js"(X,K){var x0=XY(),G=IY(),Y=oQ(),$=Y.assert,Z=Y.parseBytes,Q=HY(),U=WY();function V(B0){if($(B0==="ed25519","only tested with ed25519 so far"),!(this instanceof V))return new V(B0);B0=G[B0].curve,this.curve=B0,this.g=B0.g,this.g.precompute(B0.n.bitLength()+1),this.pointClass=B0.point().constructor,this.encodingLength=Math.ceil(B0.n.bitLength()/8),this.hash=x0.sha512}K.exports=V,V.prototype.sign=function(B0,H){B0=Z(B0);var y0=this.keyFromSecret(H),W=this.hashInt(y0.messagePrefix(),B0),w0=this.g.mul(W),E=this.encodePoint(w0),p0=this.hashInt(E,y0.pubBytes(),B0).mul(y0.priv()),T=W.add(p0).umod(this.curve.n);return this.makeSignature({R:w0,S:T,Rencoded:E})},V.prototype.verify=function(B0,H,y0){B0=Z(B0),H=this.makeSignature(H);var W=this.keyFromPublic(y0),w0=this.hashInt(H.Rencoded(),W.pubBytes(),B0),E=this.g.mul(H.S()),p0=H.R().add(W.pub().mul(w0));return p0.eq(E)},V.prototype.hashInt=function(){for(var B0=this.hash(),H=0;H0?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),CY=$Q({"node_modules/safer-buffer/safer.js"(X,K){var x0=e$,G=c$,Y={},$;for($ in x0)!x0.hasOwnProperty($)||$==="SlowBuffer"||$==="Buffer"||(Y[$]=x0[$]);var Z=Y.Buffer={};for($ in G)!G.hasOwnProperty($)||$==="allocUnsafe"||$==="allocUnsafeSlow"||(Z[$]=G[$]);if(Y.Buffer.prototype=G.prototype,(!Z.from||Z.from===Uint8Array.from)&&(Z.from=function(Q,U,V){if(typeof Q=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof Q);if(Q&&typeof Q.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Q);return G(Q,U,V)}),Z.alloc||(Z.alloc=function(Q,U,V){if(typeof Q!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof Q);if(Q<0||Q>=2*(1<<30))throw new RangeError('The value "'+Q+'" is invalid for option "size"');var B0=G(Q);return!U||U.length===0?B0.fill(0):typeof V=="string"?B0.fill(U,V):B0.fill(U),B0}),!Y.kStringMaxLength)try{Y.kStringMaxLength=r$}catch{}Y.constants||(Y.constants={MAX_LENGTH:Y.kMaxLength},Y.kStringMaxLength&&(Y.constants.MAX_STRING_LENGTH=Y.kStringMaxLength)),K.exports=Y}}),LY=$Q({"node_modules/asn1.js/lib/asn1/base/reporter.js"(X){var K=X0();function x0(Y){this._reporterState={obj:null,path:[],options:Y||{},errors:[]}}X.Reporter=x0,x0.prototype.isError=function(Y){return Y instanceof G},x0.prototype.save=function(){let Y=this._reporterState;return{obj:Y.obj,pathLen:Y.path.length}},x0.prototype.restore=function(Y){let $=this._reporterState;$.obj=Y.obj,$.path=$.path.slice(0,Y.pathLen)},x0.prototype.enterKey=function(Y){return this._reporterState.path.push(Y)},x0.prototype.exitKey=function(Y){let $=this._reporterState;$.path=$.path.slice(0,Y-1)},x0.prototype.leaveKey=function(Y,$,Z){let Q=this._reporterState;this.exitKey(Y),Q.obj!==null&&(Q.obj[$]=Z)},x0.prototype.path=function(){return this._reporterState.path.join("/")},x0.prototype.enterObject=function(){let Y=this._reporterState,$=Y.obj;return Y.obj={},$},x0.prototype.leaveObject=function(Y){let $=this._reporterState,Z=$.obj;return $.obj=Y,Z},x0.prototype.error=function(Y){let $,Z=this._reporterState,Q=Y instanceof G;if(Q?$=Y:$=new G(Z.path.map(function(U){return"["+JSON.stringify(U)+"]"}).join(""),Y.message||Y,Y.stack),!Z.options.partial)throw $;return Q||Z.errors.push($),$},x0.prototype.wrapResult=function(Y){let $=this._reporterState;return $.options.partial?{result:this.isError(Y)?null:Y,errors:$.errors}:Y};function G(Y,$){this.path=Y,this.rethrow($)}K(G,Error),G.prototype.rethrow=function(Y){if(this.message=Y+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,G),!this.stack)try{throw new Error(this.message)}catch($){this.stack=$.stack}return this}}}),l$=$Q({"node_modules/asn1.js/lib/asn1/base/buffer.js"(X){var K=X0(),x0=LY().Reporter,G=CY().Buffer;function Y(Z,Q){if(x0.call(this,Q),!G.isBuffer(Z)){this.error("Input not Buffer");return}this.base=Z,this.offset=0,this.length=Z.length}K(Y,x0),X.DecoderBuffer=Y,Y.isDecoderBuffer=function(Z){return Z instanceof Y?!0:typeof Z=="object"&&G.isBuffer(Z.base)&&Z.constructor.name==="DecoderBuffer"&&typeof Z.offset=="number"&&typeof Z.length=="number"&&typeof Z.save=="function"&&typeof Z.restore=="function"&&typeof Z.isEmpty=="function"&&typeof Z.readUInt8=="function"&&typeof Z.skip=="function"&&typeof Z.raw=="function"},Y.prototype.save=function(){return{offset:this.offset,reporter:x0.prototype.save.call(this)}},Y.prototype.restore=function(Z){let Q=new Y(this.base);return Q.offset=Z.offset,Q.length=this.offset,this.offset=Z.offset,x0.prototype.restore.call(this,Z.reporter),Q},Y.prototype.isEmpty=function(){return this.offset===this.length},Y.prototype.readUInt8=function(Z){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(Z||"DecoderBuffer overrun")},Y.prototype.skip=function(Z,Q){if(!(this.offset+Z<=this.length))return this.error(Q||"DecoderBuffer overrun");let U=new Y(this.base);return U._reporterState=this._reporterState,U.offset=this.offset,U.length=this.offset+Z,this.offset+=Z,U},Y.prototype.raw=function(Z){return this.base.slice(Z?Z.offset:this.offset,this.length)};function $(Z,Q){if(Array.isArray(Z))this.length=0,this.value=Z.map(function(U){return $.isEncoderBuffer(U)||(U=new $(U,Q)),this.length+=U.length,U},this);else if(typeof Z=="number"){if(!(0<=Z&&Z<=255))return Q.error("non-byte EncoderBuffer value");this.value=Z,this.length=1}else if(typeof Z=="string")this.value=Z,this.length=G.byteLength(Z);else if(G.isBuffer(Z))this.value=Z,this.length=Z.length;else return Q.error("Unsupported type: "+typeof Z)}X.EncoderBuffer=$,$.isEncoderBuffer=function(Z){return Z instanceof $?!0:typeof Z=="object"&&Z.constructor.name==="EncoderBuffer"&&typeof Z.length=="number"&&typeof Z.join=="function"},$.prototype.join=function(Z,Q){return Z||(Z=G.alloc(this.length)),Q||(Q=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(U){U.join(Z,Q),Q+=U.length}):(typeof this.value=="number"?Z[Q]=this.value:typeof this.value=="string"?Z.write(this.value,Q):G.isBuffer(this.value)&&this.value.copy(Z,Q),Q+=this.length)),Z}}}),RY=$Q({"node_modules/asn1.js/lib/asn1/base/node.js"(X,K){var x0=LY().Reporter,G=l$().EncoderBuffer,Y=l$().DecoderBuffer,$=N0(),Z=["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"],Q=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(Z),U=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function V(H,y0,W){let w0={};this._baseState=w0,w0.name=W,w0.enc=H,w0.parent=y0||null,w0.children=null,w0.tag=null,w0.args=null,w0.reverseArgs=null,w0.choice=null,w0.optional=!1,w0.any=!1,w0.obj=!1,w0.use=null,w0.useDecoder=null,w0.key=null,w0.default=null,w0.explicit=null,w0.implicit=null,w0.contains=null,w0.parent||(w0.children=[],this._wrap())}K.exports=V;var B0=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];V.prototype.clone=function(){let H=this._baseState,y0={};B0.forEach(function(w0){y0[w0]=H[w0]});let W=new this.constructor(y0.parent);return W._baseState=y0,W},V.prototype._wrap=function(){let H=this._baseState;Q.forEach(function(y0){this[y0]=function(){let W=new this.constructor(this);return H.children.push(W),W[y0].apply(W,arguments)}},this)},V.prototype._init=function(H){let y0=this._baseState;$(y0.parent===null),H.call(this),y0.children=y0.children.filter(function(W){return W._baseState.parent===this},this),$.equal(y0.children.length,1,"Root node can have only one child")},V.prototype._useArgs=function(H){let y0=this._baseState,W=H.filter(function(w0){return w0 instanceof this.constructor},this);H=H.filter(function(w0){return!(w0 instanceof this.constructor)},this),W.length!==0&&($(y0.children===null),y0.children=W,W.forEach(function(w0){w0._baseState.parent=this},this)),H.length!==0&&($(y0.args===null),y0.args=H,y0.reverseArgs=H.map(function(w0){if(typeof w0!="object"||w0.constructor!==Object)return w0;let E={};return Object.keys(w0).forEach(function(p0){p0==(p0|0)&&(p0|=0);let T=w0[p0];E[T]=p0}),E}))},U.forEach(function(H){V.prototype[H]=function(){let y0=this._baseState;throw new Error(H+" not implemented for encoding: "+y0.enc)}}),Z.forEach(function(H){V.prototype[H]=function(){let y0=this._baseState,W=Array.prototype.slice.call(arguments);return $(y0.tag===null),y0.tag=H,this._useArgs(W),this}}),V.prototype.use=function(H){$(H);let y0=this._baseState;return $(y0.use===null),y0.use=H,this},V.prototype.optional=function(){let H=this._baseState;return H.optional=!0,this},V.prototype.def=function(H){let y0=this._baseState;return $(y0.default===null),y0.default=H,y0.optional=!0,this},V.prototype.explicit=function(H){let y0=this._baseState;return $(y0.explicit===null&&y0.implicit===null),y0.explicit=H,this},V.prototype.implicit=function(H){let y0=this._baseState;return $(y0.explicit===null&&y0.implicit===null),y0.implicit=H,this},V.prototype.obj=function(){let H=this._baseState,y0=Array.prototype.slice.call(arguments);return H.obj=!0,y0.length!==0&&this._useArgs(y0),this},V.prototype.key=function(H){let y0=this._baseState;return $(y0.key===null),y0.key=H,this},V.prototype.any=function(){let H=this._baseState;return H.any=!0,this},V.prototype.choice=function(H){let y0=this._baseState;return $(y0.choice===null),y0.choice=H,this._useArgs(Object.keys(H).map(function(W){return H[W]})),this},V.prototype.contains=function(H){let y0=this._baseState;return $(y0.use===null),y0.contains=H,this},V.prototype._decode=function(H,y0){let W=this._baseState;if(W.parent===null)return H.wrapResult(W.children[0]._decode(H,y0));let w0=W.default,E=!0,p0=null;if(W.key!==null&&(p0=H.enterKey(W.key)),W.optional){let f0=null;if(W.explicit!==null?f0=W.explicit:W.implicit!==null?f0=W.implicit:W.tag!==null&&(f0=W.tag),f0===null&&!W.any){let D=H.save();try{W.choice===null?this._decodeGeneric(W.tag,H,y0):this._decodeChoice(H,y0),E=!0}catch{E=!1}H.restore(D)}else if(E=this._peekTag(H,f0,W.any),H.isError(E))return E}let T;if(W.obj&&E&&(T=H.enterObject()),E){if(W.explicit!==null){let D=this._decodeTag(H,W.explicit);if(H.isError(D))return D;H=D}let f0=H.offset;if(W.use===null&&W.choice===null){let D;W.any&&(D=H.save());let c0=this._decodeTag(H,W.implicit!==null?W.implicit:W.tag,W.any);if(H.isError(c0))return c0;W.any?w0=H.raw(D):H=c0}if(y0&&y0.track&&W.tag!==null&&y0.track(H.path(),f0,H.length,"tagged"),y0&&y0.track&&W.tag!==null&&y0.track(H.path(),H.offset,H.length,"content"),W.any||(W.choice===null?w0=this._decodeGeneric(W.tag,H,y0):w0=this._decodeChoice(H,y0)),H.isError(w0))return w0;if(!W.any&&W.choice===null&&W.children!==null&&W.children.forEach(function(D){D._decode(H,y0)}),W.contains&&(W.tag==="octstr"||W.tag==="bitstr")){let D=new Y(w0);w0=this._getUse(W.contains,H._reporterState.obj)._decode(D,y0)}}return W.obj&&E&&(w0=H.leaveObject(T)),W.key!==null&&(w0!==null||E===!0)?H.leaveKey(p0,W.key,w0):p0!==null&&H.exitKey(p0),w0},V.prototype._decodeGeneric=function(H,y0,W){let w0=this._baseState;return H==="seq"||H==="set"?null:H==="seqof"||H==="setof"?this._decodeList(y0,H,w0.args[0],W):/str$/.test(H)?this._decodeStr(y0,H,W):H==="objid"&&w0.args?this._decodeObjid(y0,w0.args[0],w0.args[1],W):H==="objid"?this._decodeObjid(y0,null,null,W):H==="gentime"||H==="utctime"?this._decodeTime(y0,H,W):H==="null_"?this._decodeNull(y0,W):H==="bool"?this._decodeBool(y0,W):H==="objDesc"?this._decodeStr(y0,H,W):H==="int"||H==="enum"?this._decodeInt(y0,w0.args&&w0.args[0],W):w0.use!==null?this._getUse(w0.use,y0._reporterState.obj)._decode(y0,W):y0.error("unknown tag: "+H)},V.prototype._getUse=function(H,y0){let W=this._baseState;return W.useDecoder=this._use(H,y0),$(W.useDecoder._baseState.parent===null),W.useDecoder=W.useDecoder._baseState.children[0],W.implicit!==W.useDecoder._baseState.implicit&&(W.useDecoder=W.useDecoder.clone(),W.useDecoder._baseState.implicit=W.implicit),W.useDecoder},V.prototype._decodeChoice=function(H,y0){let W=this._baseState,w0=null,E=!1;return Object.keys(W.choice).some(function(p0){let T=H.save(),f0=W.choice[p0];try{let D=f0._decode(H,y0);if(H.isError(D))return!1;w0={type:p0,value:D},E=!0}catch{return H.restore(T),!1}return!0},this),E?w0:H.error("Choice not matched")},V.prototype._createEncoderBuffer=function(H){return new G(H,this.reporter)},V.prototype._encode=function(H,y0,W){let w0=this._baseState;if(w0.default!==null&&w0.default===H)return;let E=this._encodeValue(H,y0,W);if(E!==void 0&&!this._skipDefault(E,y0,W))return E},V.prototype._encodeValue=function(H,y0,W){let w0=this._baseState;if(w0.parent===null)return w0.children[0]._encode(H,y0||new x0);let E=null;if(this.reporter=y0,w0.optional&&H===void 0)if(w0.default!==null)H=w0.default;else return;let p0=null,T=!1;if(w0.any)E=this._createEncoderBuffer(H);else if(w0.choice)E=this._encodeChoice(H,y0);else if(w0.contains)p0=this._getUse(w0.contains,W)._encode(H,y0),T=!0;else if(w0.children)p0=w0.children.map(function(f0){if(f0._baseState.tag==="null_")return f0._encode(null,y0,H);if(f0._baseState.key===null)return y0.error("Child should have a key");let D=y0.enterKey(f0._baseState.key);if(typeof H!="object")return y0.error("Child expected, but input is not object");let c0=f0._encode(H[f0._baseState.key],y0,H);return y0.leaveKey(D),c0},this).filter(function(f0){return f0}),p0=this._createEncoderBuffer(p0);else if(w0.tag==="seqof"||w0.tag==="setof"){if(!(w0.args&&w0.args.length===1))return y0.error("Too many args for : "+w0.tag);if(!Array.isArray(H))return y0.error("seqof/setof, but data is not Array");let f0=this.clone();f0._baseState.implicit=null,p0=this._createEncoderBuffer(H.map(function(D){let c0=this._baseState;return this._getUse(c0.args[0],H)._encode(D,y0)},f0))}else w0.use!==null?E=this._getUse(w0.use,W)._encode(H,y0):(p0=this._encodePrimitive(w0.tag,H),T=!0);if(!w0.any&&w0.choice===null){let f0=w0.implicit!==null?w0.implicit:w0.tag,D=w0.implicit===null?"universal":"context";f0===null?w0.use===null&&y0.error("Tag could be omitted only for .use()"):w0.use===null&&(E=this._encodeComposite(f0,T,D,p0))}return w0.explicit!==null&&(E=this._encodeComposite(w0.explicit,!1,"context",E)),E},V.prototype._encodeChoice=function(H,y0){let W=this._baseState,w0=W.choice[H.type];return w0||$(!1,H.type+" not found in "+JSON.stringify(Object.keys(W.choice))),w0._encode(H.value,y0)},V.prototype._encodePrimitive=function(H,y0){let W=this._baseState;if(/str$/.test(H))return this._encodeStr(y0,H);if(H==="objid"&&W.args)return this._encodeObjid(y0,W.reverseArgs[0],W.args[1]);if(H==="objid")return this._encodeObjid(y0,null,null);if(H==="gentime"||H==="utctime")return this._encodeTime(y0,H);if(H==="null_")return this._encodeNull();if(H==="int"||H==="enum")return this._encodeInt(y0,W.args&&W.reverseArgs[0]);if(H==="bool")return this._encodeBool(y0);if(H==="objDesc")return this._encodeStr(y0,H);throw new Error("Unsupported tag: "+H)},V.prototype._isNumstr=function(H){return/^[0-9 ]*$/.test(H)},V.prototype._isPrintstr=function(H){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(H)}}}),PY=$Q({"node_modules/asn1.js/lib/asn1/constants/der.js"(X){function K(x0){let G={};return Object.keys(x0).forEach(function(Y){(Y|0)==Y&&(Y=Y|0);let $=x0[Y];G[$]=Y}),G}X.tagClass={0:"universal",1:"application",2:"context",3:"private"},X.tagClassByName=K(X.tagClass),X.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"},X.tagByName=K(X.tag)}}),zY=$Q({"node_modules/asn1.js/lib/asn1/encoders/der.js"(X,K){var x0=X0(),G=CY().Buffer,Y=RY(),$=PY();function Z(B0){this.enc="der",this.name=B0.name,this.entity=B0,this.tree=new Q,this.tree._init(B0.body)}K.exports=Z,Z.prototype.encode=function(B0,H){return this.tree._encode(B0,H).join()};function Q(B0){Y.call(this,"der",B0)}x0(Q,Y),Q.prototype._encodeComposite=function(B0,H,y0,W){let w0=V(B0,H,y0,this.reporter);if(W.length<128){let T=G.alloc(2);return T[0]=w0,T[1]=W.length,this._createEncoderBuffer([T,W])}let E=1;for(let T=W.length;T>=256;T>>=8)E++;let p0=G.alloc(2+E);p0[0]=w0,p0[1]=128|E;for(let T=1+E,f0=W.length;f0>0;T--,f0>>=8)p0[T]=f0&255;return this._createEncoderBuffer([p0,W])},Q.prototype._encodeStr=function(B0,H){if(H==="bitstr")return this._createEncoderBuffer([B0.unused|0,B0.data]);if(H==="bmpstr"){let y0=G.alloc(B0.length*2);for(let W=0;W=40)return this.reporter.error("Second objid identifier OOB");B0.splice(0,2,B0[0]*40+B0[1])}let W=0;for(let p0=0;p0=128;T>>=7)W++}let w0=G.alloc(W),E=w0.length-1;for(let p0=B0.length-1;p0>=0;p0--){let T=B0[p0];for(w0[E--]=T&127;(T>>=7)>0;)w0[E--]=128|T&127}return this._createEncoderBuffer(w0)};function U(B0){return B0<10?"0"+B0:B0}Q.prototype._encodeTime=function(B0,H){let y0,W=new Date(B0);return H==="gentime"?y0=[U(W.getUTCFullYear()),U(W.getUTCMonth()+1),U(W.getUTCDate()),U(W.getUTCHours()),U(W.getUTCMinutes()),U(W.getUTCSeconds()),"Z"].join(""):H==="utctime"?y0=[U(W.getUTCFullYear()%100),U(W.getUTCMonth()+1),U(W.getUTCDate()),U(W.getUTCHours()),U(W.getUTCMinutes()),U(W.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+H+" time is not supported yet"),this._encodeStr(y0,"octstr")},Q.prototype._encodeNull=function(){return this._createEncoderBuffer("")},Q.prototype._encodeInt=function(B0,H){if(typeof B0=="string"){if(!H)return this.reporter.error("String int or enum given, but no values map");if(!H.hasOwnProperty(B0))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(B0));B0=H[B0]}if(typeof B0!="number"&&!G.isBuffer(B0)){let w0=B0.toArray();!B0.sign&&w0[0]&128&&w0.unshift(0),B0=G.from(w0)}if(G.isBuffer(B0)){let w0=B0.length;B0.length===0&&w0++;let E=G.alloc(w0);return B0.copy(E),B0.length===0&&(E[0]=0),this._createEncoderBuffer(E)}if(B0<128)return this._createEncoderBuffer(B0);if(B0<256)return this._createEncoderBuffer([0,B0]);let y0=1;for(let w0=B0;w0>=256;w0>>=8)y0++;let W=new Array(y0);for(let w0=W.length-1;w0>=0;w0--)W[w0]=B0&255,B0>>=8;return W[0]&128&&W.unshift(0),this._createEncoderBuffer(G.from(W))},Q.prototype._encodeBool=function(B0){return this._createEncoderBuffer(B0?255:0)},Q.prototype._use=function(B0,H){return typeof B0=="function"&&(B0=B0(H)),B0._getEncoder("der").tree},Q.prototype._skipDefault=function(B0,H,y0){let W=this._baseState,w0;if(W.default===null)return!1;let E=B0.join();if(W.defaultBuffer===void 0&&(W.defaultBuffer=this._encodeValue(W.default,H,y0).join()),E.length!==W.defaultBuffer.length)return!1;for(w0=0;w0=31?W.error("Multi-octet tag encoding unsupported"):(H||(w0|=32),w0|=$.tagClassByName[y0||"universal"]<<6,w0)}}}),MY=$Q({"node_modules/asn1.js/lib/asn1/encoders/pem.js"(X,K){var x0=X0(),G=zY();function Y($){G.call(this,$),this.enc="pem"}x0(Y,G),K.exports=Y,Y.prototype.encode=function($,Z){let Q=G.prototype.encode.call(this,$).toString("base64"),U=["-----BEGIN "+Z.label+"-----"];for(let V=0;V>6],E=(W&32)===0;if((W&31)===31){let T=W;for(W=0;(T&128)===128;){if(T=H.readUInt8(y0),H.isError(T))return T;W<<=7,W|=T&127}}else W&=31;let p0=Z.tag[W];return{cls:w0,primitive:E,tag:W,tagStr:p0}}function B0(H,y0,W){let w0=H.readUInt8(W);if(H.isError(w0))return w0;if(!y0&&w0===128)return null;if((w0&128)===0)return w0;let E=w0&127;if(E>4)return H.error("length octect is too long");w0=0;for(let p0=0;p00&&c0.ishrn(C),c0}function E(f0,D){f0=w0(f0,D),f0=f0.mod(D);var c0=x0.from(f0.toArray());if(c0.length=y0)throw new Error("invalid sig")}K.exports=Q}}),dY=$Q({"node_modules/browserify-sign/browser/index.js"(X,K){var x0=YQ().Buffer,G=L0(),Y=X0(),$=cY(),Z=hY(),Q=M0();Object.keys(Q).forEach(function(y0){Q[y0].id=x0.from(Q[y0].id,"hex"),Q[y0.toLowerCase()]=Q[y0]});function U(y0){h$.Writable.call(this);var W=Q[y0];if(!W)throw new Error("Unknown message digest");this._hashType=W.hash,this._hash=G(W.hash),this._tag=W.id,this._signType=W.sign}Y(U,h$.Writable),U.prototype._write=function(y0,W,w0){this._hash.update(y0),w0()},U.prototype.update=function(y0,W){return typeof y0=="string"&&(y0=x0.from(y0,W)),this._hash.update(y0),this},U.prototype.sign=function(y0,W){this.end();var w0=this._hash.digest(),E=$(w0,y0,this._hashType,this._signType,this._tag);return W?E.toString(W):E};function V(y0){h$.Writable.call(this);var W=Q[y0];if(!W)throw new Error("Unknown message digest");this._hash=G(W.hash),this._tag=W.id,this._signType=W.sign}Y(V,h$.Writable),V.prototype._write=function(y0,W,w0){this._hash.update(y0),w0()},V.prototype.update=function(y0,W){return typeof y0=="string"&&(y0=x0.from(y0,W)),this._hash.update(y0),this},V.prototype.verify=function(y0,W,w0){typeof W=="string"&&(W=x0.from(W,w0)),this.end();var E=this._hash.digest();return Z(W,E,y0,this._signType,this._tag)};function B0(y0){return new U(y0)}function H(y0){return new V(y0)}K.exports={Sign:B0,Verify:H,createSign:B0,createVerify:H}}}),bY=$Q({"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js"(X,K){(function(x0,G){function Y(l0,z){if(!l0)throw new Error(z||"Assertion failed")}function $(l0,z){l0.super_=z;var o0=function(){};o0.prototype=z.prototype,l0.prototype=new o0,l0.prototype.constructor=l0}function Z(l0,z,o0){if(Z.isBN(l0))return l0;this.negative=0,this.words=null,this.length=0,this.red=null,l0!==null&&((z==="le"||z==="be")&&(o0=z,z=10),this._init(l0||0,z||10,o0||"be"))}typeof x0=="object"?x0.exports=Z:G.BN=Z,Z.BN=Z,Z.wordSize=26;var Q=c$;Z.isBN=function(l0){return l0 instanceof Z?!0:l0!==null&&typeof l0=="object"&&l0.constructor.wordSize===Z.wordSize&&Array.isArray(l0.words)},Z.max=function(l0,z){return l0.cmp(z)>0?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),lY=$Q({"node_modules/create-ecdh/browser.js"(X,K){var x0=TY(),G=bY();K.exports=function(Q){return new $(Q)};var Y={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}};Y.p224=Y.secp224r1,Y.p256=Y.secp256r1=Y.prime256v1,Y.p192=Y.secp192r1=Y.prime192v1,Y.p384=Y.secp384r1,Y.p521=Y.secp521r1;function $(Q){this.curveType=Y[Q],this.curveType||(this.curveType={name:Q}),this.curve=new x0.ec(this.curveType.name),this.keys=void 0}$.prototype.generateKeys=function(Q,U){return this.keys=this.curve.genKeyPair(),this.getPublicKey(Q,U)},$.prototype.computeSecret=function(Q,U,V){U=U||"utf8",c$.isBuffer(Q)||(Q=new c$(Q,U));var B0=this.curve.keyFromPublic(Q).getPublic(),H=B0.mul(this.keys.getPrivate()).getX();return Z(H,V,this.curveType.byteLength)},$.prototype.getPublicKey=function(Q,U){var V=this.keys.getPublic(U==="compressed",!0);return U==="hybrid"&&(V[V.length-1]%2?V[0]=7:V[0]=6),Z(V,Q)},$.prototype.getPrivateKey=function(Q){return Z(this.keys.getPrivate(),Q)},$.prototype.setPublicKey=function(Q,U){return U=U||"utf8",c$.isBuffer(Q)||(Q=new c$(Q,U)),this.keys._importPublic(Q),this},$.prototype.setPrivateKey=function(Q,U){U=U||"utf8",c$.isBuffer(Q)||(Q=new c$(Q,U));var V=new G(Q);return V=V.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(V),this};function Z(Q,U,V){Array.isArray(Q)||(Q=Q.toArray());var B0=new c$(Q);if(V&&B0.length0?l0:z},Z.min=function(l0,z){return l0.cmp(z)<0?l0:z},Z.prototype._init=function(l0,z,o0){if(typeof l0=="number")return this._initNumber(l0,z,o0);if(typeof l0=="object")return this._initArray(l0,z,o0);z==="hex"&&(z=16),Y(z===(z|0)&&z>=2&&z<=36),l0=l0.toString().replace(/\s+/g,"");var M=0;l0[0]==="-"&&(M++,this.negative=1),M=0;M-=3)S=l0[M]|l0[M-1]<<8|l0[M-2]<<16,this.words[u0]|=S<>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);else if(o0==="le")for(M=0,u0=0;M>>26-n0&67108863,n0+=24,n0>=26&&(n0-=26,u0++);return this.strip()};function U(l0,z){var o0=l0.charCodeAt(z);return o0>=65&&o0<=70?o0-55:o0>=97&&o0<=102?o0-87:o0-48&15}function V(l0,z,o0){var M=U(l0,o0);return o0-1>=z&&(M|=U(l0,o0-1)<<4),M}Z.prototype._parseHex=function(l0,z,o0){this.length=Math.ceil((l0.length-z)/6),this.words=new Array(this.length);for(var M=0;M=z;M-=2)n0=V(l0,z,M)<=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8;else{var v=l0.length-z;for(M=v%2===0?z+1:z;M=18?(u0-=18,S+=1,this.words[S]|=n0>>>26):u0+=8}this.strip()};function B0(l0,z,o0,M){for(var u0=0,S=Math.min(l0.length,o0),n0=z;n0=49?u0+=v-49+10:v>=17?u0+=v-17+10:u0+=v}return u0}Z.prototype._parseBase=function(l0,z,o0){this.words=[0],this.length=1;for(var M=0,u0=1;u0<=67108863;u0*=z)M++;M--,u0=u0/z|0;for(var S=l0.length-o0,n0=S%M,v=Math.min(S,S-n0)+o0,s0=0,I=o0;I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},Z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},Z.prototype.inspect=function(){return(this.red?""};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"],y0=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];Z.prototype.toString=function(l0,z){l0=l0||10,z=z|0||1;var o0;if(l0===16||l0==="hex"){o0="";for(var M=0,u0=0,S=0;S>>24-M&16777215,u0!==0||S!==this.length-1?o0=H[6-v.length]+v+o0:o0=v+o0,M+=2,M>=26&&(M-=26,S--)}for(u0!==0&&(o0=u0.toString(16)+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}if(l0===(l0|0)&&l0>=2&&l0<=36){var s0=y0[l0],I=W[l0];o0="";var t0=this.clone();for(t0.negative=0;!t0.isZero();){var m0=t0.modn(I).toString(l0);t0=t0.idivn(I),t0.isZero()?o0=m0+o0:o0=H[s0-m0.length]+m0+o0}for(this.isZero()&&(o0="0"+o0);o0.length%z!==0;)o0="0"+o0;return this.negative!==0&&(o0="-"+o0),o0}Y(!1,"Base should be between 2 and 36")},Z.prototype.toNumber=function(){var l0=this.words[0];return this.length===2?l0+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l0+=4503599627370496+this.words[1]*67108864:this.length>2&&Y(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l0:l0},Z.prototype.toJSON=function(){return this.toString(16)},Z.prototype.toBuffer=function(l0,z){return Y(typeof Q<"u"),this.toArrayLike(Q,l0,z)},Z.prototype.toArray=function(l0,z){return this.toArrayLike(Array,l0,z)},Z.prototype.toArrayLike=function(l0,z,o0){var M=this.byteLength(),u0=o0||Math.max(1,M);Y(M<=u0,"byte array longer than desired length"),Y(u0>0,"Requested array length <= 0"),this.strip();var S=z==="le",n0=new l0(u0),v,s0,I=this.clone();if(S){for(s0=0;!I.isZero();s0++)v=I.andln(255),I.iushrn(8),n0[s0]=v;for(;s0=4096&&(o0+=13,z>>>=13),z>=64&&(o0+=7,z>>>=7),z>=8&&(o0+=4,z>>>=4),z>=2&&(o0+=2,z>>>=2),o0+z},Z.prototype._zeroBits=function(l0){if(l0===0)return 26;var z=l0,o0=0;return(z&8191)===0&&(o0+=13,z>>>=13),(z&127)===0&&(o0+=7,z>>>=7),(z&15)===0&&(o0+=4,z>>>=4),(z&3)===0&&(o0+=2,z>>>=2),(z&1)===0&&o0++,o0},Z.prototype.bitLength=function(){var l0=this.words[this.length-1],z=this._countBits(l0);return(this.length-1)*26+z};function w0(l0){for(var z=new Array(l0.bitLength()),o0=0;o0>>u0}return z}Z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l0=0,z=0;zl0.length?this.clone().ior(l0):l0.clone().ior(this)},Z.prototype.uor=function(l0){return this.length>l0.length?this.clone().iuor(l0):l0.clone().iuor(this)},Z.prototype.iuand=function(l0){var z;this.length>l0.length?z=l0:z=this;for(var o0=0;o0l0.length?this.clone().iand(l0):l0.clone().iand(this)},Z.prototype.uand=function(l0){return this.length>l0.length?this.clone().iuand(l0):l0.clone().iuand(this)},Z.prototype.iuxor=function(l0){var z,o0;this.length>l0.length?(z=this,o0=l0):(z=l0,o0=this);for(var M=0;Ml0.length?this.clone().ixor(l0):l0.clone().ixor(this)},Z.prototype.uxor=function(l0){return this.length>l0.length?this.clone().iuxor(l0):l0.clone().iuxor(this)},Z.prototype.inotn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=Math.ceil(l0/26)|0,o0=l0%26;this._expand(z),o0>0&&z--;for(var M=0;M0&&(this.words[M]=~this.words[M]&67108863>>26-o0),this.strip()},Z.prototype.notn=function(l0){return this.clone().inotn(l0)},Z.prototype.setn=function(l0,z){Y(typeof l0=="number"&&l0>=0);var o0=l0/26|0,M=l0%26;return this._expand(o0+1),z?this.words[o0]=this.words[o0]|1<l0.length?(o0=this,M=l0):(o0=l0,M=this);for(var u0=0,S=0;S>>26;for(;u0!==0&&S>>26;if(this.length=o0.length,u0!==0)this.words[this.length]=u0,this.length++;else if(o0!==this)for(;Sl0.length?this.clone().iadd(l0):l0.clone().iadd(this)},Z.prototype.isub=function(l0){if(l0.negative!==0){l0.negative=0;var z=this.iadd(l0);return l0.negative=1,z._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l0),this.negative=1,this._normSign();var o0=this.cmp(l0);if(o0===0)return this.negative=0,this.length=1,this.words[0]=0,this;var M,u0;o0>0?(M=this,u0=l0):(M=l0,u0=this);for(var S=0,n0=0;n0>26,this.words[n0]=z&67108863;for(;S!==0&&n0>26,this.words[n0]=z&67108863;if(S===0&&n0>>26,m0=s0&67108863,a0=Math.min(I,z.length-1),q=Math.max(0,I-l0.length+1);q<=a0;q++){var e0=I-q|0;u0=l0.words[e0]|0,S=z.words[q]|0,n0=u0*S+m0,t0+=n0/67108864|0,m0=n0&67108863}o0.words[I]=m0|0,s0=t0|0}return s0!==0?o0.words[I]=s0|0:o0.length--,o0.strip()}var p0=function(l0,z,o0){var M=l0.words,u0=z.words,S=o0.words,n0=0,v,s0,I,t0=M[0]|0,m0=t0&8191,a0=t0>>>13,q=M[1]|0,e0=q&8191,r0=q>>>13,i0=M[2]|0,j=i0&8191,$$=i0>>>13,k=M[3]|0,Q$=k&8191,g=k>>>13,Y$=M[4]|0,_=Y$&8191,Z$=Y$>>>13,N=M[5]|0,G$=N&8191,x=N>>>13,V$=M[6]|0,B=V$&8191,U$=V$>>>13,y=M[7]|0,X$=y&8191,w=y>>>13,K$=M[8]|0,p=K$&8191,I$=K$>>>13,f=M[9]|0,O$=f&8191,c=f>>>13,J$=u0[0]|0,h=J$&8191,F$=J$>>>13,d=u0[1]|0,A$=d&8191,b=d>>>13,H$=u0[2]|0,l=H$&8191,W$=H$>>>13,o=u0[3]|0,E$=o&8191,u=o>>>13,T$=u0[4]|0,n=T$&8191,D$=T$>>>13,s=u0[5]|0,C$=s&8191,t=s>>>13,L$=u0[6]|0,m=L$&8191,R$=L$>>>13,a=u0[7]|0,P$=a&8191,O=a>>>13,z$=u0[8]|0,e=z$&8191,M$=z$>>>13,J=u0[9]|0,S$=J&8191,F=J>>>13;o0.negative=l0.negative^z.negative,o0.length=19,v=Math.imul(m0,h),s0=Math.imul(m0,F$),s0=s0+Math.imul(a0,h)|0,I=Math.imul(a0,F$);var v$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(v$>>>26)|0,v$&=67108863,v=Math.imul(e0,h),s0=Math.imul(e0,F$),s0=s0+Math.imul(r0,h)|0,I=Math.imul(r0,F$),v=v+Math.imul(m0,A$)|0,s0=s0+Math.imul(m0,b)|0,s0=s0+Math.imul(a0,A$)|0,I=I+Math.imul(a0,b)|0;var r=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(r>>>26)|0,r&=67108863,v=Math.imul(j,h),s0=Math.imul(j,F$),s0=s0+Math.imul($$,h)|0,I=Math.imul($$,F$),v=v+Math.imul(e0,A$)|0,s0=s0+Math.imul(e0,b)|0,s0=s0+Math.imul(r0,A$)|0,I=I+Math.imul(r0,b)|0,v=v+Math.imul(m0,l)|0,s0=s0+Math.imul(m0,W$)|0,s0=s0+Math.imul(a0,l)|0,I=I+Math.imul(a0,W$)|0;var q$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(q$>>>26)|0,q$&=67108863,v=Math.imul(Q$,h),s0=Math.imul(Q$,F$),s0=s0+Math.imul(g,h)|0,I=Math.imul(g,F$),v=v+Math.imul(j,A$)|0,s0=s0+Math.imul(j,b)|0,s0=s0+Math.imul($$,A$)|0,I=I+Math.imul($$,b)|0,v=v+Math.imul(e0,l)|0,s0=s0+Math.imul(e0,W$)|0,s0=s0+Math.imul(r0,l)|0,I=I+Math.imul(r0,W$)|0,v=v+Math.imul(m0,E$)|0,s0=s0+Math.imul(m0,u)|0,s0=s0+Math.imul(a0,E$)|0,I=I+Math.imul(a0,u)|0;var i=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(i>>>26)|0,i&=67108863,v=Math.imul(_,h),s0=Math.imul(_,F$),s0=s0+Math.imul(Z$,h)|0,I=Math.imul(Z$,F$),v=v+Math.imul(Q$,A$)|0,s0=s0+Math.imul(Q$,b)|0,s0=s0+Math.imul(g,A$)|0,I=I+Math.imul(g,b)|0,v=v+Math.imul(j,l)|0,s0=s0+Math.imul(j,W$)|0,s0=s0+Math.imul($$,l)|0,I=I+Math.imul($$,W$)|0,v=v+Math.imul(e0,E$)|0,s0=s0+Math.imul(e0,u)|0,s0=s0+Math.imul(r0,E$)|0,I=I+Math.imul(r0,u)|0,v=v+Math.imul(m0,n)|0,s0=s0+Math.imul(m0,D$)|0,s0=s0+Math.imul(a0,n)|0,I=I+Math.imul(a0,D$)|0;var j$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(j$>>>26)|0,j$&=67108863,v=Math.imul(G$,h),s0=Math.imul(G$,F$),s0=s0+Math.imul(x,h)|0,I=Math.imul(x,F$),v=v+Math.imul(_,A$)|0,s0=s0+Math.imul(_,b)|0,s0=s0+Math.imul(Z$,A$)|0,I=I+Math.imul(Z$,b)|0,v=v+Math.imul(Q$,l)|0,s0=s0+Math.imul(Q$,W$)|0,s0=s0+Math.imul(g,l)|0,I=I+Math.imul(g,W$)|0,v=v+Math.imul(j,E$)|0,s0=s0+Math.imul(j,u)|0,s0=s0+Math.imul($$,E$)|0,I=I+Math.imul($$,u)|0,v=v+Math.imul(e0,n)|0,s0=s0+Math.imul(e0,D$)|0,s0=s0+Math.imul(r0,n)|0,I=I+Math.imul(r0,D$)|0,v=v+Math.imul(m0,C$)|0,s0=s0+Math.imul(m0,t)|0,s0=s0+Math.imul(a0,C$)|0,I=I+Math.imul(a0,t)|0;var k$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(k$>>>26)|0,k$&=67108863,v=Math.imul(B,h),s0=Math.imul(B,F$),s0=s0+Math.imul(U$,h)|0,I=Math.imul(U$,F$),v=v+Math.imul(G$,A$)|0,s0=s0+Math.imul(G$,b)|0,s0=s0+Math.imul(x,A$)|0,I=I+Math.imul(x,b)|0,v=v+Math.imul(_,l)|0,s0=s0+Math.imul(_,W$)|0,s0=s0+Math.imul(Z$,l)|0,I=I+Math.imul(Z$,W$)|0,v=v+Math.imul(Q$,E$)|0,s0=s0+Math.imul(Q$,u)|0,s0=s0+Math.imul(g,E$)|0,I=I+Math.imul(g,u)|0,v=v+Math.imul(j,n)|0,s0=s0+Math.imul(j,D$)|0,s0=s0+Math.imul($$,n)|0,I=I+Math.imul($$,D$)|0,v=v+Math.imul(e0,C$)|0,s0=s0+Math.imul(e0,t)|0,s0=s0+Math.imul(r0,C$)|0,I=I+Math.imul(r0,t)|0,v=v+Math.imul(m0,m)|0,s0=s0+Math.imul(m0,R$)|0,s0=s0+Math.imul(a0,m)|0,I=I+Math.imul(a0,R$)|0;var g$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(g$>>>26)|0,g$&=67108863,v=Math.imul(X$,h),s0=Math.imul(X$,F$),s0=s0+Math.imul(w,h)|0,I=Math.imul(w,F$),v=v+Math.imul(B,A$)|0,s0=s0+Math.imul(B,b)|0,s0=s0+Math.imul(U$,A$)|0,I=I+Math.imul(U$,b)|0,v=v+Math.imul(G$,l)|0,s0=s0+Math.imul(G$,W$)|0,s0=s0+Math.imul(x,l)|0,I=I+Math.imul(x,W$)|0,v=v+Math.imul(_,E$)|0,s0=s0+Math.imul(_,u)|0,s0=s0+Math.imul(Z$,E$)|0,I=I+Math.imul(Z$,u)|0,v=v+Math.imul(Q$,n)|0,s0=s0+Math.imul(Q$,D$)|0,s0=s0+Math.imul(g,n)|0,I=I+Math.imul(g,D$)|0,v=v+Math.imul(j,C$)|0,s0=s0+Math.imul(j,t)|0,s0=s0+Math.imul($$,C$)|0,I=I+Math.imul($$,t)|0,v=v+Math.imul(e0,m)|0,s0=s0+Math.imul(e0,R$)|0,s0=s0+Math.imul(r0,m)|0,I=I+Math.imul(r0,R$)|0,v=v+Math.imul(m0,P$)|0,s0=s0+Math.imul(m0,O)|0,s0=s0+Math.imul(a0,P$)|0,I=I+Math.imul(a0,O)|0;var _$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(_$>>>26)|0,_$&=67108863,v=Math.imul(p,h),s0=Math.imul(p,F$),s0=s0+Math.imul(I$,h)|0,I=Math.imul(I$,F$),v=v+Math.imul(X$,A$)|0,s0=s0+Math.imul(X$,b)|0,s0=s0+Math.imul(w,A$)|0,I=I+Math.imul(w,b)|0,v=v+Math.imul(B,l)|0,s0=s0+Math.imul(B,W$)|0,s0=s0+Math.imul(U$,l)|0,I=I+Math.imul(U$,W$)|0,v=v+Math.imul(G$,E$)|0,s0=s0+Math.imul(G$,u)|0,s0=s0+Math.imul(x,E$)|0,I=I+Math.imul(x,u)|0,v=v+Math.imul(_,n)|0,s0=s0+Math.imul(_,D$)|0,s0=s0+Math.imul(Z$,n)|0,I=I+Math.imul(Z$,D$)|0,v=v+Math.imul(Q$,C$)|0,s0=s0+Math.imul(Q$,t)|0,s0=s0+Math.imul(g,C$)|0,I=I+Math.imul(g,t)|0,v=v+Math.imul(j,m)|0,s0=s0+Math.imul(j,R$)|0,s0=s0+Math.imul($$,m)|0,I=I+Math.imul($$,R$)|0,v=v+Math.imul(e0,P$)|0,s0=s0+Math.imul(e0,O)|0,s0=s0+Math.imul(r0,P$)|0,I=I+Math.imul(r0,O)|0,v=v+Math.imul(m0,e)|0,s0=s0+Math.imul(m0,M$)|0,s0=s0+Math.imul(a0,e)|0,I=I+Math.imul(a0,M$)|0;var N$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(N$>>>26)|0,N$&=67108863,v=Math.imul(O$,h),s0=Math.imul(O$,F$),s0=s0+Math.imul(c,h)|0,I=Math.imul(c,F$),v=v+Math.imul(p,A$)|0,s0=s0+Math.imul(p,b)|0,s0=s0+Math.imul(I$,A$)|0,I=I+Math.imul(I$,b)|0,v=v+Math.imul(X$,l)|0,s0=s0+Math.imul(X$,W$)|0,s0=s0+Math.imul(w,l)|0,I=I+Math.imul(w,W$)|0,v=v+Math.imul(B,E$)|0,s0=s0+Math.imul(B,u)|0,s0=s0+Math.imul(U$,E$)|0,I=I+Math.imul(U$,u)|0,v=v+Math.imul(G$,n)|0,s0=s0+Math.imul(G$,D$)|0,s0=s0+Math.imul(x,n)|0,I=I+Math.imul(x,D$)|0,v=v+Math.imul(_,C$)|0,s0=s0+Math.imul(_,t)|0,s0=s0+Math.imul(Z$,C$)|0,I=I+Math.imul(Z$,t)|0,v=v+Math.imul(Q$,m)|0,s0=s0+Math.imul(Q$,R$)|0,s0=s0+Math.imul(g,m)|0,I=I+Math.imul(g,R$)|0,v=v+Math.imul(j,P$)|0,s0=s0+Math.imul(j,O)|0,s0=s0+Math.imul($$,P$)|0,I=I+Math.imul($$,O)|0,v=v+Math.imul(e0,e)|0,s0=s0+Math.imul(e0,M$)|0,s0=s0+Math.imul(r0,e)|0,I=I+Math.imul(r0,M$)|0,v=v+Math.imul(m0,S$)|0,s0=s0+Math.imul(m0,F)|0,s0=s0+Math.imul(a0,S$)|0,I=I+Math.imul(a0,F)|0;var $0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+($0>>>26)|0,$0&=67108863,v=Math.imul(O$,A$),s0=Math.imul(O$,b),s0=s0+Math.imul(c,A$)|0,I=Math.imul(c,b),v=v+Math.imul(p,l)|0,s0=s0+Math.imul(p,W$)|0,s0=s0+Math.imul(I$,l)|0,I=I+Math.imul(I$,W$)|0,v=v+Math.imul(X$,E$)|0,s0=s0+Math.imul(X$,u)|0,s0=s0+Math.imul(w,E$)|0,I=I+Math.imul(w,u)|0,v=v+Math.imul(B,n)|0,s0=s0+Math.imul(B,D$)|0,s0=s0+Math.imul(U$,n)|0,I=I+Math.imul(U$,D$)|0,v=v+Math.imul(G$,C$)|0,s0=s0+Math.imul(G$,t)|0,s0=s0+Math.imul(x,C$)|0,I=I+Math.imul(x,t)|0,v=v+Math.imul(_,m)|0,s0=s0+Math.imul(_,R$)|0,s0=s0+Math.imul(Z$,m)|0,I=I+Math.imul(Z$,R$)|0,v=v+Math.imul(Q$,P$)|0,s0=s0+Math.imul(Q$,O)|0,s0=s0+Math.imul(g,P$)|0,I=I+Math.imul(g,O)|0,v=v+Math.imul(j,e)|0,s0=s0+Math.imul(j,M$)|0,s0=s0+Math.imul($$,e)|0,I=I+Math.imul($$,M$)|0,v=v+Math.imul(e0,S$)|0,s0=s0+Math.imul(e0,F)|0,s0=s0+Math.imul(r0,S$)|0,I=I+Math.imul(r0,F)|0;var x$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(x$>>>26)|0,x$&=67108863,v=Math.imul(O$,l),s0=Math.imul(O$,W$),s0=s0+Math.imul(c,l)|0,I=Math.imul(c,W$),v=v+Math.imul(p,E$)|0,s0=s0+Math.imul(p,u)|0,s0=s0+Math.imul(I$,E$)|0,I=I+Math.imul(I$,u)|0,v=v+Math.imul(X$,n)|0,s0=s0+Math.imul(X$,D$)|0,s0=s0+Math.imul(w,n)|0,I=I+Math.imul(w,D$)|0,v=v+Math.imul(B,C$)|0,s0=s0+Math.imul(B,t)|0,s0=s0+Math.imul(U$,C$)|0,I=I+Math.imul(U$,t)|0,v=v+Math.imul(G$,m)|0,s0=s0+Math.imul(G$,R$)|0,s0=s0+Math.imul(x,m)|0,I=I+Math.imul(x,R$)|0,v=v+Math.imul(_,P$)|0,s0=s0+Math.imul(_,O)|0,s0=s0+Math.imul(Z$,P$)|0,I=I+Math.imul(Z$,O)|0,v=v+Math.imul(Q$,e)|0,s0=s0+Math.imul(Q$,M$)|0,s0=s0+Math.imul(g,e)|0,I=I+Math.imul(g,M$)|0,v=v+Math.imul(j,S$)|0,s0=s0+Math.imul(j,F)|0,s0=s0+Math.imul($$,S$)|0,I=I+Math.imul($$,F)|0;var Q0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Q0>>>26)|0,Q0&=67108863,v=Math.imul(O$,E$),s0=Math.imul(O$,u),s0=s0+Math.imul(c,E$)|0,I=Math.imul(c,u),v=v+Math.imul(p,n)|0,s0=s0+Math.imul(p,D$)|0,s0=s0+Math.imul(I$,n)|0,I=I+Math.imul(I$,D$)|0,v=v+Math.imul(X$,C$)|0,s0=s0+Math.imul(X$,t)|0,s0=s0+Math.imul(w,C$)|0,I=I+Math.imul(w,t)|0,v=v+Math.imul(B,m)|0,s0=s0+Math.imul(B,R$)|0,s0=s0+Math.imul(U$,m)|0,I=I+Math.imul(U$,R$)|0,v=v+Math.imul(G$,P$)|0,s0=s0+Math.imul(G$,O)|0,s0=s0+Math.imul(x,P$)|0,I=I+Math.imul(x,O)|0,v=v+Math.imul(_,e)|0,s0=s0+Math.imul(_,M$)|0,s0=s0+Math.imul(Z$,e)|0,I=I+Math.imul(Z$,M$)|0,v=v+Math.imul(Q$,S$)|0,s0=s0+Math.imul(Q$,F)|0,s0=s0+Math.imul(g,S$)|0,I=I+Math.imul(g,F)|0;var B$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(B$>>>26)|0,B$&=67108863,v=Math.imul(O$,n),s0=Math.imul(O$,D$),s0=s0+Math.imul(c,n)|0,I=Math.imul(c,D$),v=v+Math.imul(p,C$)|0,s0=s0+Math.imul(p,t)|0,s0=s0+Math.imul(I$,C$)|0,I=I+Math.imul(I$,t)|0,v=v+Math.imul(X$,m)|0,s0=s0+Math.imul(X$,R$)|0,s0=s0+Math.imul(w,m)|0,I=I+Math.imul(w,R$)|0,v=v+Math.imul(B,P$)|0,s0=s0+Math.imul(B,O)|0,s0=s0+Math.imul(U$,P$)|0,I=I+Math.imul(U$,O)|0,v=v+Math.imul(G$,e)|0,s0=s0+Math.imul(G$,M$)|0,s0=s0+Math.imul(x,e)|0,I=I+Math.imul(x,M$)|0,v=v+Math.imul(_,S$)|0,s0=s0+Math.imul(_,F)|0,s0=s0+Math.imul(Z$,S$)|0,I=I+Math.imul(Z$,F)|0;var Y0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Y0>>>26)|0,Y0&=67108863,v=Math.imul(O$,C$),s0=Math.imul(O$,t),s0=s0+Math.imul(c,C$)|0,I=Math.imul(c,t),v=v+Math.imul(p,m)|0,s0=s0+Math.imul(p,R$)|0,s0=s0+Math.imul(I$,m)|0,I=I+Math.imul(I$,R$)|0,v=v+Math.imul(X$,P$)|0,s0=s0+Math.imul(X$,O)|0,s0=s0+Math.imul(w,P$)|0,I=I+Math.imul(w,O)|0,v=v+Math.imul(B,e)|0,s0=s0+Math.imul(B,M$)|0,s0=s0+Math.imul(U$,e)|0,I=I+Math.imul(U$,M$)|0,v=v+Math.imul(G$,S$)|0,s0=s0+Math.imul(G$,F)|0,s0=s0+Math.imul(x,S$)|0,I=I+Math.imul(x,F)|0;var y$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(y$>>>26)|0,y$&=67108863,v=Math.imul(O$,m),s0=Math.imul(O$,R$),s0=s0+Math.imul(c,m)|0,I=Math.imul(c,R$),v=v+Math.imul(p,P$)|0,s0=s0+Math.imul(p,O)|0,s0=s0+Math.imul(I$,P$)|0,I=I+Math.imul(I$,O)|0,v=v+Math.imul(X$,e)|0,s0=s0+Math.imul(X$,M$)|0,s0=s0+Math.imul(w,e)|0,I=I+Math.imul(w,M$)|0,v=v+Math.imul(B,S$)|0,s0=s0+Math.imul(B,F)|0,s0=s0+Math.imul(U$,S$)|0,I=I+Math.imul(U$,F)|0;var Z0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(Z0>>>26)|0,Z0&=67108863,v=Math.imul(O$,P$),s0=Math.imul(O$,O),s0=s0+Math.imul(c,P$)|0,I=Math.imul(c,O),v=v+Math.imul(p,e)|0,s0=s0+Math.imul(p,M$)|0,s0=s0+Math.imul(I$,e)|0,I=I+Math.imul(I$,M$)|0,v=v+Math.imul(X$,S$)|0,s0=s0+Math.imul(X$,F)|0,s0=s0+Math.imul(w,S$)|0,I=I+Math.imul(w,F)|0;var w$=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(w$>>>26)|0,w$&=67108863,v=Math.imul(O$,e),s0=Math.imul(O$,M$),s0=s0+Math.imul(c,e)|0,I=Math.imul(c,M$),v=v+Math.imul(p,S$)|0,s0=s0+Math.imul(p,F)|0,s0=s0+Math.imul(I$,S$)|0,I=I+Math.imul(I$,F)|0;var G0=(n0+v|0)+((s0&8191)<<13)|0;n0=(I+(s0>>>13)|0)+(G0>>>26)|0,G0&=67108863,v=Math.imul(O$,S$),s0=Math.imul(O$,F),s0=s0+Math.imul(c,S$)|0,I=Math.imul(c,F);var p$=(n0+v|0)+((s0&8191)<<13)|0;return n0=(I+(s0>>>13)|0)+(p$>>>26)|0,p$&=67108863,S[0]=v$,S[1]=r,S[2]=q$,S[3]=i,S[4]=j$,S[5]=k$,S[6]=g$,S[7]=_$,S[8]=N$,S[9]=$0,S[10]=x$,S[11]=Q0,S[12]=B$,S[13]=Y0,S[14]=y$,S[15]=Z0,S[16]=w$,S[17]=G0,S[18]=p$,n0!==0&&(S[19]=n0,o0.length++),o0};Math.imul||(p0=E);function T(l0,z,o0){o0.negative=z.negative^l0.negative,o0.length=l0.length+z.length;for(var M=0,u0=0,S=0;S>>26)|0,u0+=n0>>>26,n0&=67108863}o0.words[S]=v,M=n0,n0=u0}return M!==0?o0.words[S]=M:o0.length--,o0.strip()}function f0(l0,z,o0){var M=new D;return M.mulp(l0,z,o0)}Z.prototype.mulTo=function(l0,z){var o0,M=this.length+l0.length;return this.length===10&&l0.length===10?o0=p0(this,l0,z):M<63?o0=E(this,l0,z):M<1024?o0=T(this,l0,z):o0=f0(this,l0,z),o0};function D(l0,z){this.x=l0,this.y=z}D.prototype.makeRBT=function(l0){for(var z=new Array(l0),o0=Z.prototype._countBits(l0)-1,M=0;M>=1;return M},D.prototype.permute=function(l0,z,o0,M,u0,S){for(var n0=0;n0>>1)u0++;return 1<>>13,o0[2*S+1]=u0&8191,u0=u0>>>13;for(S=2*z;S>=26,z+=M/67108864|0,z+=u0>>>26,this.words[o0]=u0&67108863}return z!==0&&(this.words[o0]=z,this.length++),this},Z.prototype.muln=function(l0){return this.clone().imuln(l0)},Z.prototype.sqr=function(){return this.mul(this)},Z.prototype.isqr=function(){return this.imul(this.clone())},Z.prototype.pow=function(l0){var z=w0(l0);if(z.length===0)return new Z(1);for(var o0=this,M=0;M=0);var z=l0%26,o0=(l0-z)/26,M=67108863>>>26-z<<26-z,u0;if(z!==0){var S=0;for(u0=0;u0>>26-z}S&&(this.words[u0]=S,this.length++)}if(o0!==0){for(u0=this.length-1;u0>=0;u0--)this.words[u0+o0]=this.words[u0];for(u0=0;u0=0);var M;z?M=(z-z%26)/26:M=0;var u0=l0%26,S=Math.min((l0-u0)/26,this.length),n0=67108863^67108863>>>u0<S)for(this.length-=S,s0=0;s0=0&&(I!==0||s0>=M);s0--){var t0=this.words[s0]|0;this.words[s0]=I<<26-u0|t0>>>u0,I=t0&n0}return v&&I!==0&&(v.words[v.length++]=I),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},Z.prototype.ishrn=function(l0,z,o0){return Y(this.negative===0),this.iushrn(l0,z,o0)},Z.prototype.shln=function(l0){return this.clone().ishln(l0)},Z.prototype.ushln=function(l0){return this.clone().iushln(l0)},Z.prototype.shrn=function(l0){return this.clone().ishrn(l0)},Z.prototype.ushrn=function(l0){return this.clone().iushrn(l0)},Z.prototype.testn=function(l0){Y(typeof l0=="number"&&l0>=0);var z=l0%26,o0=(l0-z)/26,M=1<=0);var z=l0%26,o0=(l0-z)/26;if(Y(this.negative===0,"imaskn works only with positive numbers"),this.length<=o0)return this;if(z!==0&&o0++,this.length=Math.min(o0,this.length),z!==0){var M=67108863^67108863>>>z<=67108864;z++)this.words[z]-=67108864,z===this.length-1?this.words[z+1]=1:this.words[z+1]++;return this.length=Math.max(this.length,z+1),this},Z.prototype.isubn=function(l0){if(Y(typeof l0=="number"),Y(l0<67108864),l0<0)return this.iaddn(-l0);if(this.negative!==0)return this.negative=0,this.iaddn(l0),this.negative=1,this;if(this.words[0]-=l0,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var z=0;z>26)-(v/67108864|0),this.words[u0+o0]=S&67108863}for(;u0>26,this.words[u0+o0]=S&67108863;if(n0===0)return this.strip();for(Y(n0===-1),n0=0,u0=0;u0>26,this.words[u0]=S&67108863;return this.negative=1,this.strip()},Z.prototype._wordDiv=function(l0,z){var o0=this.length-l0.length,M=this.clone(),u0=l0,S=u0.words[u0.length-1]|0,n0=this._countBits(S);o0=26-n0,o0!==0&&(u0=u0.ushln(o0),M.iushln(o0),S=u0.words[u0.length-1]|0);var v=M.length-u0.length,s0;if(z!=="mod"){s0=new Z(null),s0.length=v+1,s0.words=new Array(s0.length);for(var I=0;I=0;m0--){var a0=(M.words[u0.length+m0]|0)*67108864+(M.words[u0.length+m0-1]|0);for(a0=Math.min(a0/S|0,67108863),M._ishlnsubmul(u0,a0,m0);M.negative!==0;)a0--,M.negative=0,M._ishlnsubmul(u0,1,m0),M.isZero()||(M.negative^=1);s0&&(s0.words[m0]=a0)}return s0&&s0.strip(),M.strip(),z!=="div"&&o0!==0&&M.iushrn(o0),{div:s0||null,mod:M}},Z.prototype.divmod=function(l0,z,o0){if(Y(!l0.isZero()),this.isZero())return{div:new Z(0),mod:new Z(0)};var M,u0,S;return this.negative!==0&&l0.negative===0?(S=this.neg().divmod(l0,z),z!=="mod"&&(M=S.div.neg()),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.iadd(l0)),{div:M,mod:u0}):this.negative===0&&l0.negative!==0?(S=this.divmod(l0.neg(),z),z!=="mod"&&(M=S.div.neg()),{div:M,mod:S.mod}):(this.negative&l0.negative)!==0?(S=this.neg().divmod(l0.neg(),z),z!=="div"&&(u0=S.mod.neg(),o0&&u0.negative!==0&&u0.isub(l0)),{div:S.div,mod:u0}):l0.length>this.length||this.cmp(l0)<0?{div:new Z(0),mod:this}:l0.length===1?z==="div"?{div:this.divn(l0.words[0]),mod:null}:z==="mod"?{div:null,mod:new Z(this.modn(l0.words[0]))}:{div:this.divn(l0.words[0]),mod:new Z(this.modn(l0.words[0]))}:this._wordDiv(l0,z)},Z.prototype.div=function(l0){return this.divmod(l0,"div",!1).div},Z.prototype.mod=function(l0){return this.divmod(l0,"mod",!1).mod},Z.prototype.umod=function(l0){return this.divmod(l0,"mod",!0).mod},Z.prototype.divRound=function(l0){var z=this.divmod(l0);if(z.mod.isZero())return z.div;var o0=z.div.negative!==0?z.mod.isub(l0):z.mod,M=l0.ushrn(1),u0=l0.andln(1),S=o0.cmp(M);return S<0||u0===1&&S===0?z.div:z.div.negative!==0?z.div.isubn(1):z.div.iaddn(1)},Z.prototype.modn=function(l0){Y(l0<=67108863);for(var z=(1<<26)%l0,o0=0,M=this.length-1;M>=0;M--)o0=(z*o0+(this.words[M]|0))%l0;return o0},Z.prototype.idivn=function(l0){Y(l0<=67108863);for(var z=0,o0=this.length-1;o0>=0;o0--){var M=(this.words[o0]|0)+z*67108864;this.words[o0]=M/l0|0,z=M%l0}return this.strip()},Z.prototype.divn=function(l0){return this.clone().idivn(l0)},Z.prototype.egcd=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=new Z(0),n0=new Z(1),v=0;z.isEven()&&o0.isEven();)z.iushrn(1),o0.iushrn(1),++v;for(var s0=o0.clone(),I=z.clone();!z.isZero();){for(var t0=0,m0=1;(z.words[0]&m0)===0&&t0<26;++t0,m0<<=1);if(t0>0)for(z.iushrn(t0);t0-- >0;)(M.isOdd()||u0.isOdd())&&(M.iadd(s0),u0.isub(I)),M.iushrn(1),u0.iushrn(1);for(var a0=0,q=1;(o0.words[0]&q)===0&&a0<26;++a0,q<<=1);if(a0>0)for(o0.iushrn(a0);a0-- >0;)(S.isOdd()||n0.isOdd())&&(S.iadd(s0),n0.isub(I)),S.iushrn(1),n0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(S),u0.isub(n0)):(o0.isub(z),S.isub(M),n0.isub(u0))}return{a:S,b:n0,gcd:o0.iushln(v)}},Z.prototype._invmp=function(l0){Y(l0.negative===0),Y(!l0.isZero());var z=this,o0=l0.clone();z.negative!==0?z=z.umod(l0):z=z.clone();for(var M=new Z(1),u0=new Z(0),S=o0.clone();z.cmpn(1)>0&&o0.cmpn(1)>0;){for(var n0=0,v=1;(z.words[0]&v)===0&&n0<26;++n0,v<<=1);if(n0>0)for(z.iushrn(n0);n0-- >0;)M.isOdd()&&M.iadd(S),M.iushrn(1);for(var s0=0,I=1;(o0.words[0]&I)===0&&s0<26;++s0,I<<=1);if(s0>0)for(o0.iushrn(s0);s0-- >0;)u0.isOdd()&&u0.iadd(S),u0.iushrn(1);z.cmp(o0)>=0?(z.isub(o0),M.isub(u0)):(o0.isub(z),u0.isub(M))}var t0;return z.cmpn(1)===0?t0=M:t0=u0,t0.cmpn(0)<0&&t0.iadd(l0),t0},Z.prototype.gcd=function(l0){if(this.isZero())return l0.abs();if(l0.isZero())return this.abs();var z=this.clone(),o0=l0.clone();z.negative=0,o0.negative=0;for(var M=0;z.isEven()&&o0.isEven();M++)z.iushrn(1),o0.iushrn(1);do{for(;z.isEven();)z.iushrn(1);for(;o0.isEven();)o0.iushrn(1);var u0=z.cmp(o0);if(u0<0){var S=z;z=o0,o0=S}else if(u0===0||o0.cmpn(1)===0)break;z.isub(o0)}while(!0);return o0.iushln(M)},Z.prototype.invm=function(l0){return this.egcd(l0).a.umod(l0)},Z.prototype.isEven=function(){return(this.words[0]&1)===0},Z.prototype.isOdd=function(){return(this.words[0]&1)===1},Z.prototype.andln=function(l0){return this.words[0]&l0},Z.prototype.bincn=function(l0){Y(typeof l0=="number");var z=l0%26,o0=(l0-z)/26,M=1<>>26,n0&=67108863,this.words[S]=n0}return u0!==0&&(this.words[S]=u0,this.length++),this},Z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},Z.prototype.cmpn=function(l0){var z=l0<0;if(this.negative!==0&&!z)return-1;if(this.negative===0&&z)return 1;this.strip();var o0;if(this.length>1)o0=1;else{z&&(l0=-l0),Y(l0<=67108863,"Number is too big");var M=this.words[0]|0;o0=M===l0?0:Ml0.length)return 1;if(this.length=0;o0--){var M=this.words[o0]|0,u0=l0.words[o0]|0;if(M!==u0){Mu0&&(z=1);break}}return z},Z.prototype.gtn=function(l0){return this.cmpn(l0)===1},Z.prototype.gt=function(l0){return this.cmp(l0)===1},Z.prototype.gten=function(l0){return this.cmpn(l0)>=0},Z.prototype.gte=function(l0){return this.cmp(l0)>=0},Z.prototype.ltn=function(l0){return this.cmpn(l0)===-1},Z.prototype.lt=function(l0){return this.cmp(l0)===-1},Z.prototype.lten=function(l0){return this.cmpn(l0)<=0},Z.prototype.lte=function(l0){return this.cmp(l0)<=0},Z.prototype.eqn=function(l0){return this.cmpn(l0)===0},Z.prototype.eq=function(l0){return this.cmp(l0)===0},Z.red=function(l0){return new b0(l0)},Z.prototype.toRed=function(l0){return Y(!this.red,"Already a number in reduction context"),Y(this.negative===0,"red works only with positives"),l0.convertTo(this)._forceRed(l0)},Z.prototype.fromRed=function(){return Y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},Z.prototype._forceRed=function(l0){return this.red=l0,this},Z.prototype.forceRed=function(l0){return Y(!this.red,"Already a number in reduction context"),this._forceRed(l0)},Z.prototype.redAdd=function(l0){return Y(this.red,"redAdd works only with red numbers"),this.red.add(this,l0)},Z.prototype.redIAdd=function(l0){return Y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l0)},Z.prototype.redSub=function(l0){return Y(this.red,"redSub works only with red numbers"),this.red.sub(this,l0)},Z.prototype.redISub=function(l0){return Y(this.red,"redISub works only with red numbers"),this.red.isub(this,l0)},Z.prototype.redShl=function(l0){return Y(this.red,"redShl works only with red numbers"),this.red.shl(this,l0)},Z.prototype.redMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.mul(this,l0)},Z.prototype.redIMul=function(l0){return Y(this.red,"redMul works only with red numbers"),this.red._verify2(this,l0),this.red.imul(this,l0)},Z.prototype.redSqr=function(){return Y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},Z.prototype.redISqr=function(){return Y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},Z.prototype.redSqrt=function(){return Y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},Z.prototype.redInvm=function(){return Y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},Z.prototype.redNeg=function(){return Y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},Z.prototype.redPow=function(l0){return Y(this.red&&!l0.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l0)};var c0={k256:null,p224:null,p192:null,p25519:null};function C(l0,z){this.name=l0,this.p=new Z(z,16),this.n=this.p.bitLength(),this.k=new Z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}C.prototype._tmp=function(){var l0=new Z(null);return l0.words=new Array(Math.ceil(this.n/13)),l0},C.prototype.ireduce=function(l0){var z=l0,o0;do this.split(z,this.tmp),z=this.imulK(z),z=z.iadd(this.tmp),o0=z.bitLength();while(o0>this.n);var M=o00?z.isub(this.p):z.strip!==void 0?z.strip():z._strip(),z},C.prototype.split=function(l0,z){l0.iushrn(this.n,0,z)},C.prototype.imulK=function(l0){return l0.imul(this.k)};function h0(){C.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}$(h0,C),h0.prototype.split=function(l0,z){for(var o0=4194303,M=Math.min(l0.length,9),u0=0;u0>>22,S=n0}S>>>=22,l0.words[u0-10]=S,S===0&&l0.length>10?l0.length-=10:l0.length-=9},h0.prototype.imulK=function(l0){l0.words[l0.length]=0,l0.words[l0.length+1]=0,l0.length+=2;for(var z=0,o0=0;o0>>=26,l0.words[o0]=u0,z=M}return z!==0&&(l0.words[l0.length++]=z),l0},Z._prime=function(l0){if(c0[l0])return c0[l0];var z;if(l0==="k256")z=new h0;else if(l0==="p224")z=new L;else if(l0==="p192")z=new d0;else if(l0==="p25519")z=new R;else throw new Error("Unknown prime "+l0);return c0[l0]=z,z};function b0(l0){if(typeof l0=="string"){var z=Z._prime(l0);this.m=z.p,this.prime=z}else Y(l0.gtn(1),"modulus must be greater than 1"),this.m=l0,this.prime=null}b0.prototype._verify1=function(l0){Y(l0.negative===0,"red works only with positives"),Y(l0.red,"red works only with red numbers")},b0.prototype._verify2=function(l0,z){Y((l0.negative|z.negative)===0,"red works only with positives"),Y(l0.red&&l0.red===z.red,"red works only with red numbers")},b0.prototype.imod=function(l0){return this.prime?this.prime.ireduce(l0)._forceRed(this):l0.umod(this.m)._forceRed(this)},b0.prototype.neg=function(l0){return l0.isZero()?l0.clone():this.m.sub(l0)._forceRed(this)},b0.prototype.add=function(l0,z){this._verify2(l0,z);var o0=l0.add(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0._forceRed(this)},b0.prototype.iadd=function(l0,z){this._verify2(l0,z);var o0=l0.iadd(z);return o0.cmp(this.m)>=0&&o0.isub(this.m),o0},b0.prototype.sub=function(l0,z){this._verify2(l0,z);var o0=l0.sub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0._forceRed(this)},b0.prototype.isub=function(l0,z){this._verify2(l0,z);var o0=l0.isub(z);return o0.cmpn(0)<0&&o0.iadd(this.m),o0},b0.prototype.shl=function(l0,z){return this._verify1(l0),this.imod(l0.ushln(z))},b0.prototype.imul=function(l0,z){return this._verify2(l0,z),this.imod(l0.imul(z))},b0.prototype.mul=function(l0,z){return this._verify2(l0,z),this.imod(l0.mul(z))},b0.prototype.isqr=function(l0){return this.imul(l0,l0.clone())},b0.prototype.sqr=function(l0){return this.mul(l0,l0)},b0.prototype.sqrt=function(l0){if(l0.isZero())return l0.clone();var z=this.m.andln(3);if(Y(z%2===1),z===3){var o0=this.m.add(new Z(1)).iushrn(2);return this.pow(l0,o0)}for(var M=this.m.subn(1),u0=0;!M.isZero()&&M.andln(1)===0;)u0++,M.iushrn(1);Y(!M.isZero());var S=new Z(1).toRed(this),n0=S.redNeg(),v=this.m.subn(1).iushrn(1),s0=this.m.bitLength();for(s0=new Z(2*s0*s0).toRed(this);this.pow(s0,v).cmp(n0)!==0;)s0.redIAdd(n0);for(var I=this.pow(s0,M),t0=this.pow(l0,M.addn(1).iushrn(1)),m0=this.pow(l0,M),a0=u0;m0.cmp(S)!==0;){for(var q=m0,e0=0;q.cmp(S)!==0;e0++)q=q.redSqr();Y(e0=0;u0--){for(var I=z.words[u0],t0=s0-1;t0>=0;t0--){var m0=I>>t0&1;if(S!==M[0]&&(S=this.sqr(S)),m0===0&&n0===0){v=0;continue}n0<<=1,n0|=m0,v++,!(v!==o0&&(u0!==0||t0!==0))&&(S=this.mul(S,M[n0]),v=0,n0=0)}s0=26}return S},b0.prototype.convertTo=function(l0){var z=l0.umod(this.m);return z===l0?z.clone():z},b0.prototype.convertFrom=function(l0){var z=l0.clone();return z.red=null,z},Z.mont=function(l0){return new P(l0)};function P(l0){b0.call(this,l0),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new Z(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)}$(P,b0),P.prototype.convertTo=function(l0){return this.imod(l0.ushln(this.shift))},P.prototype.convertFrom=function(l0){var z=this.imod(l0.mul(this.rinv));return z.red=null,z},P.prototype.imul=function(l0,z){if(l0.isZero()||z.isZero())return l0.words[0]=0,l0.length=1,l0;var o0=l0.imul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.mul=function(l0,z){if(l0.isZero()||z.isZero())return new Z(0)._forceRed(this);var o0=l0.mul(z),M=o0.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u0=o0.isub(M).iushrn(this.shift),S=u0;return u0.cmp(this.m)>=0?S=u0.isub(this.m):u0.cmpn(0)<0&&(S=u0.iadd(this.m)),S._forceRed(this)},P.prototype.invm=function(l0){var z=this.imod(l0._invmp(this.m).mul(this.r2));return z._forceRed(this)}})(typeof K>"u"||K,X)}}),{CryptoHasher:sY}=globalThis.Bun,tY=$Q({"node_modules/public-encrypt/withPublic.js"(X,K){var x0=nY(),G=YQ().Buffer;function Y($,Z){return G.from($.toRed(x0.mont(Z.modulus)).redPow(new x0(Z.publicExponent)).fromRed().toArray())}K.exports=Y}}),mY=$Q({"node_modules/public-encrypt/publicEncrypt.js"(X,K){var x0=pY(),G=ZQ(),Y=L0(),$=oY(),Z=uY(),Q=nY(),U=tY(),V=hQ(),B0=YQ().Buffer;K.exports=function(w0,E,p0){var T;w0.padding?T=w0.padding:p0?T=1:T=4;var f0=x0(w0),D;if(T===4)D=H(f0,E);else if(T===1)D=y0(f0,E,p0);else if(T===3){if(D=new Q(E),D.cmp(f0.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return p0?V(D,f0):U(D,f0)};function H(w0,E){var p0=w0.modulus.byteLength(),T=E.length,f0=Y("sha1").update(B0.alloc(0)).digest(),D=f0.length,c0=2*D;if(T>p0-c0-2)throw new Error("message too long");var C=B0.alloc(p0-T-c0-2),h0=p0-D-1,L=G(D),d0=Z(B0.concat([f0,C,B0.alloc(1,1),E],h0),$(L,h0)),R=Z(L,$(d0,D));return new Q(B0.concat([B0.alloc(1),R,d0],p0))}function y0(w0,E,p0){var T=E.length,f0=w0.modulus.byteLength();if(T>f0-11)throw new Error("message too long");var D;return p0?D=B0.alloc(f0-T-3,255):D=W(f0-T-3),new Q(B0.concat([B0.from([0,p0?1:2]),D,B0.alloc(1),E],f0))}function W(w0){for(var E=B0.allocUnsafe(w0),p0=0,T=G(w0*2),f0=0,D;p0f0||new $(w0).cmp(T.modulus)>=0)throw new Error("decryption error");var D;E?D=U(new $(w0),T):D=Z(w0,T);var c0=V.alloc(f0-D.length);if(D=V.concat([c0,D],f0),p0===4)return B0(T,D);if(p0===1)return H(T,D,E);if(p0===3)return D;throw new Error("unknown padding")};function B0(W,w0){var E=W.modulus.byteLength(),p0=Q("sha1").update(V.alloc(0)).digest(),T=p0.length;if(w0[0]!==0)throw new Error("decryption error");var f0=w0.slice(1,T+1),D=w0.slice(T+1),c0=Y(f0,G(D,T)),C=Y(D,G(c0,E-T-1));if(y0(p0,C.slice(0,T)))throw new Error("decryption error");for(var h0=T;C[h0]===0;)h0++;if(C[h0++]!==1)throw new Error("decryption error");return C.slice(h0)}function H(W,w0,E){for(var p0=w0.slice(0,2),T=2,f0=0;w0[T++]!==0;)if(T>=w0.length){f0++;break}var D=w0.slice(2,T-1);if((p0.toString("hex")!=="0002"&&!E||p0.toString("hex")!=="0001"&&E)&&f0++,D.length<8&&f0++,f0)throw new Error("decryption error");return w0.slice(T)}function y0(W,w0){W=V.from(W),w0=V.from(w0);var E=0,p0=W.length;W.length!==w0.length&&(E++,p0=Math.min(W.length,w0.length));for(var T=-1;++T$||H<0)throw new TypeError("offset must be a uint32");if(H>Y||H>y0)throw new RangeError("offset out of range")}function Q(H,y0,W){if(typeof H!="number"||H!==H)throw new TypeError("size must be a number");if(H>$||H<0)throw new TypeError("size must be a uint32");if(H+y0>W||H>Y)throw new RangeError("buffer too small")}X.randomFill=U,X.randomFillSync=B0;function U(H,y0,W,w0){if(!G.isBuffer(H)&&!(H instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof y0=="function")w0=y0,y0=0,W=H.length;else if(typeof W=="function")w0=W,W=H.length-y0;else if(typeof w0!="function")throw new TypeError('"cb" argument must be a function');return Z(y0,H.length),Q(W,y0,H.length),V(H,y0,W,w0)}function V(H,y0,W,w0){if(w0){x0(W,function(p0,T){if(p0)return w0(p0);T.copy(H,y0),w0(null,H)});return}var E=x0(W);return E.copy(H,y0),H}function B0(H,y0,W){if(typeof y0>"u"&&(y0=0),!G.isBuffer(H)&&!(H instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return Z(y0,H.length),W===void 0&&(W=H.length-y0),Q(W,y0,H.length),V(H,y0,W)}}}),iY=$Q({"node_modules/crypto-browserify/index.js"(X){X.randomBytes=X.rng=X.pseudoRandomBytes=X.prng=ZQ(),X.createHash=L0(),X.Hash=X.createHash.Hash,X.createHmac=X.Hmac=z0();var K=S0(),x0=Object.keys(K),G=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(x0);X.getHashes=function(){return G};var Y=g0();X.pbkdf2=Y.pbkdf2,X.pbkdf2Sync=Y.pbkdf2Sync;var $=gQ();X.Cipher=$.Cipher,X.createCipher=$.createCipher,X.Cipheriv=$.Cipheriv,X.createCipheriv=$.createCipheriv,X.Decipher=$.Decipher,X.createDecipher=$.createDecipher,X.Decipheriv=$.Decipheriv,X.createDecipheriv=$.createDecipheriv,X.getCiphers=$.getCiphers,X.listCiphers=$.listCiphers;var Z=fQ();X.DiffieHellmanGroup=Z.DiffieHellmanGroup,X.createDiffieHellmanGroup=Z.createDiffieHellmanGroup,X.getDiffieHellman=Z.getDiffieHellman,X.createDiffieHellman=Z.createDiffieHellman,X.DiffieHellman=Z.DiffieHellman;var Q=dY();X.createSign=Q.createSign,X.Sign=Q.Sign,X.createVerify=Q.createVerify,X.Verify=Q.Verify,X.createECDH=lY();var U=eY();X.publicEncrypt=U.publicEncrypt,X.privateEncrypt=U.privateEncrypt,X.publicDecrypt=U.publicDecrypt,X.privateDecrypt=U.privateDecrypt,X.getRandomValues=(B0)=>d$.getRandomValues(B0);var V=rY();X.randomFill=V.randomFill,X.randomFillSync=V.randomFillSync,X.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` -`))},X.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}}}),$Z={...iY(),[Symbol.for("CommonJS")]:0},o$="buffer",QZ=(X)=>d$.getRandomValues(X),YZ=()=>d$.randomUUID(),u$="timingSafeEqual"in d$?(X,K)=>{let{byteLength:x0}=X,{byteLength:G}=K;if(typeof x0!="number"||typeof G!="number")throw new TypeError("Input must be an array buffer view");if(x0!==G)throw new RangeError("Input buffers must have the same length");return d$.timingSafeEqual(X,K)}:void 0,ZZ="scryptSync"in d$?(X,K,x0,G)=>{let Y=d$.scryptSync(X,K,x0,G);return o$!=="buffer"?new c$(Y).toString(o$):new c$(Y)}:void 0,GZ="scryptSync"in d$?function(X,K,x0,G,Y){if(typeof G=="function"&&(Y=G,G=void 0),typeof Y!="function"){var $=new TypeError("callback must be a function");throw $.code="ERR_INVALID_CALLBACK",$}try{let Z=d$.scryptSync(X,K,x0,G);process.nextTick(Y,null,o$!=="buffer"?new c$(Z).toString(o$):new c$(Z))}catch(Z){throw Z}}:void 0;u$&&(Object.defineProperty(u$,"name",{value:"::bunternal::"}),Object.defineProperty(GZ,"name",{value:"::bunternal::"}),Object.defineProperty(ZZ,"name",{value:"::bunternal::"}));var n$=d$;QQ($Z,{DEFAULT_ENCODING:()=>o$,getRandomValues:()=>QZ,randomUUID:()=>YZ,scrypt:()=>GZ,scryptSync:()=>ZZ,timingSafeEqual:()=>u$,webcrypto:()=>n$,subtle:()=>n$.subtle});var{randomBytes:VZ,rng:UZ,pseudoRandomBytes:XZ,prng:KZ,Hash:IZ,createHash:OZ,createHmac:JZ,Hmac:FZ,getHashes:AZ,pbkdf2:HZ,pbkdf2Sync:WZ,Cipher:EZ,createCipher:TZ,Cipheriv:DZ,createCipheriv:CZ,Decipher:LZ,createDecipher:RZ,Decipheriv:PZ,createDecipheriv:zZ,getCiphers:MZ,listCiphers:SZ,DiffieHellmanGroup:vZ,createDiffieHellmanGroup:qZ,getDiffieHellman:jZ,createDiffieHellman:kZ,DiffieHellman:gZ,createSign:_Z,Sign:NZ,createVerify:xZ,Verify:BZ,createECDH:yZ,publicEncrypt:wZ,privateEncrypt:pZ,publicDecrypt:fZ,privateDecrypt:cZ,randomFill:hZ,randomFillSync:dZ,createCredentials:bZ,constants:lZ}=$Z;var uZ=$Z;/*! safe-buffer. MIT License. Feross Aboukhadijeh */export{n$ as webcrypto,u$ as timingSafeEqual,ZZ as scryptSync,GZ as scrypt,UZ as rng,YZ as randomUUID,dZ as randomFillSync,hZ as randomFill,VZ as randomBytes,wZ as publicEncrypt,fZ as publicDecrypt,XZ as pseudoRandomBytes,KZ as prng,pZ as privateEncrypt,cZ as privateDecrypt,WZ as pbkdf2Sync,HZ as pbkdf2,SZ as listCiphers,QZ as getRandomValues,AZ as getHashes,jZ as getDiffieHellman,MZ as getCiphers,uZ as default,xZ as createVerify,_Z as createSign,JZ as createHmac,OZ as createHash,yZ as createECDH,qZ as createDiffieHellmanGroup,kZ as createDiffieHellman,zZ as createDecipheriv,RZ as createDecipher,bZ as createCredentials,CZ as createCipheriv,TZ as createCipher,lZ as constants,BZ as Verify,NZ as Sign,FZ as Hmac,IZ as Hash,vZ as DiffieHellmanGroup,gZ as DiffieHellman,PZ as Decipheriv,LZ as Decipher,o$ as DEFAULT_ENCODING,DZ as Cipheriv,EZ as Cipher}; +import{StringDecoder as z$} from"node:string_decoder";import*as M$ from"node:buffer";import*as A$ from"node:stream";var L$=Object.defineProperty;var R$=Object.getOwnPropertyNames;var S$=536870888,F$=globalThis.Buffer,H$=globalThis.crypto,v$=H$;var q$=($,Q)=>function(){return Q||(0,$[R$($)[0]])((Q={exports:{}}).exports,Q),Q.exports},j$=($,Q)=>{for(var Y in Q)L$($,Y,{get:Q[Y],enumerable:!0})};var k$=q$({"node_modules/safe-buffer/index.js"($,Q){var Y=M$,Z=Y.Buffer;function G(U,X){for(var K in U)X[K]=U[K]}Z.from&&Z.alloc&&Z.allocUnsafe&&Z.allocUnsafeSlow?Q.exports=Y:(G(Y,$),$.Buffer=V);function V(U,X,K){return Z(U,X,K)}V.prototype=Object.create(Z.prototype),G(Z,V),V.from=function(U,X,K){if(typeof U=="number")throw new TypeError("Argument must not be a number");return Z(U,X,K)},V.alloc=function(U,X,K){if(typeof U!="number")throw new TypeError("Argument must be a number");var I=Z(U);return X!==void 0?typeof K=="string"?I.fill(X,K):I.fill(X):I.fill(0),I},V.allocUnsafe=function(U){if(typeof U!="number")throw new TypeError("Argument must be a number");return Z(U)},V.allocUnsafeSlow=function(U){if(typeof U!="number")throw new TypeError("Argument must be a number");return Y.SlowBuffer(U)}}}),g$=q$({"node_modules/randombytes/browser.js"($,Q){var Y=65536,Z=4294967295;function G(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var V=k$().Buffer,U=v$;U&&U.getRandomValues?Q.exports=X:Q.exports=G;function X(K,I){if(K>Z)throw new RangeError("requested too many random bytes");var O=V.allocUnsafe(K);if(K>0)if(K>Y)for(var J=0;J=this._blockSize;){for(var O=this._blockOffset;O0;++J)this._length[J]+=F,F=this._length[J]/4294967296|0,F>0&&(this._length[J]-=4294967296*F);return this},V.prototype._update=function(){throw new Error("_update is not implemented")},V.prototype.digest=function(U){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var X=this._digest();U!==void 0&&(X=X.toString(U)),this._block.fill(0),this._blockOffset=0;for(var K=0;K<4;++K)this._length[K]=0;return X},V.prototype._digest=function(){throw new Error("_digest is not implemented")},Q.exports=V}}),x$=q$({"node_modules/md5.js/index.js"($,Q){var Y=_$(),Z=N$(),G=k$().Buffer,V=new Array(16);function U(){Z.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Y(U,Z),U.prototype._update=function(){for(var F=V,A=0;A<16;++A)F[A]=this._block.readInt32LE(A*4);var H=this._a,W=this._b,E=this._c,T=this._d;H=K(H,W,E,T,F[0],3614090360,7),T=K(T,H,W,E,F[1],3905402710,12),E=K(E,T,H,W,F[2],606105819,17),W=K(W,E,T,H,F[3],3250441966,22),H=K(H,W,E,T,F[4],4118548399,7),T=K(T,H,W,E,F[5],1200080426,12),E=K(E,T,H,W,F[6],2821735955,17),W=K(W,E,T,H,F[7],4249261313,22),H=K(H,W,E,T,F[8],1770035416,7),T=K(T,H,W,E,F[9],2336552879,12),E=K(E,T,H,W,F[10],4294925233,17),W=K(W,E,T,H,F[11],2304563134,22),H=K(H,W,E,T,F[12],1804603682,7),T=K(T,H,W,E,F[13],4254626195,12),E=K(E,T,H,W,F[14],2792965006,17),W=K(W,E,T,H,F[15],1236535329,22),H=I(H,W,E,T,F[1],4129170786,5),T=I(T,H,W,E,F[6],3225465664,9),E=I(E,T,H,W,F[11],643717713,14),W=I(W,E,T,H,F[0],3921069994,20),H=I(H,W,E,T,F[5],3593408605,5),T=I(T,H,W,E,F[10],38016083,9),E=I(E,T,H,W,F[15],3634488961,14),W=I(W,E,T,H,F[4],3889429448,20),H=I(H,W,E,T,F[9],568446438,5),T=I(T,H,W,E,F[14],3275163606,9),E=I(E,T,H,W,F[3],4107603335,14),W=I(W,E,T,H,F[8],1163531501,20),H=I(H,W,E,T,F[13],2850285829,5),T=I(T,H,W,E,F[2],4243563512,9),E=I(E,T,H,W,F[7],1735328473,14),W=I(W,E,T,H,F[12],2368359562,20),H=O(H,W,E,T,F[5],4294588738,4),T=O(T,H,W,E,F[8],2272392833,11),E=O(E,T,H,W,F[11],1839030562,16),W=O(W,E,T,H,F[14],4259657740,23),H=O(H,W,E,T,F[1],2763975236,4),T=O(T,H,W,E,F[4],1272893353,11),E=O(E,T,H,W,F[7],4139469664,16),W=O(W,E,T,H,F[10],3200236656,23),H=O(H,W,E,T,F[13],681279174,4),T=O(T,H,W,E,F[0],3936430074,11),E=O(E,T,H,W,F[3],3572445317,16),W=O(W,E,T,H,F[6],76029189,23),H=O(H,W,E,T,F[9],3654602809,4),T=O(T,H,W,E,F[12],3873151461,11),E=O(E,T,H,W,F[15],530742520,16),W=O(W,E,T,H,F[2],3299628645,23),H=J(H,W,E,T,F[0],4096336452,6),T=J(T,H,W,E,F[7],1126891415,10),E=J(E,T,H,W,F[14],2878612391,15),W=J(W,E,T,H,F[5],4237533241,21),H=J(H,W,E,T,F[12],1700485571,6),T=J(T,H,W,E,F[3],2399980690,10),E=J(E,T,H,W,F[10],4293915773,15),W=J(W,E,T,H,F[1],2240044497,21),H=J(H,W,E,T,F[8],1873313359,6),T=J(T,H,W,E,F[15],4264355552,10),E=J(E,T,H,W,F[6],2734768916,15),W=J(W,E,T,H,F[13],1309151649,21),H=J(H,W,E,T,F[4],4149444226,6),T=J(T,H,W,E,F[11],3174756917,10),E=J(E,T,H,W,F[2],718787259,15),W=J(W,E,T,H,F[9],3951481745,21),this._a=this._a+H|0,this._b=this._b+W|0,this._c=this._c+E|0,this._d=this._d+T|0},U.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 F=G.allocUnsafe(16);return F.writeInt32LE(this._a,0),F.writeInt32LE(this._b,4),F.writeInt32LE(this._c,8),F.writeInt32LE(this._d,12),F};function X(F,A){return F<>>32-A}function K(F,A,H,W,E,T,D){return X(F+(A&H|~A&W)+E+T|0,D)+A|0}function I(F,A,H,W,E,T,D){return X(F+(A&W|H&~W)+E+T|0,D)+A|0}function O(F,A,H,W,E,T,D){return X(F+(A^H^W)+E+T|0,D)+A|0}function J(F,A,H,W,E,T,D){return X(F+(H^(A|~W))+E+T|0,D)+A|0}Q.exports=U}}),B$=q$({"node_modules/ripemd160/index.js"($,Q){var Y=F$,Z=_$(),G=N$(),V=new Array(16),U=[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],X=[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],K=[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],I=[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],O=[0,1518500249,1859775393,2400959708,2840853838],J=[1352829926,1548603684,1836072691,2053994217,0];function F(){G.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Z(F,G),F.prototype._update=function(){for(var C=V,L=0;L<16;++L)C[L]=this._block.readInt32LE(L*4);for(var R=this._a|0,P=this._b|0,z=this._c|0,M=this._d|0,S=this._e|0,v=this._a|0,q=this._b|0,j=this._c|0,k=this._d|0,g=this._e|0,_=0;_<80;_+=1){var N,x;_<16?(N=H(R,P,z,M,S,C[U[_]],O[0],K[_]),x=D(v,q,j,k,g,C[X[_]],J[0],I[_])):_<32?(N=W(R,P,z,M,S,C[U[_]],O[1],K[_]),x=T(v,q,j,k,g,C[X[_]],J[1],I[_])):_<48?(N=E(R,P,z,M,S,C[U[_]],O[2],K[_]),x=E(v,q,j,k,g,C[X[_]],J[2],I[_])):_<64?(N=T(R,P,z,M,S,C[U[_]],O[3],K[_]),x=W(v,q,j,k,g,C[X[_]],J[3],I[_])):(N=D(R,P,z,M,S,C[U[_]],O[4],K[_]),x=H(v,q,j,k,g,C[X[_]],J[4],I[_])),R=S,S=M,M=A(z,10),z=P,P=N,v=g,g=k,k=A(j,10),j=q,q=x}var B=this._b+z+k|0;this._b=this._c+M+g|0,this._c=this._d+S+v|0,this._d=this._e+R+q|0,this._e=this._a+P+j|0,this._a=B},F.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 C=Y.alloc?Y.alloc(20):new Y(20);return C.writeInt32LE(this._a,0),C.writeInt32LE(this._b,4),C.writeInt32LE(this._c,8),C.writeInt32LE(this._d,12),C.writeInt32LE(this._e,16),C};function A(C,L){return C<>>32-L}function H(C,L,R,P,z,M,S,v){return A(C+(L^R^P)+M+S|0,v)+z|0}function W(C,L,R,P,z,M,S,v){return A(C+(L&R|~L&P)+M+S|0,v)+z|0}function E(C,L,R,P,z,M,S,v){return A(C+((L|~R)^P)+M+S|0,v)+z|0}function T(C,L,R,P,z,M,S,v){return A(C+(L&P|R&~P)+M+S|0,v)+z|0}function D(C,L,R,P,z,M,S,v){return A(C+(L^(R|~P))+M+S|0,v)+z|0}Q.exports=F}}),y$=q$({"node_modules/sha.js/hash.js"($,Q){var Y=k$().Buffer;function Z(G,V){this._block=Y.alloc(G),this._finalSize=V,this._blockSize=G,this._len=0}Z.prototype.update=function(G,V){typeof G=="string"&&(V=V||"utf8",G=Y.from(G,V));for(var U=this._block,X=this._blockSize,K=G.length,I=this._len,O=0;O=this._finalSize&&(this._update(this._block),this._block.fill(0));var U=this._len*8;if(U<=4294967295)this._block.writeUInt32BE(U,this._blockSize-4);else{var X=(U&4294967295)>>>0,K=(U-X)/4294967296;this._block.writeUInt32BE(K,this._blockSize-8),this._block.writeUInt32BE(X,this._blockSize-4)}this._update(this._block);var I=this._hash();return G?I.toString(G):I},Z.prototype._update=function(){throw new Error("_update must be implemented by subclass")},Q.exports=Z}}),w$=q$({"node_modules/sha.js/sha.js"($,Q){var Y=_$(),Z=y$(),G=k$().Buffer,V=[1518500249,1859775393,-1894007588,-899497514],U=new Array(80);function X(){this.init(),this._w=U,Z.call(this,64,56)}Y(X,Z),X.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function K(J){return J<<5|J>>>27}function I(J){return J<<30|J>>>2}function O(J,F,A,H){return J===0?F&A|~F&H:J===2?F&A|F&H|A&H:F^A^H}X.prototype._update=function(J){for(var F=this._w,A=this._a|0,H=this._b|0,W=this._c|0,E=this._d|0,T=this._e|0,D=0;D<16;++D)F[D]=J.readInt32BE(D*4);for(;D<80;++D)F[D]=F[D-3]^F[D-8]^F[D-14]^F[D-16];for(var C=0;C<80;++C){var L=~~(C/20),R=K(A)+O(L,H,W,E)+T+F[C]+V[L]|0;T=E,E=W,W=I(H),H=A,A=R}this._a=A+this._a|0,this._b=H+this._b|0,this._c=W+this._c|0,this._d=E+this._d|0,this._e=T+this._e|0},X.prototype._hash=function(){var J=G.allocUnsafe(20);return J.writeInt32BE(this._a|0,0),J.writeInt32BE(this._b|0,4),J.writeInt32BE(this._c|0,8),J.writeInt32BE(this._d|0,12),J.writeInt32BE(this._e|0,16),J},Q.exports=X}}),p$=q$({"node_modules/sha.js/sha1.js"($,Q){var Y=_$(),Z=y$(),G=k$().Buffer,V=[1518500249,1859775393,-1894007588,-899497514],U=new Array(80);function X(){this.init(),this._w=U,Z.call(this,64,56)}Y(X,Z),X.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function K(F){return F<<1|F>>>31}function I(F){return F<<5|F>>>27}function O(F){return F<<30|F>>>2}function J(F,A,H,W){return F===0?A&H|~A&W:F===2?A&H|A&W|H&W:A^H^W}X.prototype._update=function(F){for(var A=this._w,H=this._a|0,W=this._b|0,E=this._c|0,T=this._d|0,D=this._e|0,C=0;C<16;++C)A[C]=F.readInt32BE(C*4);for(;C<80;++C)A[C]=K(A[C-3]^A[C-8]^A[C-14]^A[C-16]);for(var L=0;L<80;++L){var R=~~(L/20),P=I(H)+J(R,W,E,T)+D+A[L]+V[R]|0;D=T,T=E,E=O(W),W=H,H=P}this._a=H+this._a|0,this._b=W+this._b|0,this._c=E+this._c|0,this._d=T+this._d|0,this._e=D+this._e|0},X.prototype._hash=function(){var F=G.allocUnsafe(20);return F.writeInt32BE(this._a|0,0),F.writeInt32BE(this._b|0,4),F.writeInt32BE(this._c|0,8),F.writeInt32BE(this._d|0,12),F.writeInt32BE(this._e|0,16),F},Q.exports=X}}),f$=q$({"node_modules/sha.js/sha256.js"($,Q){var Y=_$(),Z=y$(),G=k$().Buffer,V=[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],U=new Array(64);function X(){this.init(),this._w=U,Z.call(this,64,56)}Y(X,Z),X.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};function K(H,W,E){return E^H&(W^E)}function I(H,W,E){return H&W|E&(H|W)}function O(H){return(H>>>2|H<<30)^(H>>>13|H<<19)^(H>>>22|H<<10)}function J(H){return(H>>>6|H<<26)^(H>>>11|H<<21)^(H>>>25|H<<7)}function F(H){return(H>>>7|H<<25)^(H>>>18|H<<14)^H>>>3}function A(H){return(H>>>17|H<<15)^(H>>>19|H<<13)^H>>>10}X.prototype._update=function(H){for(var W=this._w,E=this._a|0,T=this._b|0,D=this._c|0,C=this._d|0,L=this._e|0,R=this._f|0,P=this._g|0,z=this._h|0,M=0;M<16;++M)W[M]=H.readInt32BE(M*4);for(;M<64;++M)W[M]=A(W[M-2])+W[M-7]+F(W[M-15])+W[M-16]|0;for(var S=0;S<64;++S){var v=z+J(L)+K(L,R,P)+V[S]+W[S]|0,q=O(E)+I(E,T,D)|0;z=P,P=R,R=L,L=C+v|0,C=D,D=T,T=E,E=v+q|0}this._a=E+this._a|0,this._b=T+this._b|0,this._c=D+this._c|0,this._d=C+this._d|0,this._e=L+this._e|0,this._f=R+this._f|0,this._g=P+this._g|0,this._h=z+this._h|0},X.prototype._hash=function(){var H=G.allocUnsafe(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},Q.exports=X}}),c$=q$({"node_modules/sha.js/sha224.js"($,Q){var Y=_$(),Z=f$(),G=y$(),V=k$().Buffer,U=new Array(64);function X(){this.init(),this._w=U,G.call(this,64,56)}Y(X,Z),X.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},X.prototype._hash=function(){var K=V.allocUnsafe(28);return K.writeInt32BE(this._a,0),K.writeInt32BE(this._b,4),K.writeInt32BE(this._c,8),K.writeInt32BE(this._d,12),K.writeInt32BE(this._e,16),K.writeInt32BE(this._f,20),K.writeInt32BE(this._g,24),K},Q.exports=X}}),h$=q$({"node_modules/sha.js/sha512.js"($,Q){var Y=_$(),Z=y$(),G=k$().Buffer,V=[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],U=new Array(160);function X(){this.init(),this._w=U,Z.call(this,128,112)}Y(X,Z),X.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};function K(T,D,C){return C^T&(D^C)}function I(T,D,C){return T&D|C&(T|D)}function O(T,D){return(T>>>28|D<<4)^(D>>>2|T<<30)^(D>>>7|T<<25)}function J(T,D){return(T>>>14|D<<18)^(T>>>18|D<<14)^(D>>>9|T<<23)}function F(T,D){return(T>>>1|D<<31)^(T>>>8|D<<24)^T>>>7}function A(T,D){return(T>>>1|D<<31)^(T>>>8|D<<24)^(T>>>7|D<<25)}function H(T,D){return(T>>>19|D<<13)^(D>>>29|T<<3)^T>>>6}function W(T,D){return(T>>>19|D<<13)^(D>>>29|T<<3)^(T>>>6|D<<26)}function E(T,D){return T>>>0>>0?1:0}X.prototype._update=function(T){for(var D=this._w,C=this._ah|0,L=this._bh|0,R=this._ch|0,P=this._dh|0,z=this._eh|0,M=this._fh|0,S=this._gh|0,v=this._hh|0,q=this._al|0,j=this._bl|0,k=this._cl|0,g=this._dl|0,_=this._el|0,N=this._fl|0,x=this._gl|0,B=this._hl|0,y=0;y<32;y+=2)D[y]=T.readInt32BE(y*4),D[y+1]=T.readInt32BE(y*4+4);for(;y<160;y+=2){var w=D[y-30],p=D[y-30+1],f=F(w,p),c=A(p,w);w=D[y-4],p=D[y-4+1];var h=H(w,p),d=W(p,w),b=D[y-14],l=D[y-14+1],o=D[y-32],u=D[y-32+1],n=c+l|0,s=f+b+E(n,c)|0;n=n+d|0,s=s+h+E(n,d)|0,n=n+u|0,s=s+o+E(n,u)|0,D[y]=s,D[y+1]=n}for(var t=0;t<160;t+=2){s=D[t],n=D[t+1];var m=I(C,L,R),a=I(q,j,k),e=O(C,q),r=O(q,C),i=J(z,_),$0=J(_,z),Q0=V[t],Y0=V[t+1],Z0=K(z,M,S),G0=K(_,N,x),V0=B+$0|0,U0=v+i+E(V0,B)|0;V0=V0+G0|0,U0=U0+Z0+E(V0,G0)|0,V0=V0+Y0|0,U0=U0+Q0+E(V0,Y0)|0,V0=V0+n|0,U0=U0+s+E(V0,n)|0;var X0=r+a|0,K0=e+m+E(X0,r)|0;v=S,B=x,S=M,x=N,M=z,N=_,_=g+V0|0,z=P+U0+E(_,g)|0,P=R,g=k,R=L,k=j,L=C,j=q,q=V0+X0|0,C=U0+K0+E(q,V0)|0}this._al=this._al+q|0,this._bl=this._bl+j|0,this._cl=this._cl+k|0,this._dl=this._dl+g|0,this._el=this._el+_|0,this._fl=this._fl+N|0,this._gl=this._gl+x|0,this._hl=this._hl+B|0,this._ah=this._ah+C+E(this._al,q)|0,this._bh=this._bh+L+E(this._bl,j)|0,this._ch=this._ch+R+E(this._cl,k)|0,this._dh=this._dh+P+E(this._dl,g)|0,this._eh=this._eh+z+E(this._el,_)|0,this._fh=this._fh+M+E(this._fl,N)|0,this._gh=this._gh+S+E(this._gl,x)|0,this._hh=this._hh+v+E(this._hl,B)|0},X.prototype._hash=function(){var T=G.allocUnsafe(64);function D(C,L,R){T.writeInt32BE(C,R),T.writeInt32BE(L,R+4)}return D(this._ah,this._al,0),D(this._bh,this._bl,8),D(this._ch,this._cl,16),D(this._dh,this._dl,24),D(this._eh,this._el,32),D(this._fh,this._fl,40),D(this._gh,this._gl,48),D(this._hh,this._hl,56),T},Q.exports=X}}),d$=q$({"node_modules/sha.js/sha384.js"($,Q){var Y=_$(),Z=h$(),G=y$(),V=k$().Buffer,U=new Array(160);function X(){this.init(),this._w=U,G.call(this,128,112)}Y(X,Z),X.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},X.prototype._hash=function(){var K=V.allocUnsafe(48);function I(O,J,F){K.writeInt32BE(O,F),K.writeInt32BE(J,F+4)}return I(this._ah,this._al,0),I(this._bh,this._bl,8),I(this._ch,this._cl,16),I(this._dh,this._dl,24),I(this._eh,this._el,32),I(this._fh,this._fl,40),K},Q.exports=X}}),b$=q$({"node_modules/sha.js/index.js"(Y,Q){var Y=Q.exports=function(Z){Z=Z.toLowerCase();var G=Y[Z];if(!G)throw new Error(Z+" is not supported (we accept pull requests)");return new G};Y.sha=w$(),Y.sha1=p$(),Y.sha224=c$(),Y.sha256=f$(),Y.sha384=d$(),Y.sha512=h$()}}),l$=q$({"node_modules/cipher-base/index.js"($,Q){var Y=k$().Buffer,Z=_$();function G(V){A$.Transform.call(this),this.hashMode=typeof V=="string",this.hashMode?this[V]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}Z(G,A$.Transform),G.prototype.update=function(V,U,X){typeof V=="string"&&(V=Y.from(V,U));var K=this._update(V);return this.hashMode?this:(X&&(K=this._toString(K,X)),K)},G.prototype.setAutoPadding=function(){},G.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},G.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},G.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},G.prototype._transform=function(V,U,X){var K;try{this.hashMode?this._update(V):this.push(this._update(V))}catch(I){K=I}finally{X(K)}},G.prototype._flush=function(V){var U;try{this.push(this.__final())}catch(X){U=X}V(U)},G.prototype._finalOrDigest=function(V){var U=this.__final()||Y.alloc(0);return V&&(U=this._toString(U,V,!0)),U},G.prototype._toString=function(V,U,X){if(this._decoder||(this._decoder=new z$(U),this._encoding=U),this._encoding!==U)throw new Error("can't switch encodings");var K=this._decoder.write(V);return X&&(K+=this._decoder.end()),K},Q.exports=G}}),o$=q$({"node_modules/create-hash/browser.js"($,Q){const Y=function V(U,X){this._options=X,this._hasher=new sY(U,X),this._finalized=!1};Y.prototype=Object.create(A$.Transform.prototype),Y.prototype.update=function V(U,X){return this._checkFinalized(),this._hasher.update(U,X),this},Y.prototype.digest=function V(U,X){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(U,X)},Y.prototype._checkFinalized=function V(){if(this._finalized){var U=new Error("Digest already called");throw U.code="ERR_CRYPTO_HASH_FINALIZED",U}},Y.prototype.copy=function V(){const U=Object.create(Y.prototype);return U._options=this._options,U._hasher=this._hasher.copy(),U._finalized=this._finalized,U};const Z={__proto__:A$.Transform.prototype,...Y.prototype,_transform(V,U,X){this.update(V,U),X&&X()},_flush(V){this.push(this.digest()),V()}},G=["_events","_eventsCount","_final","_maxListeners","_maxListeners","_read","_undestroy","_writableState","_write","_writev","addListener","asIndexedPairs","closed","compose","constructor","cork","destroy","destroyed","drop","emit","end","errored","eventNames","every","filter","find","flatMap","forEach","getMaxListeners","hasOwnProperty","isPaused","isPrototypeOf","iterator","listenerCount","listeners","map","off","on","once","pause","pipe","prependListener","prependOnceListener","propertyIsEnumerable","push","rawListeners","read","readable","readableAborted","readableBuffer","readableDidRead","readableEncoding","readableEnded","readableFlowing","readableHighWaterMark","readableLength","readableObjectMode","reduce","removeAllListeners","removeListener","resume","setDefaultEncoding","setEncoding","setMaxListeners","some","take","toArray","toLocaleString","toString","uncork","unpipe","unshift","valueOf","wrap","writable","writableBuffer","writableCorked","writableEnded","writableFinished","writableHighWaterMark","writableLength","writableNeedDrain","writableObjectMode","write"];for(let V of G)Object.defineProperty(Y.prototype,V,{get(){return Object.setPrototypeOf(this,Z),A$.Transform.call(this,this._options),this[V]},enumerable:!1,configurable:!0});Q.exports=function V(U){return new Y(U)},Q.exports.createHash=Q.exports,Q.exports.Hash=Y}}),u$=q$({"node_modules/create-hmac/legacy.js"($,Q){var Y=_$(),Z=k$().Buffer,G=l$(),V=Z.alloc(128),U=64;function X(K,I){G.call(this,"digest"),typeof I=="string"&&(I=Z.from(I)),this._alg=K,this._key=I,I.length>U?I=K(I):I.lengthA){var H=J==="rmd160"?new X:K(J);F=H.update(F).digest()}else F.lengthY||G!==G)throw new TypeError("Bad key length")}}}),e$=q$({"node_modules/pbkdf2/lib/default-encoding.js"($,Q){var Y;global.process&&global.process.browser?Y="utf-8":global.process&&global.process.version?(Z=parseInt(process.version.split(".")[0].slice(1),10),Y=Z>=6?"utf-8":"binary"):Y="utf-8";var Z;Q.exports=Y}}),r$=q$({"node_modules/pbkdf2/lib/to-buffer.js"($,Q){var Y=k$().Buffer;Q.exports=function(Z,G,V){if(Y.isBuffer(Z))return Z;if(typeof Z=="string")return Y.from(Z,G);if(ArrayBuffer.isView(Z))return Y.from(Z.buffer);throw new TypeError(V+" must be a string, a Buffer, a typed array or a DataView")}}}),i$=q$({"node_modules/pbkdf2/lib/sync-browser.js"($,Q){var Y=n$(),Z=B$(),G=b$(),V=k$().Buffer,U=a$(),X=e$(),K=r$(),I=V.alloc(128),O={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function J(H,W,E){var T=F(H),D=H==="sha512"||H==="sha384"?128:64;W.length>D?W=T(W):W.length>>0},$.writeUInt32BE=function(G,V,U){G[0+U]=V>>>24,G[1+U]=V>>>16&255,G[2+U]=V>>>8&255,G[3+U]=V&255},$.ip=function(G,V,U,X){for(var K=0,I=0,O=6;O>=0;O-=2){for(var J=0;J<=24;J+=8)K<<=1,K|=V>>>J+O&1;for(var J=0;J<=24;J+=8)K<<=1,K|=G>>>J+O&1}for(var O=6;O>=0;O-=2){for(var J=1;J<=25;J+=8)I<<=1,I|=V>>>J+O&1;for(var J=1;J<=25;J+=8)I<<=1,I|=G>>>J+O&1}U[X+0]=K>>>0,U[X+1]=I>>>0},$.rip=function(G,V,U,X){for(var K=0,I=0,O=0;O<4;O++)for(var J=24;J>=0;J-=8)K<<=1,K|=V>>>J+O&1,K<<=1,K|=G>>>J+O&1;for(var O=4;O<8;O++)for(var J=24;J>=0;J-=8)I<<=1,I|=V>>>J+O&1,I<<=1,I|=G>>>J+O&1;U[X+0]=K>>>0,U[X+1]=I>>>0},$.pc1=function(G,V,U,X){for(var K=0,I=0,O=7;O>=5;O--){for(var J=0;J<=24;J+=8)K<<=1,K|=V>>J+O&1;for(var J=0;J<=24;J+=8)K<<=1,K|=G>>J+O&1}for(var J=0;J<=24;J+=8)K<<=1,K|=V>>J+O&1;for(var O=1;O<=3;O++){for(var J=0;J<=24;J+=8)I<<=1,I|=V>>J+O&1;for(var J=0;J<=24;J+=8)I<<=1,I|=G>>J+O&1}for(var J=0;J<=24;J+=8)I<<=1,I|=G>>J+O&1;U[X+0]=K>>>0,U[X+1]=I>>>0},$.r28shl=function(G,V){return G<>>28-V};var Q=[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];$.pc2=function(G,V,U,X){for(var K=0,I=0,O=Q.length>>>1,J=0;J>>Q[J]&1;for(var J=O;J>>Q[J]&1;U[X+0]=K>>>0,U[X+1]=I>>>0},$.expand=function(G,V,U){var X=0,K=0;X=(G&1)<<5|G>>>27;for(var I=23;I>=15;I-=4)X<<=6,X|=G>>>I&63;for(var I=11;I>=3;I-=4)K|=G>>>I&63,K<<=6;K|=(G&31)<<1|G>>>31,V[U+0]=X>>>0,V[U+1]=K>>>0};var Y=[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];$.substitute=function(G,V){for(var U=0,X=0;X<4;X++){var K=G>>>18-X*6&63,I=Y[X*64+K];U<<=4,U|=I}for(var X=0;X<4;X++){var K=V>>>18-X*6&63,I=Y[256+X*64+K];U<<=4,U|=I}return U>>>0};var Z=[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];$.permute=function(G){for(var V=0,U=0;U>>Z[U]&1;return V>>>0},$.padSplit=function(G,V,U){for(var X=G.toString(2);X.length0;X--)V+=this._buffer(G,V),U+=this._flushBuffer(K,U);return V+=this._buffer(G,V),K},Z.prototype.final=function(G){var V;G&&(V=this.update(G));var U;return this.type==="encrypt"?U=this._finalEncrypt():U=this._finalDecrypt(),V?V.concat(U):U},Z.prototype._pad=function(G,V){if(V===0)return!1;for(;V>>1];J=G.r28shl(J,H),F=G.r28shl(F,H),G.pc2(J,F,I.keys,A)}},X.prototype._update=function(I,O,J,F){var A=this._desState,H=G.readUInt32BE(I,O),W=G.readUInt32BE(I,O+4);G.ip(H,W,A.tmp,0),H=A.tmp[0],W=A.tmp[1],this.type==="encrypt"?this._encrypt(A,H,W,A.tmp,0):this._decrypt(A,H,W,A.tmp,0),H=A.tmp[0],W=A.tmp[1],G.writeUInt32BE(J,H,F),G.writeUInt32BE(J,W,F+4)},X.prototype._pad=function(I,O){for(var J=I.length-O,F=O;F>>0,H=R}G.rip(W,H,F,A)},X.prototype._decrypt=function(I,O,J,F,A){for(var H=J,W=O,E=I.keys.length-2;E>=0;E-=2){var T=I.keys[E],D=I.keys[E+1];G.expand(H,I.tmp,0),T^=I.tmp[0],D^=I.tmp[1];var C=G.substitute(T,D),L=G.permute(C),R=H;H=(W^L)>>>0,W=R}G.rip(H,W,F,A)}}}),UQ=q$({"node_modules/des.js/lib/des/cbc.js"($){var Q=ZQ(),Y=_$(),Z={};function G(U){Q.equal(U.length,8,"Invalid IV length"),this.iv=new Array(8);for(var X=0;X>K%8,G._prev=Z(G._prev,U?J:F);return O}function Z(G,V){var U=G.length,X=-1,K=Q.allocUnsafe(G.length);for(G=Q.concat([G,Q.from([V])]);++X>7;return K}$.encrypt=function(G,V,U){for(var X=V.length,K=Q.allocUnsafe(X),I=-1;++I>>24]^W[C>>>16&255]^E[L>>>8&255]^T[R&255]^O[v++],z=H[C>>>24]^W[L>>>16&255]^E[R>>>8&255]^T[D&255]^O[v++],M=H[L>>>24]^W[R>>>16&255]^E[D>>>8&255]^T[C&255]^O[v++],S=H[R>>>24]^W[D>>>16&255]^E[C>>>8&255]^T[L&255]^O[v++],D=P,C=z,L=M,R=S;return P=(F[D>>>24]<<24|F[C>>>16&255]<<16|F[L>>>8&255]<<8|F[R&255])^O[v++],z=(F[C>>>24]<<24|F[L>>>16&255]<<16|F[R>>>8&255]<<8|F[D&255])^O[v++],M=(F[L>>>24]<<24|F[R>>>16&255]<<16|F[D>>>8&255]<<8|F[C&255])^O[v++],S=(F[R>>>24]<<24|F[D>>>16&255]<<16|F[C>>>8&255]<<8|F[L&255])^O[v++],P=P>>>0,z=z>>>0,M=M>>>0,S=S>>>0,[P,z,M,S]}var U=[0,1,2,4,8,16,32,64,128,27,54],X=function(){for(var I=new Array(256),O=0;O<256;O++)O<128?I[O]=O<<1:I[O]=O<<1^283;for(var J=[],F=[],A=[[],[],[],[]],H=[[],[],[],[]],W=0,E=0,T=0;T<256;++T){var D=E^E<<1^E<<2^E<<3^E<<4;D=D>>>8^D&255^99,J[W]=D,F[D]=W;var C=I[W],L=I[C],R=I[L],P=I[D]*257^D*16843008;A[0][W]=P<<24|P>>>8,A[1][W]=P<<16|P>>>16,A[2][W]=P<<8|P>>>24,A[3][W]=P,P=R*16843009^L*65537^C*257^W*16843008,H[0][D]=P<<24|P>>>8,H[1][D]=P<<16|P>>>16,H[2][D]=P<<8|P>>>24,H[3][D]=P,W===0?W=E=1:(W=C^I[I[I[R^C]]],E^=I[I[E]])}return{SBOX:J,INV_SBOX:F,SUB_MIX:A,INV_SUB_MIX:H}}();function K(I){this._key=Z(I),this._reset()}K.blockSize=16,K.keySize=32,K.prototype.blockSize=K.blockSize,K.prototype.keySize=K.keySize,K.prototype._reset=function(){for(var I=this._key,O=I.length,J=O+6,F=(J+1)*4,A=[],H=0;H>>24,W=X.SBOX[W>>>24]<<24|X.SBOX[W>>>16&255]<<16|X.SBOX[W>>>8&255]<<8|X.SBOX[W&255],W^=U[H/O|0]<<24):O>6&&H%O===4&&(W=X.SBOX[W>>>24]<<24|X.SBOX[W>>>16&255]<<16|X.SBOX[W>>>8&255]<<8|X.SBOX[W&255]),A[H]=A[H-O]^W}for(var E=[],T=0;T>>24]]^X.INV_SUB_MIX[1][X.SBOX[C>>>16&255]]^X.INV_SUB_MIX[2][X.SBOX[C>>>8&255]]^X.INV_SUB_MIX[3][X.SBOX[C&255]]}this._nRounds=J,this._keySchedule=A,this._invKeySchedule=E},K.prototype.encryptBlockRaw=function(I){return I=Z(I),V(I,this._keySchedule,X.SUB_MIX,X.SBOX,this._nRounds)},K.prototype.encryptBlock=function(I){var O=this.encryptBlockRaw(I),J=Y.allocUnsafe(16);return J.writeUInt32BE(O[0],0),J.writeUInt32BE(O[1],4),J.writeUInt32BE(O[2],8),J.writeUInt32BE(O[3],12),J},K.prototype.decryptBlock=function(I){I=Z(I);var O=I[1];I[1]=I[3],I[3]=O;var J=V(I,this._invKeySchedule,X.INV_SUB_MIX,X.INV_SBOX,this._nRounds),F=Y.allocUnsafe(16);return F.writeUInt32BE(J[0],0),F.writeUInt32BE(J[3],4),F.writeUInt32BE(J[2],8),F.writeUInt32BE(J[1],12),F},K.prototype.scrub=function(){G(this._keySchedule),G(this._invKeySchedule),G(this._key)},Q.exports.AES=K}}),RQ=q$({"node_modules/browserify-aes/ghash.js"($,Q){var Y=k$().Buffer,Z=Y.alloc(16,0);function G(X){return[X.readUInt32BE(0),X.readUInt32BE(4),X.readUInt32BE(8),X.readUInt32BE(12)]}function V(X){var K=Y.allocUnsafe(16);return K.writeUInt32BE(X[0]>>>0,0),K.writeUInt32BE(X[1]>>>0,4),K.writeUInt32BE(X[2]>>>0,8),K.writeUInt32BE(X[3]>>>0,12),K}function U(X){this.h=X,this.state=Y.alloc(16,0),this.cache=Y.allocUnsafe(0)}U.prototype.ghash=function(X){for(var K=-1;++K0;I--)X[I]=X[I]>>>1|(X[I-1]&1)<<31;X[0]=X[0]>>>1,J&&(X[0]=X[0]^225<<24)}this.state=V(K)},U.prototype.update=function(X){this.cache=Y.concat([this.cache,X]);for(var K;this.cache.length>=16;)K=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(K)},U.prototype.final=function(X,K){return this.cache.length&&this.ghash(Y.concat([this.cache,Z],16)),this.ghash(V([0,X,0,K])),this.state},Q.exports=U}}),PQ=q$({"node_modules/browserify-aes/authCipher.js"($,Q){var Y=LQ(),Z=k$().Buffer,G=l$(),V=_$(),U=RQ(),X=JQ(),K=TQ();function I(F,A){var H=0;F.length!==A.length&&H++;for(var W=Math.min(F.length,A.length),E=0;E0||K>0;){var A=new Z;A.update(F),A.update(V),U&&A.update(U),F=A.digest();var H=0;if(I>0){var W=O.length-I;H=Math.min(I,F.length),F.copy(O,W,0,H),I-=H}if(H0){var E=J.length-K,T=Math.min(K,F.length-H);F.copy(J,E,H,H+T),K-=T}}return F.fill(0),{key:O,iv:J}}Q.exports=G}}),SQ=q$({"node_modules/browserify-aes/encrypter.js"($){var Q=CQ(),Y=PQ(),Z=k$().Buffer,G=zQ(),V=l$(),U=LQ(),X=MQ(),K=_$();function I(H,W,E){V.call(this),this._cache=new J,this._cipher=new U.AES(W),this._prev=Z.from(E),this._mode=H,this._autopadding=!0}K(I,V),I.prototype._update=function(H){this._cache.add(H);for(var W,E,T=[];W=this._cache.get();)E=this._mode.encrypt(this,W),T.push(E);return Z.concat(T)};var O=Z.alloc(16,16);I.prototype._final=function(){var H=this._cache.flush();if(this._autopadding)return H=this._mode.encrypt(this,H),this._cipher.scrub(),H;if(!H.equals(O))throw this._cipher.scrub(),new Error("data not multiple of block length")},I.prototype.setAutoPadding=function(H){return this._autopadding=!!H,this};function J(){this.cache=Z.allocUnsafe(0)}J.prototype.add=function(H){this.cache=Z.concat([this.cache,H])},J.prototype.get=function(){if(this.cache.length>15){var H=this.cache.slice(0,16);return this.cache=this.cache.slice(16),H}return null},J.prototype.flush=function(){for(var H=16-this.cache.length,W=Z.allocUnsafe(H),E=-1;++E16)return W=this.cache.slice(0,16),this.cache=this.cache.slice(16),W}else if(this.cache.length>=16)return W=this.cache.slice(0,16),this.cache=this.cache.slice(16),W;return null},O.prototype.flush=function(){if(this.cache.length)return this.cache};function J(H){var W=H[15];if(W<1||W>16)throw new Error("unable to decrypt data");for(var E=-1;++E0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),_Q=q$({"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js"($,Q){(function(Y,Z){function G(j,k){if(!j)throw new Error(k||"Assertion failed")}function V(j,k){j.super_=k;var g=function(){};g.prototype=k.prototype,j.prototype=new g,j.prototype.constructor=j}function U(j,k,g){if(U.isBN(j))return j;this.negative=0,this.words=null,this.length=0,this.red=null,j!==null&&((k==="le"||k==="be")&&(g=k,k=10),this._init(j||0,k||10,g||"be"))}typeof Y=="object"?Y.exports=U:Z.BN=U,U.BN=U,U.wordSize=26;var X=F$;U.isBN=function(j){return j instanceof U?!0:j!==null&&typeof j=="object"&&j.constructor.wordSize===U.wordSize&&Array.isArray(j.words)},U.max=function(j,k){return j.cmp(k)>0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),NQ=q$({"(disabled):node_modules/crypto-browserify/index.js"(){}}),xQ=q$({"node_modules/brorand/index.js"($,Q){var Y;Q.exports=function(G){return Y||(Y=new Z(null)),Y.generate(G)};function Z(G){this.rand=G}Q.exports.Rand=Z,Z.prototype.generate=function(G){return this._rand(G)},Z.prototype._rand=function(G){var V=new F$(G);return H$.getRandomValues(V),V}}}),BQ=q$({"node_modules/miller-rabin/lib/mr.js"($,Q){var Y=_Q(),Z=xQ();function G(V){this.rand=V||new Z.Rand}Q.exports=G,G.create=function(V){return new G(V)},G.prototype._randbelow=function(V){var U=V.bitLength(),X=Math.ceil(U/8);do var K=new Y(this.rand.generate(X));while(K.cmp(V)>=0);return K},G.prototype._randrange=function(V,U){var X=U.sub(V);return V.add(this._randbelow(X))},G.prototype.test=function(V,U,X){var K=V.bitLength(),I=Y.mont(V),O=new Y(1).toRed(I);U||(U=Math.max(1,K/48|0));for(var J=V.subn(1),F=0;!J.testn(F);F++);for(var A=V.shrn(F),H=J.toRed(I),W=!0;U>0;U--){var E=this._randrange(new Y(2),J);X&&X(E);var T=E.toRed(I).redPow(A);if(!(T.cmp(O)===0||T.cmp(H)===0)){for(var D=1;D0;U--){var H=this._randrange(new Y(2),O),W=V.gcd(H);if(W.cmpn(1)!==0)return W;var E=H.toRed(K).redPow(F);if(!(E.cmp(I)===0||E.cmp(A)===0)){for(var T=1;Tz;)S.ishrn(1);if(S.isEven()&&S.iadd(X),S.testn(1)||S.iadd(K),M.cmp(K)){if(!M.cmp(I))for(;S.mod(F).cmp(A);)S.iadd(E)}else for(;S.mod(G).cmp(W);)S.iadd(E);if(v=S.shrn(1),L(v)&&L(S)&&R(v)&&R(S)&&U.test(v)&&U.test(S))return S}}}}),wQ=q$({"node_modules/diffie-hellman/lib/primes.json"($,Q){Q.exports={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"}}}}),pQ=q$({"node_modules/diffie-hellman/lib/dh.js"($,Q){var Y=gQ(),Z=BQ(),G=new Z,V=new Y(24),U=new Y(11),X=new Y(10),K=new Y(3),I=new Y(7),O=yQ(),J=g$();Q.exports=E;function F(D,C){return C=C||"utf8",F$.isBuffer(D)||(D=new F$(D,C)),this._pub=new Y(D),this}function A(D,C){return C=C||"utf8",F$.isBuffer(D)||(D=new F$(D,C)),this._priv=new Y(D),this}var H={};function W(D,C){var L=C.toString("hex"),R=[L,D.toString(16)].join("_");if(R in H)return H[R];var P=0;if(D.isEven()||!O.simpleSieve||!O.fermatTest(D)||!G.test(D))return P+=1,L==="02"||L==="05"?P+=8:P+=4,H[R]=P,P;G.test(D.shrn(1))||(P+=2);var z;switch(L){case"02":D.mod(V).cmp(U)&&(P+=8);break;case"05":z=D.mod(X),z.cmp(K)&&z.cmp(I)&&(P+=8);break;default:P+=4}return H[R]=P,P}function E(D,C,L){this.setGenerator(C),this.__prime=new Y(D),this._prime=Y.mont(this.__prime),this._primeLen=D.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,L?(this.setPublicKey=F,this.setPrivateKey=A):this._primeCode=8}Object.defineProperty(E.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=W(this.__prime,this.__gen)),this._primeCode}}),E.prototype.generateKeys=function(){return this._priv||(this._priv=new Y(J(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},E.prototype.computeSecret=function(D){D=new Y(D),D=D.toRed(this._prime);var C=D.redPow(this._priv).fromRed(),L=new F$(C.toArray()),R=this.getPrime();if(L.length0?_:N},U.min=function(_,N){return _.cmp(N)<0?_:N},U.prototype._init=function(_,N,x){if(typeof _=="number")return this._initNumber(_,N,x);if(typeof _=="object")return this._initArray(_,N,x);N==="hex"&&(N=16),G(N===(N|0)&&N>=2&&N<=36),_=_.toString().replace(/\s+/g,"");var B=0;_[0]==="-"&&(B++,this.negative=1),B<_.length&&(N===16?this._parseHex(_,B,x):(this._parseBase(_,N,B),x==="le"&&this._initArray(this.toArray(),N,x)))},U.prototype._initNumber=function(_,N,x){_<0&&(this.negative=1,_=-_),_<67108864?(this.words=[_&67108863],this.length=1):_<4503599627370496?(this.words=[_&67108863,_/67108864&67108863],this.length=2):(G(_<9007199254740992),this.words=[_&67108863,_/67108864&67108863,1],this.length=3),x==="le"&&this._initArray(this.toArray(),N,x)},U.prototype._initArray=function(_,N,x){if(G(typeof _.length=="number"),_.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(_.length/3),this.words=new Array(this.length);for(var B=0;B=0;B-=3)w=_[B]|_[B-1]<<8|_[B-2]<<16,this.words[y]|=w<>>26-p&67108863,p+=24,p>=26&&(p-=26,y++);else if(x==="le")for(B=0,y=0;B<_.length;B+=3)w=_[B]|_[B+1]<<8|_[B+2]<<16,this.words[y]|=w<>>26-p&67108863,p+=24,p>=26&&(p-=26,y++);return this._strip()};function K(_,N){var x=_.charCodeAt(N);if(x>=48&&x<=57)return x-48;if(x>=65&&x<=70)return x-55;if(x>=97&&x<=102)return x-87;G(!1,"Invalid character in "+_)}function I(_,N,x){var B=K(_,x);return x-1>=N&&(B|=K(_,x-1)<<4),B}U.prototype._parseHex=function(_,N,x){this.length=Math.ceil((_.length-N)/6),this.words=new Array(this.length);for(var B=0;B=N;B-=2)p=I(_,N,B)<=18?(y-=18,w+=1,this.words[w]|=p>>>26):y+=8;else{var f=_.length-N;for(B=f%2===0?N+1:N;B<_.length;B+=2)p=I(_,N,B)<=18?(y-=18,w+=1,this.words[w]|=p>>>26):y+=8}this._strip()};function O(_,N,x,B){for(var y=0,w=0,p=Math.min(_.length,x),f=N;f=49?w=c-49+10:c>=17?w=c-17+10:w=c,G(c>=0&&w1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{U.prototype[Symbol.for("nodejs.util.inspect.custom")]=F}catch{U.prototype.inspect=F}else U.prototype.inspect=F;function F(){return(this.red?""}var A=["","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"],H=[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],W=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(_,N){_=_||10,N=N|0||1;var x;if(_===16||_==="hex"){x="";for(var B=0,y=0,w=0;w>>24-B&16777215,B+=2,B>=26&&(B-=26,w--),y!==0||w!==this.length-1?x=A[6-f.length]+f+x:x=f+x}for(y!==0&&(x=y.toString(16)+x);x.length%N!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}if(_===(_|0)&&_>=2&&_<=36){var c=H[_],h=W[_];x="";var d=this.clone();for(d.negative=0;!d.isZero();){var b=d.modrn(h).toString(_);d=d.idivn(h),d.isZero()?x=b+x:x=A[c-b.length]+b+x}for(this.isZero()&&(x="0"+x);x.length%N!==0;)x="0"+x;return this.negative!==0&&(x="-"+x),x}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var _=this.words[0];return this.length===2?_+=this.words[1]*67108864:this.length===3&&this.words[2]===1?_+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-_:_},U.prototype.toJSON=function(){return this.toString(16,2)},X&&(U.prototype.toBuffer=function(_,N){return this.toArrayLike(X,_,N)}),U.prototype.toArray=function(_,N){return this.toArrayLike(Array,_,N)};var E=function(_,N){return _.allocUnsafe?_.allocUnsafe(N):new _(N)};U.prototype.toArrayLike=function(_,N,x){this._strip();var B=this.byteLength(),y=x||Math.max(1,B);G(B<=y,"byte array longer than desired length"),G(y>0,"Requested array length <= 0");var w=E(_,y),p=N==="le"?"LE":"BE";return this["_toArrayLike"+p](w,B),w},U.prototype._toArrayLikeLE=function(_,N){for(var x=0,B=0,y=0,w=0;y>8&255),x<_.length&&(_[x++]=p>>16&255),w===6?(x<_.length&&(_[x++]=p>>24&255),B=0,w=0):(B=p>>>24,w+=2)}if(x<_.length)for(_[x++]=B;x<_.length;)_[x++]=0},U.prototype._toArrayLikeBE=function(_,N){for(var x=_.length-1,B=0,y=0,w=0;y=0&&(_[x--]=p>>8&255),x>=0&&(_[x--]=p>>16&255),w===6?(x>=0&&(_[x--]=p>>24&255),B=0,w=0):(B=p>>>24,w+=2)}if(x>=0)for(_[x--]=B;x>=0;)_[x--]=0},Math.clz32?U.prototype._countBits=function(_){return 32-Math.clz32(_)}:U.prototype._countBits=function(_){var N=_,x=0;return N>=4096&&(x+=13,N>>>=13),N>=64&&(x+=7,N>>>=7),N>=8&&(x+=4,N>>>=4),N>=2&&(x+=2,N>>>=2),x+N},U.prototype._zeroBits=function(_){if(_===0)return 26;var N=_,x=0;return(N&8191)===0&&(x+=13,N>>>=13),(N&127)===0&&(x+=7,N>>>=7),(N&15)===0&&(x+=4,N>>>=4),(N&3)===0&&(x+=2,N>>>=2),(N&1)===0&&x++,x},U.prototype.bitLength=function(){var _=this.words[this.length-1],N=this._countBits(_);return(this.length-1)*26+N};function T(_){for(var N=new Array(_.bitLength()),x=0;x>>y&1}return N}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var _=0,N=0;N_.length?this.clone().ior(_):_.clone().ior(this)},U.prototype.uor=function(_){return this.length>_.length?this.clone().iuor(_):_.clone().iuor(this)},U.prototype.iuand=function(_){var N;this.length>_.length?N=_:N=this;for(var x=0;x_.length?this.clone().iand(_):_.clone().iand(this)},U.prototype.uand=function(_){return this.length>_.length?this.clone().iuand(_):_.clone().iuand(this)},U.prototype.iuxor=function(_){var N,x;this.length>_.length?(N=this,x=_):(N=_,x=this);for(var B=0;B_.length?this.clone().ixor(_):_.clone().ixor(this)},U.prototype.uxor=function(_){return this.length>_.length?this.clone().iuxor(_):_.clone().iuxor(this)},U.prototype.inotn=function(_){G(typeof _=="number"&&_>=0);var N=Math.ceil(_/26)|0,x=_%26;this._expand(N),x>0&&N--;for(var B=0;B0&&(this.words[B]=~this.words[B]&67108863>>26-x),this._strip()},U.prototype.notn=function(_){return this.clone().inotn(_)},U.prototype.setn=function(_,N){G(typeof _=="number"&&_>=0);var x=_/26|0,B=_%26;return this._expand(x+1),N?this.words[x]=this.words[x]|1<_.length?(x=this,B=_):(x=_,B=this);for(var y=0,w=0;w>>26;for(;y!==0&&w>>26;if(this.length=x.length,y!==0)this.words[this.length]=y,this.length++;else if(x!==this)for(;w_.length?this.clone().iadd(_):_.clone().iadd(this)},U.prototype.isub=function(_){if(_.negative!==0){_.negative=0;var N=this.iadd(_);return _.negative=1,N._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(_),this.negative=1,this._normSign();var x=this.cmp(_);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var B,y;x>0?(B=this,y=_):(B=_,y=this);for(var w=0,p=0;p>26,this.words[p]=N&67108863;for(;w!==0&&p>26,this.words[p]=N&67108863;if(w===0&&p>>26,b=c&67108863,l=Math.min(h,N.length-1),o=Math.max(0,h-_.length+1);o<=l;o++){var u=h-o|0;y=_.words[u]|0,w=N.words[o]|0,p=y*w+b,d+=p/67108864|0,b=p&67108863}x.words[h]=b|0,c=d|0}return c!==0?x.words[h]=c|0:x.length--,x._strip()}var C=function(_,N,x){var B=_.words,y=N.words,w=x.words,p=0,f,c,h,d=B[0]|0,b=d&8191,l=d>>>13,o=B[1]|0,u=o&8191,n=o>>>13,s=B[2]|0,t=s&8191,m=s>>>13,a=B[3]|0,e=a&8191,r=a>>>13,i=B[4]|0,$0=i&8191,Q0=i>>>13,Y0=B[5]|0,Z0=Y0&8191,G0=Y0>>>13,V0=B[6]|0,U0=V0&8191,X0=V0>>>13,K0=B[7]|0,I0=K0&8191,O0=K0>>>13,J0=B[8]|0,F0=J0&8191,A0=J0>>>13,H0=B[9]|0,W0=H0&8191,E0=H0>>>13,T0=y[0]|0,D0=T0&8191,C0=T0>>>13,L0=y[1]|0,R0=L0&8191,P0=L0>>>13,z0=y[2]|0,M0=z0&8191,S0=z0>>>13,v0=y[3]|0,q0=v0&8191,j0=v0>>>13,k0=y[4]|0,g0=k0&8191,_0=k0>>>13,N0=y[5]|0,x0=N0&8191,B0=N0>>>13,y0=y[6]|0,w0=y0&8191,p0=y0>>>13,f0=y[7]|0,c0=f0&8191,h0=f0>>>13,d0=y[8]|0,b0=d0&8191,l0=d0>>>13,o0=y[9]|0,u0=o0&8191,n0=o0>>>13;x.negative=_.negative^N.negative,x.length=19,f=Math.imul(b,D0),c=Math.imul(b,C0),c=c+Math.imul(l,D0)|0,h=Math.imul(l,C0);var s0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(s0>>>26)|0,s0&=67108863,f=Math.imul(u,D0),c=Math.imul(u,C0),c=c+Math.imul(n,D0)|0,h=Math.imul(n,C0),f=f+Math.imul(b,R0)|0,c=c+Math.imul(b,P0)|0,c=c+Math.imul(l,R0)|0,h=h+Math.imul(l,P0)|0;var t0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(t0>>>26)|0,t0&=67108863,f=Math.imul(t,D0),c=Math.imul(t,C0),c=c+Math.imul(m,D0)|0,h=Math.imul(m,C0),f=f+Math.imul(u,R0)|0,c=c+Math.imul(u,P0)|0,c=c+Math.imul(n,R0)|0,h=h+Math.imul(n,P0)|0,f=f+Math.imul(b,M0)|0,c=c+Math.imul(b,S0)|0,c=c+Math.imul(l,M0)|0,h=h+Math.imul(l,S0)|0;var m0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(m0>>>26)|0,m0&=67108863,f=Math.imul(e,D0),c=Math.imul(e,C0),c=c+Math.imul(r,D0)|0,h=Math.imul(r,C0),f=f+Math.imul(t,R0)|0,c=c+Math.imul(t,P0)|0,c=c+Math.imul(m,R0)|0,h=h+Math.imul(m,P0)|0,f=f+Math.imul(u,M0)|0,c=c+Math.imul(u,S0)|0,c=c+Math.imul(n,M0)|0,h=h+Math.imul(n,S0)|0,f=f+Math.imul(b,q0)|0,c=c+Math.imul(b,j0)|0,c=c+Math.imul(l,q0)|0,h=h+Math.imul(l,j0)|0;var a0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(a0>>>26)|0,a0&=67108863,f=Math.imul($0,D0),c=Math.imul($0,C0),c=c+Math.imul(Q0,D0)|0,h=Math.imul(Q0,C0),f=f+Math.imul(e,R0)|0,c=c+Math.imul(e,P0)|0,c=c+Math.imul(r,R0)|0,h=h+Math.imul(r,P0)|0,f=f+Math.imul(t,M0)|0,c=c+Math.imul(t,S0)|0,c=c+Math.imul(m,M0)|0,h=h+Math.imul(m,S0)|0,f=f+Math.imul(u,q0)|0,c=c+Math.imul(u,j0)|0,c=c+Math.imul(n,q0)|0,h=h+Math.imul(n,j0)|0,f=f+Math.imul(b,g0)|0,c=c+Math.imul(b,_0)|0,c=c+Math.imul(l,g0)|0,h=h+Math.imul(l,_0)|0;var e0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(e0>>>26)|0,e0&=67108863,f=Math.imul(Z0,D0),c=Math.imul(Z0,C0),c=c+Math.imul(G0,D0)|0,h=Math.imul(G0,C0),f=f+Math.imul($0,R0)|0,c=c+Math.imul($0,P0)|0,c=c+Math.imul(Q0,R0)|0,h=h+Math.imul(Q0,P0)|0,f=f+Math.imul(e,M0)|0,c=c+Math.imul(e,S0)|0,c=c+Math.imul(r,M0)|0,h=h+Math.imul(r,S0)|0,f=f+Math.imul(t,q0)|0,c=c+Math.imul(t,j0)|0,c=c+Math.imul(m,q0)|0,h=h+Math.imul(m,j0)|0,f=f+Math.imul(u,g0)|0,c=c+Math.imul(u,_0)|0,c=c+Math.imul(n,g0)|0,h=h+Math.imul(n,_0)|0,f=f+Math.imul(b,x0)|0,c=c+Math.imul(b,B0)|0,c=c+Math.imul(l,x0)|0,h=h+Math.imul(l,B0)|0;var r0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(r0>>>26)|0,r0&=67108863,f=Math.imul(U0,D0),c=Math.imul(U0,C0),c=c+Math.imul(X0,D0)|0,h=Math.imul(X0,C0),f=f+Math.imul(Z0,R0)|0,c=c+Math.imul(Z0,P0)|0,c=c+Math.imul(G0,R0)|0,h=h+Math.imul(G0,P0)|0,f=f+Math.imul($0,M0)|0,c=c+Math.imul($0,S0)|0,c=c+Math.imul(Q0,M0)|0,h=h+Math.imul(Q0,S0)|0,f=f+Math.imul(e,q0)|0,c=c+Math.imul(e,j0)|0,c=c+Math.imul(r,q0)|0,h=h+Math.imul(r,j0)|0,f=f+Math.imul(t,g0)|0,c=c+Math.imul(t,_0)|0,c=c+Math.imul(m,g0)|0,h=h+Math.imul(m,_0)|0,f=f+Math.imul(u,x0)|0,c=c+Math.imul(u,B0)|0,c=c+Math.imul(n,x0)|0,h=h+Math.imul(n,B0)|0,f=f+Math.imul(b,w0)|0,c=c+Math.imul(b,p0)|0,c=c+Math.imul(l,w0)|0,h=h+Math.imul(l,p0)|0;var i0=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(i0>>>26)|0,i0&=67108863,f=Math.imul(I0,D0),c=Math.imul(I0,C0),c=c+Math.imul(O0,D0)|0,h=Math.imul(O0,C0),f=f+Math.imul(U0,R0)|0,c=c+Math.imul(U0,P0)|0,c=c+Math.imul(X0,R0)|0,h=h+Math.imul(X0,P0)|0,f=f+Math.imul(Z0,M0)|0,c=c+Math.imul(Z0,S0)|0,c=c+Math.imul(G0,M0)|0,h=h+Math.imul(G0,S0)|0,f=f+Math.imul($0,q0)|0,c=c+Math.imul($0,j0)|0,c=c+Math.imul(Q0,q0)|0,h=h+Math.imul(Q0,j0)|0,f=f+Math.imul(e,g0)|0,c=c+Math.imul(e,_0)|0,c=c+Math.imul(r,g0)|0,h=h+Math.imul(r,_0)|0,f=f+Math.imul(t,x0)|0,c=c+Math.imul(t,B0)|0,c=c+Math.imul(m,x0)|0,h=h+Math.imul(m,B0)|0,f=f+Math.imul(u,w0)|0,c=c+Math.imul(u,p0)|0,c=c+Math.imul(n,w0)|0,h=h+Math.imul(n,p0)|0,f=f+Math.imul(b,c0)|0,c=c+Math.imul(b,h0)|0,c=c+Math.imul(l,c0)|0,h=h+Math.imul(l,h0)|0;var $$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+($$>>>26)|0,$$&=67108863,f=Math.imul(F0,D0),c=Math.imul(F0,C0),c=c+Math.imul(A0,D0)|0,h=Math.imul(A0,C0),f=f+Math.imul(I0,R0)|0,c=c+Math.imul(I0,P0)|0,c=c+Math.imul(O0,R0)|0,h=h+Math.imul(O0,P0)|0,f=f+Math.imul(U0,M0)|0,c=c+Math.imul(U0,S0)|0,c=c+Math.imul(X0,M0)|0,h=h+Math.imul(X0,S0)|0,f=f+Math.imul(Z0,q0)|0,c=c+Math.imul(Z0,j0)|0,c=c+Math.imul(G0,q0)|0,h=h+Math.imul(G0,j0)|0,f=f+Math.imul($0,g0)|0,c=c+Math.imul($0,_0)|0,c=c+Math.imul(Q0,g0)|0,h=h+Math.imul(Q0,_0)|0,f=f+Math.imul(e,x0)|0,c=c+Math.imul(e,B0)|0,c=c+Math.imul(r,x0)|0,h=h+Math.imul(r,B0)|0,f=f+Math.imul(t,w0)|0,c=c+Math.imul(t,p0)|0,c=c+Math.imul(m,w0)|0,h=h+Math.imul(m,p0)|0,f=f+Math.imul(u,c0)|0,c=c+Math.imul(u,h0)|0,c=c+Math.imul(n,c0)|0,h=h+Math.imul(n,h0)|0,f=f+Math.imul(b,b0)|0,c=c+Math.imul(b,l0)|0,c=c+Math.imul(l,b0)|0,h=h+Math.imul(l,l0)|0;var Q$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,f=Math.imul(W0,D0),c=Math.imul(W0,C0),c=c+Math.imul(E0,D0)|0,h=Math.imul(E0,C0),f=f+Math.imul(F0,R0)|0,c=c+Math.imul(F0,P0)|0,c=c+Math.imul(A0,R0)|0,h=h+Math.imul(A0,P0)|0,f=f+Math.imul(I0,M0)|0,c=c+Math.imul(I0,S0)|0,c=c+Math.imul(O0,M0)|0,h=h+Math.imul(O0,S0)|0,f=f+Math.imul(U0,q0)|0,c=c+Math.imul(U0,j0)|0,c=c+Math.imul(X0,q0)|0,h=h+Math.imul(X0,j0)|0,f=f+Math.imul(Z0,g0)|0,c=c+Math.imul(Z0,_0)|0,c=c+Math.imul(G0,g0)|0,h=h+Math.imul(G0,_0)|0,f=f+Math.imul($0,x0)|0,c=c+Math.imul($0,B0)|0,c=c+Math.imul(Q0,x0)|0,h=h+Math.imul(Q0,B0)|0,f=f+Math.imul(e,w0)|0,c=c+Math.imul(e,p0)|0,c=c+Math.imul(r,w0)|0,h=h+Math.imul(r,p0)|0,f=f+Math.imul(t,c0)|0,c=c+Math.imul(t,h0)|0,c=c+Math.imul(m,c0)|0,h=h+Math.imul(m,h0)|0,f=f+Math.imul(u,b0)|0,c=c+Math.imul(u,l0)|0,c=c+Math.imul(n,b0)|0,h=h+Math.imul(n,l0)|0,f=f+Math.imul(b,u0)|0,c=c+Math.imul(b,n0)|0,c=c+Math.imul(l,u0)|0,h=h+Math.imul(l,n0)|0;var Y$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,f=Math.imul(W0,R0),c=Math.imul(W0,P0),c=c+Math.imul(E0,R0)|0,h=Math.imul(E0,P0),f=f+Math.imul(F0,M0)|0,c=c+Math.imul(F0,S0)|0,c=c+Math.imul(A0,M0)|0,h=h+Math.imul(A0,S0)|0,f=f+Math.imul(I0,q0)|0,c=c+Math.imul(I0,j0)|0,c=c+Math.imul(O0,q0)|0,h=h+Math.imul(O0,j0)|0,f=f+Math.imul(U0,g0)|0,c=c+Math.imul(U0,_0)|0,c=c+Math.imul(X0,g0)|0,h=h+Math.imul(X0,_0)|0,f=f+Math.imul(Z0,x0)|0,c=c+Math.imul(Z0,B0)|0,c=c+Math.imul(G0,x0)|0,h=h+Math.imul(G0,B0)|0,f=f+Math.imul($0,w0)|0,c=c+Math.imul($0,p0)|0,c=c+Math.imul(Q0,w0)|0,h=h+Math.imul(Q0,p0)|0,f=f+Math.imul(e,c0)|0,c=c+Math.imul(e,h0)|0,c=c+Math.imul(r,c0)|0,h=h+Math.imul(r,h0)|0,f=f+Math.imul(t,b0)|0,c=c+Math.imul(t,l0)|0,c=c+Math.imul(m,b0)|0,h=h+Math.imul(m,l0)|0,f=f+Math.imul(u,u0)|0,c=c+Math.imul(u,n0)|0,c=c+Math.imul(n,u0)|0,h=h+Math.imul(n,n0)|0;var Z$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,f=Math.imul(W0,M0),c=Math.imul(W0,S0),c=c+Math.imul(E0,M0)|0,h=Math.imul(E0,S0),f=f+Math.imul(F0,q0)|0,c=c+Math.imul(F0,j0)|0,c=c+Math.imul(A0,q0)|0,h=h+Math.imul(A0,j0)|0,f=f+Math.imul(I0,g0)|0,c=c+Math.imul(I0,_0)|0,c=c+Math.imul(O0,g0)|0,h=h+Math.imul(O0,_0)|0,f=f+Math.imul(U0,x0)|0,c=c+Math.imul(U0,B0)|0,c=c+Math.imul(X0,x0)|0,h=h+Math.imul(X0,B0)|0,f=f+Math.imul(Z0,w0)|0,c=c+Math.imul(Z0,p0)|0,c=c+Math.imul(G0,w0)|0,h=h+Math.imul(G0,p0)|0,f=f+Math.imul($0,c0)|0,c=c+Math.imul($0,h0)|0,c=c+Math.imul(Q0,c0)|0,h=h+Math.imul(Q0,h0)|0,f=f+Math.imul(e,b0)|0,c=c+Math.imul(e,l0)|0,c=c+Math.imul(r,b0)|0,h=h+Math.imul(r,l0)|0,f=f+Math.imul(t,u0)|0,c=c+Math.imul(t,n0)|0,c=c+Math.imul(m,u0)|0,h=h+Math.imul(m,n0)|0;var G$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(G$>>>26)|0,G$&=67108863,f=Math.imul(W0,q0),c=Math.imul(W0,j0),c=c+Math.imul(E0,q0)|0,h=Math.imul(E0,j0),f=f+Math.imul(F0,g0)|0,c=c+Math.imul(F0,_0)|0,c=c+Math.imul(A0,g0)|0,h=h+Math.imul(A0,_0)|0,f=f+Math.imul(I0,x0)|0,c=c+Math.imul(I0,B0)|0,c=c+Math.imul(O0,x0)|0,h=h+Math.imul(O0,B0)|0,f=f+Math.imul(U0,w0)|0,c=c+Math.imul(U0,p0)|0,c=c+Math.imul(X0,w0)|0,h=h+Math.imul(X0,p0)|0,f=f+Math.imul(Z0,c0)|0,c=c+Math.imul(Z0,h0)|0,c=c+Math.imul(G0,c0)|0,h=h+Math.imul(G0,h0)|0,f=f+Math.imul($0,b0)|0,c=c+Math.imul($0,l0)|0,c=c+Math.imul(Q0,b0)|0,h=h+Math.imul(Q0,l0)|0,f=f+Math.imul(e,u0)|0,c=c+Math.imul(e,n0)|0,c=c+Math.imul(r,u0)|0,h=h+Math.imul(r,n0)|0;var V$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(V$>>>26)|0,V$&=67108863,f=Math.imul(W0,g0),c=Math.imul(W0,_0),c=c+Math.imul(E0,g0)|0,h=Math.imul(E0,_0),f=f+Math.imul(F0,x0)|0,c=c+Math.imul(F0,B0)|0,c=c+Math.imul(A0,x0)|0,h=h+Math.imul(A0,B0)|0,f=f+Math.imul(I0,w0)|0,c=c+Math.imul(I0,p0)|0,c=c+Math.imul(O0,w0)|0,h=h+Math.imul(O0,p0)|0,f=f+Math.imul(U0,c0)|0,c=c+Math.imul(U0,h0)|0,c=c+Math.imul(X0,c0)|0,h=h+Math.imul(X0,h0)|0,f=f+Math.imul(Z0,b0)|0,c=c+Math.imul(Z0,l0)|0,c=c+Math.imul(G0,b0)|0,h=h+Math.imul(G0,l0)|0,f=f+Math.imul($0,u0)|0,c=c+Math.imul($0,n0)|0,c=c+Math.imul(Q0,u0)|0,h=h+Math.imul(Q0,n0)|0;var U$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(U$>>>26)|0,U$&=67108863,f=Math.imul(W0,x0),c=Math.imul(W0,B0),c=c+Math.imul(E0,x0)|0,h=Math.imul(E0,B0),f=f+Math.imul(F0,w0)|0,c=c+Math.imul(F0,p0)|0,c=c+Math.imul(A0,w0)|0,h=h+Math.imul(A0,p0)|0,f=f+Math.imul(I0,c0)|0,c=c+Math.imul(I0,h0)|0,c=c+Math.imul(O0,c0)|0,h=h+Math.imul(O0,h0)|0,f=f+Math.imul(U0,b0)|0,c=c+Math.imul(U0,l0)|0,c=c+Math.imul(X0,b0)|0,h=h+Math.imul(X0,l0)|0,f=f+Math.imul(Z0,u0)|0,c=c+Math.imul(Z0,n0)|0,c=c+Math.imul(G0,u0)|0,h=h+Math.imul(G0,n0)|0;var X$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(X$>>>26)|0,X$&=67108863,f=Math.imul(W0,w0),c=Math.imul(W0,p0),c=c+Math.imul(E0,w0)|0,h=Math.imul(E0,p0),f=f+Math.imul(F0,c0)|0,c=c+Math.imul(F0,h0)|0,c=c+Math.imul(A0,c0)|0,h=h+Math.imul(A0,h0)|0,f=f+Math.imul(I0,b0)|0,c=c+Math.imul(I0,l0)|0,c=c+Math.imul(O0,b0)|0,h=h+Math.imul(O0,l0)|0,f=f+Math.imul(U0,u0)|0,c=c+Math.imul(U0,n0)|0,c=c+Math.imul(X0,u0)|0,h=h+Math.imul(X0,n0)|0;var K$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(K$>>>26)|0,K$&=67108863,f=Math.imul(W0,c0),c=Math.imul(W0,h0),c=c+Math.imul(E0,c0)|0,h=Math.imul(E0,h0),f=f+Math.imul(F0,b0)|0,c=c+Math.imul(F0,l0)|0,c=c+Math.imul(A0,b0)|0,h=h+Math.imul(A0,l0)|0,f=f+Math.imul(I0,u0)|0,c=c+Math.imul(I0,n0)|0,c=c+Math.imul(O0,u0)|0,h=h+Math.imul(O0,n0)|0;var I$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(I$>>>26)|0,I$&=67108863,f=Math.imul(W0,b0),c=Math.imul(W0,l0),c=c+Math.imul(E0,b0)|0,h=Math.imul(E0,l0),f=f+Math.imul(F0,u0)|0,c=c+Math.imul(F0,n0)|0,c=c+Math.imul(A0,u0)|0,h=h+Math.imul(A0,n0)|0;var O$=(p+f|0)+((c&8191)<<13)|0;p=(h+(c>>>13)|0)+(O$>>>26)|0,O$&=67108863,f=Math.imul(W0,u0),c=Math.imul(W0,n0),c=c+Math.imul(E0,u0)|0,h=Math.imul(E0,n0);var J$=(p+f|0)+((c&8191)<<13)|0;return p=(h+(c>>>13)|0)+(J$>>>26)|0,J$&=67108863,w[0]=s0,w[1]=t0,w[2]=m0,w[3]=a0,w[4]=e0,w[5]=r0,w[6]=i0,w[7]=$$,w[8]=Q$,w[9]=Y$,w[10]=Z$,w[11]=G$,w[12]=V$,w[13]=U$,w[14]=X$,w[15]=K$,w[16]=I$,w[17]=O$,w[18]=J$,p!==0&&(w[19]=p,x.length++),x};Math.imul||(C=D);function L(_,N,x){x.negative=N.negative^_.negative,x.length=_.length+N.length;for(var B=0,y=0,w=0;w>>26)|0,y+=p>>>26,p&=67108863}x.words[w]=f,B=p,p=y}return B!==0?x.words[w]=B:x.length--,x._strip()}function R(_,N,x){return L(_,N,x)}U.prototype.mulTo=function(_,N){var x,B=this.length+_.length;return this.length===10&&_.length===10?x=C(this,_,N):B<63?x=D(this,_,N):B<1024?x=L(this,_,N):x=R(this,_,N),x};function P(_,N){this.x=_,this.y=N}P.prototype.makeRBT=function(_){for(var N=new Array(_),x=U.prototype._countBits(_)-1,B=0;B<_;B++)N[B]=this.revBin(B,x,_);return N},P.prototype.revBin=function(_,N,x){if(_===0||_===x-1)return _;for(var B=0,y=0;y>=1;return B},P.prototype.permute=function(_,N,x,B,y,w){for(var p=0;p>>1)y++;return 1<>>13,x[2*w+1]=y&8191,y=y>>>13;for(w=2*N;w>=26,x+=y/67108864|0,x+=w>>>26,this.words[B]=w&67108863}return x!==0&&(this.words[B]=x,this.length++),N?this.ineg():this},U.prototype.muln=function(_){return this.clone().imuln(_)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(_){var N=T(_);if(N.length===0)return new U(1);for(var x=this,B=0;B=0);var N=_%26,x=(_-N)/26,B=67108863>>>26-N<<26-N,y;if(N!==0){var w=0;for(y=0;y>>26-N}w&&(this.words[y]=w,this.length++)}if(x!==0){for(y=this.length-1;y>=0;y--)this.words[y+x]=this.words[y];for(y=0;y=0);var B;N?B=(N-N%26)/26:B=0;var y=_%26,w=Math.min((_-y)/26,this.length),p=67108863^67108863>>>y<w)for(this.length-=w,c=0;c=0&&(h!==0||c>=B);c--){var d=this.words[c]|0;this.words[c]=h<<26-y|d>>>y,h=d&p}return f&&h!==0&&(f.words[f.length++]=h),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},U.prototype.ishrn=function(_,N,x){return G(this.negative===0),this.iushrn(_,N,x)},U.prototype.shln=function(_){return this.clone().ishln(_)},U.prototype.ushln=function(_){return this.clone().iushln(_)},U.prototype.shrn=function(_){return this.clone().ishrn(_)},U.prototype.ushrn=function(_){return this.clone().iushrn(_)},U.prototype.testn=function(_){G(typeof _=="number"&&_>=0);var N=_%26,x=(_-N)/26,B=1<=0);var N=_%26,x=(_-N)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(N!==0&&x++,this.length=Math.min(x,this.length),N!==0){var B=67108863^67108863>>>N<=67108864;N++)this.words[N]-=67108864,N===this.length-1?this.words[N+1]=1:this.words[N+1]++;return this.length=Math.max(this.length,N+1),this},U.prototype.isubn=function(_){if(G(typeof _=="number"),G(_<67108864),_<0)return this.iaddn(-_);if(this.negative!==0)return this.negative=0,this.iaddn(_),this.negative=1,this;if(this.words[0]-=_,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var N=0;N>26)-(f/67108864|0),this.words[y+x]=w&67108863}for(;y>26,this.words[y+x]=w&67108863;if(p===0)return this._strip();for(G(p===-1),p=0,y=0;y>26,this.words[y]=w&67108863;return this.negative=1,this._strip()},U.prototype._wordDiv=function(_,N){var x=this.length-_.length,B=this.clone(),y=_,w=y.words[y.length-1]|0,p=this._countBits(w);x=26-p,x!==0&&(y=y.ushln(x),B.iushln(x),w=y.words[y.length-1]|0);var f=B.length-y.length,c;if(N!=="mod"){c=new U(null),c.length=f+1,c.words=new Array(c.length);for(var h=0;h=0;b--){var l=(B.words[y.length+b]|0)*67108864+(B.words[y.length+b-1]|0);for(l=Math.min(l/w|0,67108863),B._ishlnsubmul(y,l,b);B.negative!==0;)l--,B.negative=0,B._ishlnsubmul(y,1,b),B.isZero()||(B.negative^=1);c&&(c.words[b]=l)}return c&&c._strip(),B._strip(),N!=="div"&&x!==0&&B.iushrn(x),{div:c||null,mod:B}},U.prototype.divmod=function(_,N,x){if(G(!_.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var B,y,w;return this.negative!==0&&_.negative===0?(w=this.neg().divmod(_,N),N!=="mod"&&(B=w.div.neg()),N!=="div"&&(y=w.mod.neg(),x&&y.negative!==0&&y.iadd(_)),{div:B,mod:y}):this.negative===0&&_.negative!==0?(w=this.divmod(_.neg(),N),N!=="mod"&&(B=w.div.neg()),{div:B,mod:w.mod}):(this.negative&_.negative)!==0?(w=this.neg().divmod(_.neg(),N),N!=="div"&&(y=w.mod.neg(),x&&y.negative!==0&&y.isub(_)),{div:w.div,mod:y}):_.length>this.length||this.cmp(_)<0?{div:new U(0),mod:this}:_.length===1?N==="div"?{div:this.divn(_.words[0]),mod:null}:N==="mod"?{div:null,mod:new U(this.modrn(_.words[0]))}:{div:this.divn(_.words[0]),mod:new U(this.modrn(_.words[0]))}:this._wordDiv(_,N)},U.prototype.div=function(_){return this.divmod(_,"div",!1).div},U.prototype.mod=function(_){return this.divmod(_,"mod",!1).mod},U.prototype.umod=function(_){return this.divmod(_,"mod",!0).mod},U.prototype.divRound=function(_){var N=this.divmod(_);if(N.mod.isZero())return N.div;var x=N.div.negative!==0?N.mod.isub(_):N.mod,B=_.ushrn(1),y=_.andln(1),w=x.cmp(B);return w<0||y===1&&w===0?N.div:N.div.negative!==0?N.div.isubn(1):N.div.iaddn(1)},U.prototype.modrn=function(_){var N=_<0;N&&(_=-_),G(_<=67108863);for(var x=(1<<26)%_,B=0,y=this.length-1;y>=0;y--)B=(x*B+(this.words[y]|0))%_;return N?-B:B},U.prototype.modn=function(_){return this.modrn(_)},U.prototype.idivn=function(_){var N=_<0;N&&(_=-_),G(_<=67108863);for(var x=0,B=this.length-1;B>=0;B--){var y=(this.words[B]|0)+x*67108864;this.words[B]=y/_|0,x=y%_}return this._strip(),N?this.ineg():this},U.prototype.divn=function(_){return this.clone().idivn(_)},U.prototype.egcd=function(_){G(_.negative===0),G(!_.isZero());var N=this,x=_.clone();N.negative!==0?N=N.umod(_):N=N.clone();for(var B=new U(1),y=new U(0),w=new U(0),p=new U(1),f=0;N.isEven()&&x.isEven();)N.iushrn(1),x.iushrn(1),++f;for(var c=x.clone(),h=N.clone();!N.isZero();){for(var d=0,b=1;(N.words[0]&b)===0&&d<26;++d,b<<=1);if(d>0)for(N.iushrn(d);d-- >0;)(B.isOdd()||y.isOdd())&&(B.iadd(c),y.isub(h)),B.iushrn(1),y.iushrn(1);for(var l=0,o=1;(x.words[0]&o)===0&&l<26;++l,o<<=1);if(l>0)for(x.iushrn(l);l-- >0;)(w.isOdd()||p.isOdd())&&(w.iadd(c),p.isub(h)),w.iushrn(1),p.iushrn(1);N.cmp(x)>=0?(N.isub(x),B.isub(w),y.isub(p)):(x.isub(N),w.isub(B),p.isub(y))}return{a:w,b:p,gcd:x.iushln(f)}},U.prototype._invmp=function(_){G(_.negative===0),G(!_.isZero());var N=this,x=_.clone();N.negative!==0?N=N.umod(_):N=N.clone();for(var B=new U(1),y=new U(0),w=x.clone();N.cmpn(1)>0&&x.cmpn(1)>0;){for(var p=0,f=1;(N.words[0]&f)===0&&p<26;++p,f<<=1);if(p>0)for(N.iushrn(p);p-- >0;)B.isOdd()&&B.iadd(w),B.iushrn(1);for(var c=0,h=1;(x.words[0]&h)===0&&c<26;++c,h<<=1);if(c>0)for(x.iushrn(c);c-- >0;)y.isOdd()&&y.iadd(w),y.iushrn(1);N.cmp(x)>=0?(N.isub(x),B.isub(y)):(x.isub(N),y.isub(B))}var d;return N.cmpn(1)===0?d=B:d=y,d.cmpn(0)<0&&d.iadd(_),d},U.prototype.gcd=function(_){if(this.isZero())return _.abs();if(_.isZero())return this.abs();var N=this.clone(),x=_.clone();N.negative=0,x.negative=0;for(var B=0;N.isEven()&&x.isEven();B++)N.iushrn(1),x.iushrn(1);do{for(;N.isEven();)N.iushrn(1);for(;x.isEven();)x.iushrn(1);var y=N.cmp(x);if(y<0){var w=N;N=x,x=w}else if(y===0||x.cmpn(1)===0)break;N.isub(x)}while(!0);return x.iushln(B)},U.prototype.invm=function(_){return this.egcd(_).a.umod(_)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(_){return this.words[0]&_},U.prototype.bincn=function(_){G(typeof _=="number");var N=_%26,x=(_-N)/26,B=1<>>26,p&=67108863,this.words[w]=p}return y!==0&&(this.words[w]=y,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(_){var N=_<0;if(this.negative!==0&&!N)return-1;if(this.negative===0&&N)return 1;this._strip();var x;if(this.length>1)x=1;else{N&&(_=-_),G(_<=67108863,"Number is too big");var B=this.words[0]|0;x=B===_?0:B<_?-1:1}return this.negative!==0?-x|0:x},U.prototype.cmp=function(_){if(this.negative!==0&&_.negative===0)return-1;if(this.negative===0&&_.negative!==0)return 1;var N=this.ucmp(_);return this.negative!==0?-N|0:N},U.prototype.ucmp=function(_){if(this.length>_.length)return 1;if(this.length<_.length)return-1;for(var N=0,x=this.length-1;x>=0;x--){var B=this.words[x]|0,y=_.words[x]|0;if(B!==y){By&&(N=1);break}}return N},U.prototype.gtn=function(_){return this.cmpn(_)===1},U.prototype.gt=function(_){return this.cmp(_)===1},U.prototype.gten=function(_){return this.cmpn(_)>=0},U.prototype.gte=function(_){return this.cmp(_)>=0},U.prototype.ltn=function(_){return this.cmpn(_)===-1},U.prototype.lt=function(_){return this.cmp(_)===-1},U.prototype.lten=function(_){return this.cmpn(_)<=0},U.prototype.lte=function(_){return this.cmp(_)<=0},U.prototype.eqn=function(_){return this.cmpn(_)===0},U.prototype.eq=function(_){return this.cmp(_)===0},U.red=function(_){return new k(_)},U.prototype.toRed=function(_){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),_.convertTo(this)._forceRed(_)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(_){return this.red=_,this},U.prototype.forceRed=function(_){return G(!this.red,"Already a number in reduction context"),this._forceRed(_)},U.prototype.redAdd=function(_){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,_)},U.prototype.redIAdd=function(_){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,_)},U.prototype.redSub=function(_){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,_)},U.prototype.redISub=function(_){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,_)},U.prototype.redShl=function(_){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,_)},U.prototype.redMul=function(_){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,_),this.red.mul(this,_)},U.prototype.redIMul=function(_){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,_),this.red.imul(this,_)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(_){return G(this.red&&!_.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,_)};var z={k256:null,p224:null,p192:null,p25519:null};function M(_,N){this.name=_,this.p=new U(N,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}M.prototype._tmp=function(){var _=new U(null);return _.words=new Array(Math.ceil(this.n/13)),_},M.prototype.ireduce=function(_){var N=_,x;do this.split(N,this.tmp),N=this.imulK(N),N=N.iadd(this.tmp),x=N.bitLength();while(x>this.n);var B=x0?N.isub(this.p):N.strip!==void 0?N.strip():N._strip(),N},M.prototype.split=function(_,N){_.iushrn(this.n,0,N)},M.prototype.imulK=function(_){return _.imul(this.k)};function S(){M.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(S,M),S.prototype.split=function(_,N){for(var x=4194303,B=Math.min(_.length,9),y=0;y>>22,w=p}w>>>=22,_.words[y-10]=w,w===0&&_.length>10?_.length-=10:_.length-=9},S.prototype.imulK=function(_){_.words[_.length]=0,_.words[_.length+1]=0,_.length+=2;for(var N=0,x=0;x<_.length;x++){var B=_.words[x]|0;N+=B*977,_.words[x]=N&67108863,N=B*64+(N/67108864|0)}return _.words[_.length-1]===0&&(_.length--,_.words[_.length-1]===0&&_.length--),_};function v(){M.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}V(v,M);function q(){M.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}V(q,M);function j(){M.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}V(j,M),j.prototype.imulK=function(_){for(var N=0,x=0;x<_.length;x++){var B=(_.words[x]|0)*19+N,y=B&67108863;B>>>=26,_.words[x]=y,N=B}return N!==0&&(_.words[_.length++]=N),_},U._prime=function(_){if(z[_])return z[_];var N;if(_==="k256")N=new S;else if(_==="p224")N=new v;else if(_==="p192")N=new q;else if(_==="p25519")N=new j;else throw new Error("Unknown prime "+_);return z[_]=N,N};function k(_){if(typeof _=="string"){var N=U._prime(_);this.m=N.p,this.prime=N}else G(_.gtn(1),"modulus must be greater than 1"),this.m=_,this.prime=null}k.prototype._verify1=function(_){G(_.negative===0,"red works only with positives"),G(_.red,"red works only with red numbers")},k.prototype._verify2=function(_,N){G((_.negative|N.negative)===0,"red works only with positives"),G(_.red&&_.red===N.red,"red works only with red numbers")},k.prototype.imod=function(_){return this.prime?this.prime.ireduce(_)._forceRed(this):(J(_,_.umod(this.m)._forceRed(this)),_)},k.prototype.neg=function(_){return _.isZero()?_.clone():this.m.sub(_)._forceRed(this)},k.prototype.add=function(_,N){this._verify2(_,N);var x=_.add(N);return x.cmp(this.m)>=0&&x.isub(this.m),x._forceRed(this)},k.prototype.iadd=function(_,N){this._verify2(_,N);var x=_.iadd(N);return x.cmp(this.m)>=0&&x.isub(this.m),x},k.prototype.sub=function(_,N){this._verify2(_,N);var x=_.sub(N);return x.cmpn(0)<0&&x.iadd(this.m),x._forceRed(this)},k.prototype.isub=function(_,N){this._verify2(_,N);var x=_.isub(N);return x.cmpn(0)<0&&x.iadd(this.m),x},k.prototype.shl=function(_,N){return this._verify1(_),this.imod(_.ushln(N))},k.prototype.imul=function(_,N){return this._verify2(_,N),this.imod(_.imul(N))},k.prototype.mul=function(_,N){return this._verify2(_,N),this.imod(_.mul(N))},k.prototype.isqr=function(_){return this.imul(_,_.clone())},k.prototype.sqr=function(_){return this.mul(_,_)},k.prototype.sqrt=function(_){if(_.isZero())return _.clone();var N=this.m.andln(3);if(G(N%2===1),N===3){var x=this.m.add(new U(1)).iushrn(2);return this.pow(_,x)}for(var B=this.m.subn(1),y=0;!B.isZero()&&B.andln(1)===0;)y++,B.iushrn(1);G(!B.isZero());var w=new U(1).toRed(this),p=w.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new U(2*c*c).toRed(this);this.pow(c,f).cmp(p)!==0;)c.redIAdd(p);for(var h=this.pow(c,B),d=this.pow(_,B.addn(1).iushrn(1)),b=this.pow(_,B),l=y;b.cmp(w)!==0;){for(var o=b,u=0;o.cmp(w)!==0;u++)o=o.redSqr();G(u=0;y--){for(var h=N.words[y],d=c-1;d>=0;d--){var b=h>>d&1;if(w!==B[0]&&(w=this.sqr(w)),b===0&&p===0){f=0;continue}p<<=1,p|=b,f++,!(f!==x&&(y!==0||d!==0))&&(w=this.mul(w,B[p]),f=0,p=0)}c=26}return w},k.prototype.convertTo=function(_){var N=_.umod(this.m);return N===_?N.clone():N},k.prototype.convertFrom=function(_){var N=_.clone();return N.red=null,N},U.mont=function(_){return new g(_)};function g(_){k.call(this,_),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(g,k),g.prototype.convertTo=function(_){return this.imod(_.ushln(this.shift))},g.prototype.convertFrom=function(_){var N=this.imod(_.mul(this.rinv));return N.red=null,N},g.prototype.imul=function(_,N){if(_.isZero()||N.isZero())return _.words[0]=0,_.length=1,_;var x=_.imul(N),B=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=x.isub(B).iushrn(this.shift),w=y;return y.cmp(this.m)>=0?w=y.isub(this.m):y.cmpn(0)<0&&(w=y.iadd(this.m)),w._forceRed(this)},g.prototype.mul=function(_,N){if(_.isZero()||N.isZero())return new U(0)._forceRed(this);var x=_.mul(N),B=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=x.isub(B).iushrn(this.shift),w=y;return y.cmp(this.m)>=0?w=y.isub(this.m):y.cmpn(0)<0&&(w=y.iadd(this.m)),w._forceRed(this)},g.prototype.invm=function(_){var N=this.imod(_._invmp(this.m).mul(this.r2));return N._forceRed(this)}})(typeof Q>"u"||Q,$)}}),hQ=q$({"node_modules/browserify-rsa/index.js"($,Q){var Y=cQ(),Z=g$();function G(X){var K=V(X),I=K.toRed(Y.mont(X.modulus)).redPow(new Y(X.publicExponent)).fromRed();return{blinder:I,unblinder:K.invm(X.modulus)}}function V(X){var K=X.modulus.byteLength(),I;do I=new Y(Z(K));while(I.cmp(X.modulus)>=0||!I.umod(X.prime1)||!I.umod(X.prime2));return I}function U(X,K){var I=G(K),O=K.modulus.byteLength(),J=new Y(X).mul(I.blinder).umod(K.modulus),F=J.toRed(Y.mont(K.prime1)),A=J.toRed(Y.mont(K.prime2)),H=K.coefficient,W=K.prime1,E=K.prime2,T=F.redPow(K.exponent1).fromRed(),D=A.redPow(K.exponent2).fromRed(),C=T.isub(D).imul(H).umod(W).imul(E);return D.iadd(C).imul(I.unblinder).umod(K.modulus).toArrayLike(F$,"be",O)}U.getr=V,Q.exports=U}}),dQ=q$({"node_modules/elliptic/package.json"($,Q){Q.exports={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}}),bQ=q$({"node_modules/elliptic/node_modules/bn.js/lib/bn.js"($,Q){(function(Y,Z){function G(j,k){if(!j)throw new Error(k||"Assertion failed")}function V(j,k){j.super_=k;var g=function(){};g.prototype=k.prototype,j.prototype=new g,j.prototype.constructor=j}function U(j,k,g){if(U.isBN(j))return j;this.negative=0,this.words=null,this.length=0,this.red=null,j!==null&&((k==="le"||k==="be")&&(g=k,k=10),this._init(j||0,k||10,g||"be"))}typeof Y=="object"?Y.exports=U:Z.BN=U,U.BN=U,U.wordSize=26;var X=F$;U.isBN=function(j){return j instanceof U?!0:j!==null&&typeof j=="object"&&j.constructor.wordSize===U.wordSize&&Array.isArray(j.words)},U.max=function(j,k){return j.cmp(k)>0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),lQ=q$({"node_modules/minimalistic-crypto-utils/lib/utils.js"($){var Q=$;function Y(V,U){if(Array.isArray(V))return V.slice();if(!V)return[];var X=[];if(typeof V!="string"){for(var K=0;K>8,J=I&255;O?X.push(O,J):X.push(J)}return X}Q.toArray=Y;function Z(V){return V.length===1?"0"+V:V}Q.zero2=Z;function G(V){for(var U="",X=0;X(H>>1)-1?T=(H>>1)-D:T=D,W.isubn(T)):T=0,A[E]=T,W.iushrn(1)}return A}Q.getNAF=V;function U(O,J){var F=[[],[]];O=O.clone(),J=J.clone();for(var A=0,H=0,W;O.cmpn(-A)>0||J.cmpn(-H)>0;){var E=O.andln(3)+A&3,T=J.andln(3)+H&3;E===3&&(E=-1),T===3&&(T=-1);var D;(E&1)===0?D=0:(W=O.andln(7)+A&7,(W===3||W===5)&&T===2?D=-E:D=E),F[0].push(D);var C;(T&1)===0?C=0:(W=J.andln(7)+H&7,(W===3||W===5)&&E===2?C=-T:C=T),F[1].push(C),2*A===D+1&&(A=1-A),2*H===C+1&&(H=1-H),O.iushrn(1),J.iushrn(1)}return F}Q.getJSF=U;function X(O,J,F){var A="_"+J;O.prototype[J]=function(){return this[A]!==void 0?this[A]:this[A]=F.call(this)}}Q.cachedProperty=X;function K(O){return typeof O=="string"?Q.toArray(O,"hex"):O}Q.parseBytes=K;function I(O){return new Y(O,"hex","le")}Q.intFromLE=I}}),uQ=q$({"node_modules/elliptic/lib/elliptic/curve/base.js"($,Q){var Y=bQ(),Z=oQ(),G=Z.getNAF,V=Z.getJSF,U=Z.assert;function X(I,O){this.type=I,this.p=new Y(O.p,16),this.red=O.prime?Y.red(O.prime):Y.mont(this.p),this.zero=new Y(0).toRed(this.red),this.one=new Y(1).toRed(this.red),this.two=new Y(2).toRed(this.red),this.n=O.n&&new Y(O.n,16),this.g=O.g&&this.pointFromJSON(O.g,O.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 J=this.n&&this.p.div(this.n);!J||J.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}Q.exports=X,X.prototype.point=function(){throw new Error("Not implemented")},X.prototype.validate=function(){throw new Error("Not implemented")},X.prototype._fixedNafMul=function(I,O){U(I.precomputed);var J=I._getDoubles(),F=G(O,1,this._bitLength),A=(1<=W;T--)E=(E<<1)+F[T];H.push(E)}for(var D=this.jpoint(null,null,null),C=this.jpoint(null,null,null),L=A;L>0;L--){for(W=0;W=0;E--){for(var T=0;E>=0&&H[E]===0;E--)T++;if(E>=0&&T++,W=W.dblp(T),E<0)break;var D=H[E];U(D!==0),I.type==="affine"?D>0?W=W.mixedAdd(A[D-1>>1]):W=W.mixedAdd(A[-D-1>>1].neg()):D>0?W=W.add(A[D-1>>1]):W=W.add(A[-D-1>>1].neg())}return I.type==="affine"?W.toP():W},X.prototype._wnafMulAdd=function(I,O,J,F,A){var H=this._wnafT1,W=this._wnafT2,E=this._wnafT3,T=0,D,C,L;for(D=0;D=1;D-=2){var P=D-1,z=D;if(H[P]!==1||H[z]!==1){E[P]=G(J[P],H[P],this._bitLength),E[z]=G(J[z],H[z],this._bitLength),T=Math.max(E[P].length,T),T=Math.max(E[z].length,T);continue}var M=[O[P],null,null,O[z]];O[P].y.cmp(O[z].y)===0?(M[1]=O[P].add(O[z]),M[2]=O[P].toJ().mixedAdd(O[z].neg())):O[P].y.cmp(O[z].y.redNeg())===0?(M[1]=O[P].toJ().mixedAdd(O[z]),M[2]=O[P].add(O[z].neg())):(M[1]=O[P].toJ().mixedAdd(O[z]),M[2]=O[P].toJ().mixedAdd(O[z].neg()));var S=[-3,-1,-5,-7,0,7,5,1,3],v=V(J[P],J[z]);for(T=Math.max(v[0].length,T),E[P]=new Array(T),E[z]=new Array(T),C=0;C=0;D--){for(var _=0;D>=0;){var N=!0;for(C=0;C=0&&_++,k=k.dblp(_),D<0)break;for(C=0;C0?L=W[C][x-1>>1]:x<0&&(L=W[C][-x-1>>1].neg()),L.type==="affine"?k=k.mixedAdd(L):k=k.add(L))}}for(D=0;D=Math.ceil((I.bitLength()+1)/O.step):!1},K.prototype._getDoubles=function(I,O){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var J=[this],F=this,A=0;A=0&&(P=D,z=C),L.negative&&(L=L.neg(),R=R.neg()),P.negative&&(P=P.neg(),z=z.neg()),[{a:L,b:R},{a:P,b:z}]},X.prototype._endoSplit=function(O){var J=this.endo.basis,F=J[0],A=J[1],H=A.b.mul(O).divRound(this.n),W=F.b.neg().mul(O).divRound(this.n),E=H.mul(F.a),T=W.mul(A.a),D=H.mul(F.b),C=W.mul(A.b),L=O.sub(E).sub(T),R=D.add(C).neg();return{k1:L,k2:R}},X.prototype.pointFromX=function(O,J){O=new Z(O,16),O.red||(O=O.toRed(this.red));var F=O.redSqr().redMul(O).redIAdd(O.redMul(this.a)).redIAdd(this.b),A=F.redSqrt();if(A.redSqr().redSub(F).cmp(this.zero)!==0)throw new Error("invalid point");var H=A.fromRed().isOdd();return(J&&!H||!J&&H)&&(A=A.redNeg()),this.point(O,A)},X.prototype.validate=function(O){if(O.inf)return!0;var{x:J,y:F}=O,A=this.a.redMul(J),H=J.redSqr().redMul(J).redIAdd(A).redIAdd(this.b);return F.redSqr().redISub(H).cmpn(0)===0},X.prototype._endoWnafMulAdd=function(O,J,F){for(var A=this._endoWnafT1,H=this._endoWnafT2,W=0;W":""},K.prototype.isInfinity=function(){return this.inf},K.prototype.add=function(O){if(this.inf)return O;if(O.inf)return this;if(this.eq(O))return this.dbl();if(this.neg().eq(O))return this.curve.point(null,null);if(this.x.cmp(O.x)===0)return this.curve.point(null,null);var J=this.y.redSub(O.y);J.cmpn(0)!==0&&(J=J.redMul(this.x.redSub(O.x).redInvm()));var F=J.redSqr().redISub(this.x).redISub(O.x),A=J.redMul(this.x.redSub(F)).redISub(this.y);return this.curve.point(F,A)},K.prototype.dbl=function(){if(this.inf)return this;var O=this.y.redAdd(this.y);if(O.cmpn(0)===0)return this.curve.point(null,null);var J=this.curve.a,F=this.x.redSqr(),A=O.redInvm(),H=F.redAdd(F).redIAdd(F).redIAdd(J).redMul(A),W=H.redSqr().redISub(this.x.redAdd(this.x)),E=H.redMul(this.x.redSub(W)).redISub(this.y);return this.curve.point(W,E)},K.prototype.getX=function(){return this.x.fromRed()},K.prototype.getY=function(){return this.y.fromRed()},K.prototype.mul=function(O){return O=new Z(O,16),this.isInfinity()?this:this._hasDoubles(O)?this.curve._fixedNafMul(this,O):this.curve.endo?this.curve._endoWnafMulAdd([this],[O]):this.curve._wnafMul(this,O)},K.prototype.mulAdd=function(O,J,F){var A=[this,J],H=[O,F];return this.curve.endo?this.curve._endoWnafMulAdd(A,H):this.curve._wnafMulAdd(1,A,H,2)},K.prototype.jmulAdd=function(O,J,F){var A=[this,J],H=[O,F];return this.curve.endo?this.curve._endoWnafMulAdd(A,H,!0):this.curve._wnafMulAdd(1,A,H,2,!0)},K.prototype.eq=function(O){return this===O||this.inf===O.inf&&(this.inf||this.x.cmp(O.x)===0&&this.y.cmp(O.y)===0)},K.prototype.neg=function(O){if(this.inf)return this;var J=this.curve.point(this.x,this.y.redNeg());if(O&&this.precomputed){var F=this.precomputed,A=function(H){return H.neg()};J.precomputed={naf:F.naf&&{wnd:F.naf.wnd,points:F.naf.points.map(A)},doubles:F.doubles&&{step:F.doubles.step,points:F.doubles.points.map(A)}}}return J},K.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var O=this.curve.jpoint(this.x,this.y,this.curve.one);return O};function I(O,J,F,A){V.BasePoint.call(this,O,"jacobian"),J===null&&F===null&&A===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Z(0)):(this.x=new Z(J,16),this.y=new Z(F,16),this.z=new Z(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.zOne=this.z===this.curve.one}G(I,V.BasePoint),X.prototype.jpoint=function(O,J,F){return new I(this,O,J,F)},I.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var O=this.z.redInvm(),J=O.redSqr(),F=this.x.redMul(J),A=this.y.redMul(J).redMul(O);return this.curve.point(F,A)},I.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},I.prototype.add=function(O){if(this.isInfinity())return O;if(O.isInfinity())return this;var J=O.z.redSqr(),F=this.z.redSqr(),A=this.x.redMul(J),H=O.x.redMul(F),W=this.y.redMul(J.redMul(O.z)),E=O.y.redMul(F.redMul(this.z)),T=A.redSub(H),D=W.redSub(E);if(T.cmpn(0)===0)return D.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var C=T.redSqr(),L=C.redMul(T),R=A.redMul(C),P=D.redSqr().redIAdd(L).redISub(R).redISub(R),z=D.redMul(R.redISub(P)).redISub(W.redMul(L)),M=this.z.redMul(O.z).redMul(T);return this.curve.jpoint(P,z,M)},I.prototype.mixedAdd=function(O){if(this.isInfinity())return O.toJ();if(O.isInfinity())return this;var J=this.z.redSqr(),F=this.x,A=O.x.redMul(J),H=this.y,W=O.y.redMul(J).redMul(this.z),E=F.redSub(A),T=H.redSub(W);if(E.cmpn(0)===0)return T.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var D=E.redSqr(),C=D.redMul(E),L=F.redMul(D),R=T.redSqr().redIAdd(C).redISub(L).redISub(L),P=T.redMul(L.redISub(R)).redISub(H.redMul(C)),z=this.z.redMul(E);return this.curve.jpoint(R,P,z)},I.prototype.dblp=function(O){if(O===0)return this;if(this.isInfinity())return this;if(!O)return this.dbl();var J;if(this.curve.zeroA||this.curve.threeA){var F=this;for(J=0;J=0)return!1;if(F.redIAdd(H),this.x.cmp(F)===0)return!0}},I.prototype.inspect=function(){return this.isInfinity()?"":""},I.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),sQ=q$({"node_modules/elliptic/lib/elliptic/curve/mont.js"($,Q){var Y=bQ(),Z=_$(),G=uQ(),V=oQ();function U(K){G.call(this,"mont",K),this.a=new Y(K.a,16).toRed(this.red),this.b=new Y(K.b,16).toRed(this.red),this.i4=new Y(4).toRed(this.red).redInvm(),this.two=new Y(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Z(U,G),Q.exports=U,U.prototype.validate=function(K){var I=K.normalize().x,O=I.redSqr(),J=O.redMul(I).redAdd(O.redMul(this.a)).redAdd(I),F=J.redSqrt();return F.redSqr().cmp(J)===0};function X(K,I,O){G.BasePoint.call(this,K,"projective"),I===null&&O===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Y(I,16),this.z=new Y(O,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Z(X,G.BasePoint),U.prototype.decodePoint=function(K,I){return this.point(V.toArray(K,I),1)},U.prototype.point=function(K,I){return new X(this,K,I)},U.prototype.pointFromJSON=function(K){return X.fromJSON(this,K)},X.prototype.precompute=function(){},X.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},X.fromJSON=function(K,I){return new X(K,I[0],I[1]||K.one)},X.prototype.inspect=function(){return this.isInfinity()?"":""},X.prototype.isInfinity=function(){return this.z.cmpn(0)===0},X.prototype.dbl=function(){var K=this.x.redAdd(this.z),I=K.redSqr(),O=this.x.redSub(this.z),J=O.redSqr(),F=I.redSub(J),A=I.redMul(J),H=F.redMul(J.redAdd(this.curve.a24.redMul(F)));return this.curve.point(A,H)},X.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},X.prototype.diffAdd=function(K,I){var O=this.x.redAdd(this.z),J=this.x.redSub(this.z),F=K.x.redAdd(K.z),A=K.x.redSub(K.z),H=A.redMul(O),W=F.redMul(J),E=I.z.redMul(H.redAdd(W).redSqr()),T=I.x.redMul(H.redISub(W).redSqr());return this.curve.point(E,T)},X.prototype.mul=function(K){for(var I=K.clone(),O=this,J=this.curve.point(null,null),F=this,A=[];I.cmpn(0)!==0;I.iushrn(1))A.push(I.andln(1));for(var H=A.length-1;H>=0;H--)A[H]===0?(O=O.diffAdd(J,F),J=J.dbl()):(J=O.diffAdd(J,F),O=O.dbl());return J},X.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},X.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},X.prototype.eq=function(K){return this.getX().cmp(K.getX())===0},X.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},X.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),tQ=q$({"node_modules/elliptic/lib/elliptic/curve/edwards.js"($,Q){var Y=oQ(),Z=bQ(),G=_$(),V=uQ(),U=Y.assert;function X(I){this.twisted=(I.a|0)!==1,this.mOneA=this.twisted&&(I.a|0)===-1,this.extended=this.mOneA,V.call(this,"edwards",I),this.a=new Z(I.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Z(I.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Z(I.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),U(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(I.c|0)===1}G(X,V),Q.exports=X,X.prototype._mulA=function(I){return this.mOneA?I.redNeg():this.a.redMul(I)},X.prototype._mulC=function(I){return this.oneC?I:this.c.redMul(I)},X.prototype.jpoint=function(I,O,J,F){return this.point(I,O,J,F)},X.prototype.pointFromX=function(I,O){I=new Z(I,16),I.red||(I=I.toRed(this.red));var J=I.redSqr(),F=this.c2.redSub(this.a.redMul(J)),A=this.one.redSub(this.c2.redMul(this.d).redMul(J)),H=F.redMul(A.redInvm()),W=H.redSqrt();if(W.redSqr().redSub(H).cmp(this.zero)!==0)throw new Error("invalid point");var E=W.fromRed().isOdd();return(O&&!E||!O&&E)&&(W=W.redNeg()),this.point(I,W)},X.prototype.pointFromY=function(I,O){I=new Z(I,16),I.red||(I=I.toRed(this.red));var J=I.redSqr(),F=J.redSub(this.c2),A=J.redMul(this.d).redMul(this.c2).redSub(this.a),H=F.redMul(A.redInvm());if(H.cmp(this.zero)===0){if(O)throw new Error("invalid point");return this.point(this.zero,I)}var W=H.redSqrt();if(W.redSqr().redSub(H).cmp(this.zero)!==0)throw new Error("invalid point");return W.fromRed().isOdd()!==O&&(W=W.redNeg()),this.point(W,I)},X.prototype.validate=function(I){if(I.isInfinity())return!0;I.normalize();var O=I.x.redSqr(),J=I.y.redSqr(),F=O.redMul(this.a).redAdd(J),A=this.c2.redMul(this.one.redAdd(this.d.redMul(O).redMul(J)));return F.cmp(A)===0};function K(I,O,J,F,A){V.BasePoint.call(this,I,"projective"),O===null&&J===null&&F===null?(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 Z(O,16),this.y=new Z(J,16),this.z=F?new Z(F,16):this.curve.one,this.t=A&&new Z(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()))))}G(K,V.BasePoint),X.prototype.pointFromJSON=function(I){return K.fromJSON(this,I)},X.prototype.point=function(I,O,J,F){return new K(this,I,O,J,F)},K.fromJSON=function(I,O){return new K(I,O[0],O[1],O[2])},K.prototype.inspect=function(){return this.isInfinity()?"":""},K.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},K.prototype._extDbl=function(){var I=this.x.redSqr(),O=this.y.redSqr(),J=this.z.redSqr();J=J.redIAdd(J);var F=this.curve._mulA(I),A=this.x.redAdd(this.y).redSqr().redISub(I).redISub(O),H=F.redAdd(O),W=H.redSub(J),E=F.redSub(O),T=A.redMul(W),D=H.redMul(E),C=A.redMul(E),L=W.redMul(H);return this.curve.point(T,D,L,C)},K.prototype._projDbl=function(){var I=this.x.redAdd(this.y).redSqr(),O=this.x.redSqr(),J=this.y.redSqr(),F,A,H,W,E,T;if(this.curve.twisted){W=this.curve._mulA(O);var D=W.redAdd(J);this.zOne?(F=I.redSub(O).redSub(J).redMul(D.redSub(this.curve.two)),A=D.redMul(W.redSub(J)),H=D.redSqr().redSub(D).redSub(D)):(E=this.z.redSqr(),T=D.redSub(E).redISub(E),F=I.redSub(O).redISub(J).redMul(T),A=D.redMul(W.redSub(J)),H=D.redMul(T))}else W=O.redAdd(J),E=this.curve._mulC(this.z).redSqr(),T=W.redSub(E).redSub(E),F=this.curve._mulC(I.redISub(W)).redMul(T),A=this.curve._mulC(W).redMul(O.redISub(J)),H=W.redMul(T);return this.curve.point(F,A,H)},K.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},K.prototype._extAdd=function(I){var O=this.y.redSub(this.x).redMul(I.y.redSub(I.x)),J=this.y.redAdd(this.x).redMul(I.y.redAdd(I.x)),F=this.t.redMul(this.curve.dd).redMul(I.t),A=this.z.redMul(I.z.redAdd(I.z)),H=J.redSub(O),W=A.redSub(F),E=A.redAdd(F),T=J.redAdd(O),D=H.redMul(W),C=E.redMul(T),L=H.redMul(T),R=W.redMul(E);return this.curve.point(D,C,R,L)},K.prototype._projAdd=function(I){var O=this.z.redMul(I.z),J=O.redSqr(),F=this.x.redMul(I.x),A=this.y.redMul(I.y),H=this.curve.d.redMul(F).redMul(A),W=J.redSub(H),E=J.redAdd(H),T=this.x.redAdd(this.y).redMul(I.x.redAdd(I.y)).redISub(F).redISub(A),D=O.redMul(W).redMul(T),C,L;return this.curve.twisted?(C=O.redMul(E).redMul(A.redSub(this.curve._mulA(F))),L=W.redMul(E)):(C=O.redMul(E).redMul(A.redSub(F)),L=this.curve._mulC(W).redMul(E)),this.curve.point(D,C,L)},K.prototype.add=function(I){return this.isInfinity()?I:I.isInfinity()?this:this.curve.extended?this._extAdd(I):this._projAdd(I)},K.prototype.mul=function(I){return this._hasDoubles(I)?this.curve._fixedNafMul(this,I):this.curve._wnafMul(this,I)},K.prototype.mulAdd=function(I,O,J){return this.curve._wnafMulAdd(1,[this,O],[I,J],2,!1)},K.prototype.jmulAdd=function(I,O,J){return this.curve._wnafMulAdd(1,[this,O],[I,J],2,!0)},K.prototype.normalize=function(){if(this.zOne)return this;var I=this.z.redInvm();return this.x=this.x.redMul(I),this.y=this.y.redMul(I),this.t&&(this.t=this.t.redMul(I)),this.z=this.curve.one,this.zOne=!0,this},K.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},K.prototype.getX=function(){return this.normalize(),this.x.fromRed()},K.prototype.getY=function(){return this.normalize(),this.y.fromRed()},K.prototype.eq=function(I){return this===I||this.getX().cmp(I.getX())===0&&this.getY().cmp(I.getY())===0},K.prototype.eqXToP=function(I){var O=I.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(O)===0)return!0;for(var J=I.clone(),F=this.curve.redN.redMul(this.z);;){if(J.iadd(this.curve.n),J.cmp(this.curve.p)>=0)return!1;if(O.redIAdd(F),this.x.cmp(O)===0)return!0}},K.prototype.toP=K.prototype.normalize,K.prototype.mixedAdd=K.prototype.add}}),mQ=q$({"node_modules/elliptic/lib/elliptic/curve/index.js"($){var Q=$;Q.base=uQ(),Q.short=nQ(),Q.mont=sQ(),Q.edwards=tQ()}}),aQ=q$({"node_modules/hash.js/lib/hash/utils.js"($){var Q=ZQ(),Y=_$();$.inherits=Y;function Z(k,g){return(k.charCodeAt(g)&64512)!==55296||g<0||g+1>=k.length?!1:(k.charCodeAt(g+1)&64512)===56320}function G(k,g){if(Array.isArray(k))return k.slice();if(!k)return[];var _=[];if(typeof k=="string")if(g){if(g==="hex")for(k=k.replace(/[^a-z0-9]+/gi,""),k.length%2!==0&&(k="0"+k),x=0;x>6|192,_[N++]=B&63|128):Z(k,x)?(B=65536+((B&1023)<<10)+(k.charCodeAt(++x)&1023),_[N++]=B>>18|240,_[N++]=B>>12&63|128,_[N++]=B>>6&63|128,_[N++]=B&63|128):(_[N++]=B>>12|224,_[N++]=B>>6&63|128,_[N++]=B&63|128)}else for(x=0;x>>24|k>>>8&65280|k<<8&16711680|(k&255)<<24;return g>>>0}$.htonl=U;function X(k,g){for(var _="",N=0;N>>0}return B}$.join32=O;function J(k,g){for(var _=new Array(k.length*4),N=0,x=0;N>>24,_[x+1]=B>>>16&255,_[x+2]=B>>>8&255,_[x+3]=B&255):(_[x+3]=B>>>24,_[x+2]=B>>>16&255,_[x+1]=B>>>8&255,_[x]=B&255)}return _}$.split32=J;function F(k,g){return k>>>g|k<<32-g}$.rotr32=F;function A(k,g){return k<>>32-g}$.rotl32=A;function H(k,g){return k+g>>>0}$.sum32=H;function W(k,g,_){return k+g+_>>>0}$.sum32_3=W;function E(k,g,_,N){return k+g+_+N>>>0}$.sum32_4=E;function T(k,g,_,N,x){return k+g+_+N+x>>>0}$.sum32_5=T;function D(k,g,_,N){var x=k[g],B=k[g+1],y=N+B>>>0,w=(y>>0,k[g+1]=y}$.sum64=D;function C(k,g,_,N){var x=g+N>>>0,B=(x>>0}$.sum64_hi=C;function L(k,g,_,N){var x=g+N;return x>>>0}$.sum64_lo=L;function R(k,g,_,N,x,B,y,w){var p=0,f=g;f=f+N>>>0,p+=f>>0,p+=f>>0,p+=f>>0}$.sum64_4_hi=R;function P(k,g,_,N,x,B,y,w){var p=g+N+B+w;return p>>>0}$.sum64_4_lo=P;function z(k,g,_,N,x,B,y,w,p,f){var c=0,h=g;h=h+N>>>0,c+=h>>0,c+=h>>0,c+=h>>0,c+=h>>0}$.sum64_5_hi=z;function M(k,g,_,N,x,B,y,w,p,f){var c=g+N+B+w+f;return c>>>0}$.sum64_5_lo=M;function S(k,g,_){var N=g<<32-_|k>>>_;return N>>>0}$.rotr64_hi=S;function v(k,g,_){var N=k<<32-_|g>>>_;return N>>>0}$.rotr64_lo=v;function q(k,g,_){return k>>>_}$.shr64_hi=q;function j(k,g,_){var N=k<<32-_|g>>>_;return N>>>0}$.shr64_lo=j}}),eQ=q$({"node_modules/hash.js/lib/hash/common.js"($){var Q=aQ(),Y=ZQ();function Z(){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}$.BlockHash=Z,Z.prototype.update=function(G,V){if(G=Q.toArray(G,V),this.pending?this.pending=this.pending.concat(G):this.pending=G,this.pendingTotal+=G.length,this.pending.length>=this._delta8){G=this.pending;var U=G.length%this._delta8;this.pending=G.slice(G.length-U,G.length),this.pending.length===0&&(this.pending=null),G=Q.join32(G,0,G.length-U,this.endian);for(var X=0;X>>24&255,X[K++]=G>>>16&255,X[K++]=G>>>8&255,X[K++]=G&255}else for(X[K++]=G&255,X[K++]=G>>>8&255,X[K++]=G>>>16&255,X[K++]=G>>>24&255,X[K++]=0,X[K++]=0,X[K++]=0,X[K++]=0,I=8;I>>3}$.g0_256=I;function O(J){return Y(J,17)^Y(J,19)^J>>>10}$.g1_256=O}}),iQ=q$({"node_modules/hash.js/lib/hash/sha/1.js"($,Q){var Y=aQ(),Z=eQ(),G=rQ(),V=Y.rotl32,U=Y.sum32,X=Y.sum32_5,K=G.ft_1,I=Z.BlockHash,O=[1518500249,1859775393,2400959708,3395469782];function J(){if(!(this instanceof J))return new J;I.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Y.inherits(J,I),Q.exports=J,J.blockSize=512,J.outSize=160,J.hmacStrength=80,J.padLength=64,J.prototype._update=function(F,A){for(var H=this.W,W=0;W<16;W++)H[W]=F[A+W];for(;Wthis.blockSize&&(V=new this.Hash().update(V).digest()),Z(V.length<=this.blockSize);for(var U=V.length;U=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(X,K,I)}Q.exports=V,V.prototype._init=function(U,X,K){var I=U.concat(X).concat(K);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var O=0;O=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(U.concat(K||[])),this._reseed=1},V.prototype.generate=function(U,X,K,I){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof X!="string"&&(I=K,K=X,X=null),K&&(K=Z.toArray(K,I||"hex"),this._update(K));for(var O=[];O.length"}}}),FY=q$({"node_modules/elliptic/lib/elliptic/ec/signature.js"($,Q){var Y=bQ(),Z=oQ(),G=Z.assert;function V(O,J){if(O instanceof V)return O;this._importDER(O,J)||(G(O.r&&O.s,"Signature without r or s"),this.r=new Y(O.r,16),this.s=new Y(O.s,16),O.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=O.recoveryParam)}Q.exports=V;function U(){this.place=0}function X(O,J){var F=O[J.place++];if(!(F&128))return F;var A=F&15;if(A===0||A>4)return!1;for(var H=0,W=0,E=J.place;W>>=0;return H<=127?!1:(J.place=E,H)}function K(O){for(var J=0,F=O.length-1;!O[J]&&!(O[J+1]&128)&&J>>3);for(O.push(F|128);--F;)O.push(J>>>(F<<3)&255);O.push(J)}V.prototype.toDER=function(O){var J=this.r.toArray(),F=this.s.toArray();for(J[0]&128&&(J=[0].concat(J)),F[0]&128&&(F=[0].concat(F)),J=K(J),F=K(F);!F[0]&&!(F[1]&128);)F=F.slice(1);var A=[2];I(A,J.length),A=A.concat(J),A.push(2),I(A,F.length);var H=A.concat(F),W=[48];return I(W,H.length),W=W.concat(H),Z.encode(W,O)}}}),AY=q$({"node_modules/elliptic/lib/elliptic/ec/index.js"($,Q){var Y=bQ(),Z=OY(),G=oQ(),V=IY(),U=xQ(),X=G.assert,K=JY(),I=FY();function O(J){if(!(this instanceof O))return new O(J);typeof J=="string"&&(X(Object.prototype.hasOwnProperty.call(V,J),"Unknown curve "+J),J=V[J]),J instanceof V.PresetCurve&&(J={curve:J}),this.curve=J.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=J.curve.g,this.g.precompute(J.curve.n.bitLength()+1),this.hash=J.hash||J.curve.hash}Q.exports=O,O.prototype.keyPair=function(J){return new K(this,J)},O.prototype.keyFromPrivate=function(J,F){return K.fromPrivate(this,J,F)},O.prototype.keyFromPublic=function(J,F){return K.fromPublic(this,J,F)},O.prototype.genKeyPair=function(J){J||(J={});for(var F=new Z({hash:this.hash,pers:J.pers,persEnc:J.persEnc||"utf8",entropy:J.entropy||U(this.hash.hmacStrength),entropyEnc:J.entropy&&J.entropyEnc||"utf8",nonce:this.n.toArray()}),A=this.n.byteLength(),H=this.n.sub(new Y(2));;){var W=new Y(F.generate(A));if(!(W.cmp(H)>0))return W.iaddn(1),this.keyFromPrivate(W)}},O.prototype._truncateToN=function(J,F){var A=J.byteLength()*8-this.n.bitLength();return A>0&&(J=J.ushrn(A)),!F&&J.cmp(this.n)>=0?J.sub(this.n):J},O.prototype.sign=function(J,F,A,H){typeof A=="object"&&(H=A,A=null),H||(H={}),F=this.keyFromPrivate(F,A),J=this._truncateToN(new Y(J,16));for(var W=this.n.byteLength(),E=F.getPrivate().toArray("be",W),T=J.toArray("be",W),D=new Z({hash:this.hash,entropy:E,nonce:T,pers:H.pers,persEnc:H.persEnc||"utf8"}),C=this.n.sub(new Y(1)),L=0;;L++){var R=H.k?H.k(L):new Y(D.generate(this.n.byteLength()));if(R=this._truncateToN(R,!0),!(R.cmpn(1)<=0||R.cmp(C)>=0)){var P=this.g.mul(R);if(!P.isInfinity()){var z=P.getX(),M=z.umod(this.n);if(M.cmpn(0)!==0){var S=R.invm(this.n).mul(M.mul(F.getPrivate()).iadd(J));if(S=S.umod(this.n),S.cmpn(0)!==0){var v=(P.getY().isOdd()?1:0)|(z.cmp(M)!==0?2:0);return H.canonical&&S.cmp(this.nh)>0&&(S=this.n.sub(S),v^=1),new I({r:M,s:S,recoveryParam:v})}}}}}},O.prototype.verify=function(J,F,A,H){J=this._truncateToN(new Y(J,16)),A=this.keyFromPublic(A,H),F=new I(F,"hex");var{r:W,s:E}=F;if(W.cmpn(1)<0||W.cmp(this.n)>=0||E.cmpn(1)<0||E.cmp(this.n)>=0)return!1;var T=E.invm(this.n),D=T.mul(J).umod(this.n),C=T.mul(W).umod(this.n),L;return this.curve._maxwellTrick?(L=this.g.jmulAdd(D,A.getPublic(),C),L.isInfinity()?!1:L.eqXToP(W)):(L=this.g.mulAdd(D,A.getPublic(),C),L.isInfinity()?!1:L.getX().umod(this.n).cmp(W)===0)},O.prototype.recoverPubKey=function(J,F,A,H){X((3&A)===A,"The recovery param is more than two bits"),F=new I(F,H);var W=this.n,E=new Y(J),T=F.r,D=F.s,C=A&1,L=A>>1;if(T.cmp(this.curve.p.umod(this.curve.n))>=0&&L)throw new Error("Unable to find sencond key candinate");L?T=this.curve.pointFromX(T.add(this.curve.n),C):T=this.curve.pointFromX(T,C);var R=F.r.invm(W),P=W.sub(E).mul(R).umod(W),z=D.mul(R).umod(W);return this.g.mulAdd(P,T,z)},O.prototype.getKeyRecoveryParam=function(J,F,A,H){if(F=new I(F,H),F.recoveryParam!==null)return F.recoveryParam;for(var W=0;W<4;W++){var E;try{E=this.recoverPubKey(J,F,W)}catch{continue}if(E.eq(A))return W}throw new Error("Unable to find valid recovery factor")}}}),HY=q$({"node_modules/elliptic/lib/elliptic/eddsa/key.js"($,Q){var Y=oQ(),Z=Y.assert,G=Y.parseBytes,V=Y.cachedProperty;function U(X,K){this.eddsa=X,this._secret=G(K.secret),X.isPoint(K.pub)?this._pub=K.pub:this._pubBytes=G(K.pub)}U.fromPublic=function(X,K){return K instanceof U?K:new U(X,{pub:K})},U.fromSecret=function(X,K){return K instanceof U?K:new U(X,{secret:K})},U.prototype.secret=function(){return this._secret},V(U,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),V(U,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),V(U,"privBytes",function(){var X=this.eddsa,K=this.hash(),I=X.encodingLength-1,O=K.slice(0,X.encodingLength);return O[0]&=248,O[I]&=127,O[I]|=64,O}),V(U,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),V(U,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),V(U,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),U.prototype.sign=function(X){return Z(this._secret,"KeyPair can only verify"),this.eddsa.sign(X,this)},U.prototype.verify=function(X,K){return this.eddsa.verify(X,K,this)},U.prototype.getSecret=function(X){return Z(this._secret,"KeyPair is public only"),Y.encode(this.secret(),X)},U.prototype.getPublic=function(X){return Y.encode(this.pubBytes(),X)},Q.exports=U}}),WY=q$({"node_modules/elliptic/lib/elliptic/eddsa/signature.js"($,Q){var Y=bQ(),Z=oQ(),G=Z.assert,V=Z.cachedProperty,U=Z.parseBytes;function X(K,I){this.eddsa=K,typeof I!="object"&&(I=U(I)),Array.isArray(I)&&(I={R:I.slice(0,K.encodingLength),S:I.slice(K.encodingLength)}),G(I.R&&I.S,"Signature without R or S"),K.isPoint(I.R)&&(this._R=I.R),I.S instanceof Y&&(this._S=I.S),this._Rencoded=Array.isArray(I.R)?I.R:I.Rencoded,this._Sencoded=Array.isArray(I.S)?I.S:I.Sencoded}V(X,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),V(X,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),V(X,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),V(X,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),X.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},X.prototype.toHex=function(){return Z.encode(this.toBytes(),"hex").toUpperCase()},Q.exports=X}}),EY=q$({"node_modules/elliptic/lib/elliptic/eddsa/index.js"($,Q){var Y=XY(),Z=IY(),G=oQ(),V=G.assert,U=G.parseBytes,X=HY(),K=WY();function I(O){if(V(O==="ed25519","only tested with ed25519 so far"),!(this instanceof I))return new I(O);O=Z[O].curve,this.curve=O,this.g=O.g,this.g.precompute(O.n.bitLength()+1),this.pointClass=O.point().constructor,this.encodingLength=Math.ceil(O.n.bitLength()/8),this.hash=Y.sha512}Q.exports=I,I.prototype.sign=function(O,J){O=U(O);var F=this.keyFromSecret(J),A=this.hashInt(F.messagePrefix(),O),H=this.g.mul(A),W=this.encodePoint(H),E=this.hashInt(W,F.pubBytes(),O).mul(F.priv()),T=A.add(E).umod(this.curve.n);return this.makeSignature({R:H,S:T,Rencoded:W})},I.prototype.verify=function(O,J,F){O=U(O),J=this.makeSignature(J);var A=this.keyFromPublic(F),H=this.hashInt(J.Rencoded(),A.pubBytes(),O),W=this.g.mul(J.S()),E=J.R().add(A.pub().mul(H));return E.eq(W)},I.prototype.hashInt=function(){for(var O=this.hash(),J=0;J0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),CY=q$({"node_modules/safer-buffer/safer.js"($,Q){var Y=M$,Z=F$,G={},V;for(V in Y)!Y.hasOwnProperty(V)||V==="SlowBuffer"||V==="Buffer"||(G[V]=Y[V]);var U=G.Buffer={};for(V in Z)!Z.hasOwnProperty(V)||V==="allocUnsafe"||V==="allocUnsafeSlow"||(U[V]=Z[V]);if(G.Buffer.prototype=Z.prototype,(!U.from||U.from===Uint8Array.from)&&(U.from=function(X,K,I){if(typeof X=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof X);if(X&&typeof X.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof X);return Z(X,K,I)}),U.alloc||(U.alloc=function(X,K,I){if(typeof X!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof X);if(X<0||X>=2*(1<<30))throw new RangeError('The value "'+X+'" is invalid for option "size"');var O=Z(X);return!K||K.length===0?O.fill(0):typeof I=="string"?O.fill(K,I):O.fill(K),O}),!G.kStringMaxLength)try{G.kStringMaxLength=S$}catch{}G.constants||(G.constants={MAX_LENGTH:G.kMaxLength},G.kStringMaxLength&&(G.constants.MAX_STRING_LENGTH=G.kStringMaxLength)),Q.exports=G}}),LY=q$({"node_modules/asn1.js/lib/asn1/base/reporter.js"($){var Q=_$();function Y(G){this._reporterState={obj:null,path:[],options:G||{},errors:[]}}$.Reporter=Y,Y.prototype.isError=function(G){return G instanceof Z},Y.prototype.save=function(){let G=this._reporterState;return{obj:G.obj,pathLen:G.path.length}},Y.prototype.restore=function(G){let V=this._reporterState;V.obj=G.obj,V.path=V.path.slice(0,G.pathLen)},Y.prototype.enterKey=function(G){return this._reporterState.path.push(G)},Y.prototype.exitKey=function(G){let V=this._reporterState;V.path=V.path.slice(0,G-1)},Y.prototype.leaveKey=function(G,V,U){let X=this._reporterState;this.exitKey(G),X.obj!==null&&(X.obj[V]=U)},Y.prototype.path=function(){return this._reporterState.path.join("/")},Y.prototype.enterObject=function(){let G=this._reporterState,V=G.obj;return G.obj={},V},Y.prototype.leaveObject=function(G){let V=this._reporterState,U=V.obj;return V.obj=G,U},Y.prototype.error=function(G){let V,U=this._reporterState,X=G instanceof Z;if(X?V=G:V=new Z(U.path.map(function(K){return"["+JSON.stringify(K)+"]"}).join(""),G.message||G,G.stack),!U.options.partial)throw V;return X||U.errors.push(V),V},Y.prototype.wrapResult=function(G){let V=this._reporterState;return V.options.partial?{result:this.isError(G)?null:G,errors:V.errors}:G};function Z(G,V){this.path=G,this.rethrow(V)}Q(Z,Error),Z.prototype.rethrow=function(G){if(this.message=G+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,Z),!this.stack)try{throw new Error(this.message)}catch(V){this.stack=V.stack}return this}}}),E$=q$({"node_modules/asn1.js/lib/asn1/base/buffer.js"($){var Q=_$(),Y=LY().Reporter,Z=CY().Buffer;function G(U,X){if(Y.call(this,X),!Z.isBuffer(U)){this.error("Input not Buffer");return}this.base=U,this.offset=0,this.length=U.length}Q(G,Y),$.DecoderBuffer=G,G.isDecoderBuffer=function(U){return U instanceof G?!0:typeof U=="object"&&Z.isBuffer(U.base)&&U.constructor.name==="DecoderBuffer"&&typeof U.offset=="number"&&typeof U.length=="number"&&typeof U.save=="function"&&typeof U.restore=="function"&&typeof U.isEmpty=="function"&&typeof U.readUInt8=="function"&&typeof U.skip=="function"&&typeof U.raw=="function"},G.prototype.save=function(){return{offset:this.offset,reporter:Y.prototype.save.call(this)}},G.prototype.restore=function(U){let X=new G(this.base);return X.offset=U.offset,X.length=this.offset,this.offset=U.offset,Y.prototype.restore.call(this,U.reporter),X},G.prototype.isEmpty=function(){return this.offset===this.length},G.prototype.readUInt8=function(U){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(U||"DecoderBuffer overrun")},G.prototype.skip=function(U,X){if(!(this.offset+U<=this.length))return this.error(X||"DecoderBuffer overrun");let K=new G(this.base);return K._reporterState=this._reporterState,K.offset=this.offset,K.length=this.offset+U,this.offset+=U,K},G.prototype.raw=function(U){return this.base.slice(U?U.offset:this.offset,this.length)};function V(U,X){if(Array.isArray(U))this.length=0,this.value=U.map(function(K){return V.isEncoderBuffer(K)||(K=new V(K,X)),this.length+=K.length,K},this);else if(typeof U=="number"){if(!(0<=U&&U<=255))return X.error("non-byte EncoderBuffer value");this.value=U,this.length=1}else if(typeof U=="string")this.value=U,this.length=Z.byteLength(U);else if(Z.isBuffer(U))this.value=U,this.length=U.length;else return X.error("Unsupported type: "+typeof U)}$.EncoderBuffer=V,V.isEncoderBuffer=function(U){return U instanceof V?!0:typeof U=="object"&&U.constructor.name==="EncoderBuffer"&&typeof U.length=="number"&&typeof U.join=="function"},V.prototype.join=function(U,X){return U||(U=Z.alloc(this.length)),X||(X=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(K){K.join(U,X),X+=K.length}):(typeof this.value=="number"?U[X]=this.value:typeof this.value=="string"?U.write(this.value,X):Z.isBuffer(this.value)&&this.value.copy(U,X),X+=this.length)),U}}}),RY=q$({"node_modules/asn1.js/lib/asn1/base/node.js"($,Q){var Y=LY().Reporter,Z=E$().EncoderBuffer,G=E$().DecoderBuffer,V=ZQ(),U=["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"],X=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(U),K=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function I(J,F,A){let H={};this._baseState=H,H.name=A,H.enc=J,H.parent=F||null,H.children=null,H.tag=null,H.args=null,H.reverseArgs=null,H.choice=null,H.optional=!1,H.any=!1,H.obj=!1,H.use=null,H.useDecoder=null,H.key=null,H.default=null,H.explicit=null,H.implicit=null,H.contains=null,H.parent||(H.children=[],this._wrap())}Q.exports=I;var O=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];I.prototype.clone=function(){let J=this._baseState,F={};O.forEach(function(H){F[H]=J[H]});let A=new this.constructor(F.parent);return A._baseState=F,A},I.prototype._wrap=function(){let J=this._baseState;X.forEach(function(F){this[F]=function(){let A=new this.constructor(this);return J.children.push(A),A[F].apply(A,arguments)}},this)},I.prototype._init=function(J){let F=this._baseState;V(F.parent===null),J.call(this),F.children=F.children.filter(function(A){return A._baseState.parent===this},this),V.equal(F.children.length,1,"Root node can have only one child")},I.prototype._useArgs=function(J){let F=this._baseState,A=J.filter(function(H){return H instanceof this.constructor},this);J=J.filter(function(H){return!(H instanceof this.constructor)},this),A.length!==0&&(V(F.children===null),F.children=A,A.forEach(function(H){H._baseState.parent=this},this)),J.length!==0&&(V(F.args===null),F.args=J,F.reverseArgs=J.map(function(H){if(typeof H!="object"||H.constructor!==Object)return H;let W={};return Object.keys(H).forEach(function(E){E==(E|0)&&(E|=0);let T=H[E];W[T]=E}),W}))},K.forEach(function(J){I.prototype[J]=function(){let F=this._baseState;throw new Error(J+" not implemented for encoding: "+F.enc)}}),U.forEach(function(J){I.prototype[J]=function(){let F=this._baseState,A=Array.prototype.slice.call(arguments);return V(F.tag===null),F.tag=J,this._useArgs(A),this}}),I.prototype.use=function(J){V(J);let F=this._baseState;return V(F.use===null),F.use=J,this},I.prototype.optional=function(){let J=this._baseState;return J.optional=!0,this},I.prototype.def=function(J){let F=this._baseState;return V(F.default===null),F.default=J,F.optional=!0,this},I.prototype.explicit=function(J){let F=this._baseState;return V(F.explicit===null&&F.implicit===null),F.explicit=J,this},I.prototype.implicit=function(J){let F=this._baseState;return V(F.explicit===null&&F.implicit===null),F.implicit=J,this},I.prototype.obj=function(){let J=this._baseState,F=Array.prototype.slice.call(arguments);return J.obj=!0,F.length!==0&&this._useArgs(F),this},I.prototype.key=function(J){let F=this._baseState;return V(F.key===null),F.key=J,this},I.prototype.any=function(){let J=this._baseState;return J.any=!0,this},I.prototype.choice=function(J){let F=this._baseState;return V(F.choice===null),F.choice=J,this._useArgs(Object.keys(J).map(function(A){return J[A]})),this},I.prototype.contains=function(J){let F=this._baseState;return V(F.use===null),F.contains=J,this},I.prototype._decode=function(J,F){let A=this._baseState;if(A.parent===null)return J.wrapResult(A.children[0]._decode(J,F));let H=A.default,W=!0,E=null;if(A.key!==null&&(E=J.enterKey(A.key)),A.optional){let D=null;if(A.explicit!==null?D=A.explicit:A.implicit!==null?D=A.implicit:A.tag!==null&&(D=A.tag),D===null&&!A.any){let C=J.save();try{A.choice===null?this._decodeGeneric(A.tag,J,F):this._decodeChoice(J,F),W=!0}catch{W=!1}J.restore(C)}else if(W=this._peekTag(J,D,A.any),J.isError(W))return W}let T;if(A.obj&&W&&(T=J.enterObject()),W){if(A.explicit!==null){let C=this._decodeTag(J,A.explicit);if(J.isError(C))return C;J=C}let D=J.offset;if(A.use===null&&A.choice===null){let C;A.any&&(C=J.save());let L=this._decodeTag(J,A.implicit!==null?A.implicit:A.tag,A.any);if(J.isError(L))return L;A.any?H=J.raw(C):J=L}if(F&&F.track&&A.tag!==null&&F.track(J.path(),D,J.length,"tagged"),F&&F.track&&A.tag!==null&&F.track(J.path(),J.offset,J.length,"content"),A.any||(A.choice===null?H=this._decodeGeneric(A.tag,J,F):H=this._decodeChoice(J,F)),J.isError(H))return H;if(!A.any&&A.choice===null&&A.children!==null&&A.children.forEach(function(C){C._decode(J,F)}),A.contains&&(A.tag==="octstr"||A.tag==="bitstr")){let C=new G(H);H=this._getUse(A.contains,J._reporterState.obj)._decode(C,F)}}return A.obj&&W&&(H=J.leaveObject(T)),A.key!==null&&(H!==null||W===!0)?J.leaveKey(E,A.key,H):E!==null&&J.exitKey(E),H},I.prototype._decodeGeneric=function(J,F,A){let H=this._baseState;return J==="seq"||J==="set"?null:J==="seqof"||J==="setof"?this._decodeList(F,J,H.args[0],A):/str$/.test(J)?this._decodeStr(F,J,A):J==="objid"&&H.args?this._decodeObjid(F,H.args[0],H.args[1],A):J==="objid"?this._decodeObjid(F,null,null,A):J==="gentime"||J==="utctime"?this._decodeTime(F,J,A):J==="null_"?this._decodeNull(F,A):J==="bool"?this._decodeBool(F,A):J==="objDesc"?this._decodeStr(F,J,A):J==="int"||J==="enum"?this._decodeInt(F,H.args&&H.args[0],A):H.use!==null?this._getUse(H.use,F._reporterState.obj)._decode(F,A):F.error("unknown tag: "+J)},I.prototype._getUse=function(J,F){let A=this._baseState;return A.useDecoder=this._use(J,F),V(A.useDecoder._baseState.parent===null),A.useDecoder=A.useDecoder._baseState.children[0],A.implicit!==A.useDecoder._baseState.implicit&&(A.useDecoder=A.useDecoder.clone(),A.useDecoder._baseState.implicit=A.implicit),A.useDecoder},I.prototype._decodeChoice=function(J,F){let A=this._baseState,H=null,W=!1;return Object.keys(A.choice).some(function(E){let T=J.save(),D=A.choice[E];try{let C=D._decode(J,F);if(J.isError(C))return!1;H={type:E,value:C},W=!0}catch{return J.restore(T),!1}return!0},this),W?H:J.error("Choice not matched")},I.prototype._createEncoderBuffer=function(J){return new Z(J,this.reporter)},I.prototype._encode=function(J,F,A){let H=this._baseState;if(H.default!==null&&H.default===J)return;let W=this._encodeValue(J,F,A);if(W!==void 0&&!this._skipDefault(W,F,A))return W},I.prototype._encodeValue=function(J,F,A){let H=this._baseState;if(H.parent===null)return H.children[0]._encode(J,F||new Y);let W=null;if(this.reporter=F,H.optional&&J===void 0)if(H.default!==null)J=H.default;else return;let E=null,T=!1;if(H.any)W=this._createEncoderBuffer(J);else if(H.choice)W=this._encodeChoice(J,F);else if(H.contains)E=this._getUse(H.contains,A)._encode(J,F),T=!0;else if(H.children)E=H.children.map(function(D){if(D._baseState.tag==="null_")return D._encode(null,F,J);if(D._baseState.key===null)return F.error("Child should have a key");let C=F.enterKey(D._baseState.key);if(typeof J!="object")return F.error("Child expected, but input is not object");let L=D._encode(J[D._baseState.key],F,J);return F.leaveKey(C),L},this).filter(function(D){return D}),E=this._createEncoderBuffer(E);else if(H.tag==="seqof"||H.tag==="setof"){if(!(H.args&&H.args.length===1))return F.error("Too many args for : "+H.tag);if(!Array.isArray(J))return F.error("seqof/setof, but data is not Array");let D=this.clone();D._baseState.implicit=null,E=this._createEncoderBuffer(J.map(function(C){let L=this._baseState;return this._getUse(L.args[0],J)._encode(C,F)},D))}else H.use!==null?W=this._getUse(H.use,A)._encode(J,F):(E=this._encodePrimitive(H.tag,J),T=!0);if(!H.any&&H.choice===null){let D=H.implicit!==null?H.implicit:H.tag,C=H.implicit===null?"universal":"context";D===null?H.use===null&&F.error("Tag could be omitted only for .use()"):H.use===null&&(W=this._encodeComposite(D,T,C,E))}return H.explicit!==null&&(W=this._encodeComposite(H.explicit,!1,"context",W)),W},I.prototype._encodeChoice=function(J,F){let A=this._baseState,H=A.choice[J.type];return H||V(!1,J.type+" not found in "+JSON.stringify(Object.keys(A.choice))),H._encode(J.value,F)},I.prototype._encodePrimitive=function(J,F){let A=this._baseState;if(/str$/.test(J))return this._encodeStr(F,J);if(J==="objid"&&A.args)return this._encodeObjid(F,A.reverseArgs[0],A.args[1]);if(J==="objid")return this._encodeObjid(F,null,null);if(J==="gentime"||J==="utctime")return this._encodeTime(F,J);if(J==="null_")return this._encodeNull();if(J==="int"||J==="enum")return this._encodeInt(F,A.args&&A.reverseArgs[0]);if(J==="bool")return this._encodeBool(F);if(J==="objDesc")return this._encodeStr(F,J);throw new Error("Unsupported tag: "+J)},I.prototype._isNumstr=function(J){return/^[0-9 ]*$/.test(J)},I.prototype._isPrintstr=function(J){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(J)}}}),PY=q$({"node_modules/asn1.js/lib/asn1/constants/der.js"($){function Q(Y){let Z={};return Object.keys(Y).forEach(function(G){(G|0)==G&&(G=G|0);let V=Y[G];Z[V]=G}),Z}$.tagClass={0:"universal",1:"application",2:"context",3:"private"},$.tagClassByName=Q($.tagClass),$.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"},$.tagByName=Q($.tag)}}),zY=q$({"node_modules/asn1.js/lib/asn1/encoders/der.js"($,Q){var Y=_$(),Z=CY().Buffer,G=RY(),V=PY();function U(O){this.enc="der",this.name=O.name,this.entity=O,this.tree=new X,this.tree._init(O.body)}Q.exports=U,U.prototype.encode=function(O,J){return this.tree._encode(O,J).join()};function X(O){G.call(this,"der",O)}Y(X,G),X.prototype._encodeComposite=function(O,J,F,A){let H=I(O,J,F,this.reporter);if(A.length<128){let T=Z.alloc(2);return T[0]=H,T[1]=A.length,this._createEncoderBuffer([T,A])}let W=1;for(let T=A.length;T>=256;T>>=8)W++;let E=Z.alloc(2+W);E[0]=H,E[1]=128|W;for(let T=1+W,D=A.length;D>0;T--,D>>=8)E[T]=D&255;return this._createEncoderBuffer([E,A])},X.prototype._encodeStr=function(O,J){if(J==="bitstr")return this._createEncoderBuffer([O.unused|0,O.data]);if(J==="bmpstr"){let F=Z.alloc(O.length*2);for(let A=0;A=40)return this.reporter.error("Second objid identifier OOB");O.splice(0,2,O[0]*40+O[1])}let A=0;for(let E=0;E=128;T>>=7)A++}let H=Z.alloc(A),W=H.length-1;for(let E=O.length-1;E>=0;E--){let T=O[E];for(H[W--]=T&127;(T>>=7)>0;)H[W--]=128|T&127}return this._createEncoderBuffer(H)};function K(O){return O<10?"0"+O:O}X.prototype._encodeTime=function(O,J){let F,A=new Date(O);return J==="gentime"?F=[K(A.getUTCFullYear()),K(A.getUTCMonth()+1),K(A.getUTCDate()),K(A.getUTCHours()),K(A.getUTCMinutes()),K(A.getUTCSeconds()),"Z"].join(""):J==="utctime"?F=[K(A.getUTCFullYear()%100),K(A.getUTCMonth()+1),K(A.getUTCDate()),K(A.getUTCHours()),K(A.getUTCMinutes()),K(A.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+J+" time is not supported yet"),this._encodeStr(F,"octstr")},X.prototype._encodeNull=function(){return this._createEncoderBuffer("")},X.prototype._encodeInt=function(O,J){if(typeof O=="string"){if(!J)return this.reporter.error("String int or enum given, but no values map");if(!J.hasOwnProperty(O))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(O));O=J[O]}if(typeof O!="number"&&!Z.isBuffer(O)){let H=O.toArray();!O.sign&&H[0]&128&&H.unshift(0),O=Z.from(H)}if(Z.isBuffer(O)){let H=O.length;O.length===0&&H++;let W=Z.alloc(H);return O.copy(W),O.length===0&&(W[0]=0),this._createEncoderBuffer(W)}if(O<128)return this._createEncoderBuffer(O);if(O<256)return this._createEncoderBuffer([0,O]);let F=1;for(let H=O;H>=256;H>>=8)F++;let A=new Array(F);for(let H=A.length-1;H>=0;H--)A[H]=O&255,O>>=8;return A[0]&128&&A.unshift(0),this._createEncoderBuffer(Z.from(A))},X.prototype._encodeBool=function(O){return this._createEncoderBuffer(O?255:0)},X.prototype._use=function(O,J){return typeof O=="function"&&(O=O(J)),O._getEncoder("der").tree},X.prototype._skipDefault=function(O,J,F){let A=this._baseState,H;if(A.default===null)return!1;let W=O.join();if(A.defaultBuffer===void 0&&(A.defaultBuffer=this._encodeValue(A.default,J,F).join()),W.length!==A.defaultBuffer.length)return!1;for(H=0;H=31?A.error("Multi-octet tag encoding unsupported"):(J||(H|=32),H|=V.tagClassByName[F||"universal"]<<6,H)}}}),MY=q$({"node_modules/asn1.js/lib/asn1/encoders/pem.js"($,Q){var Y=_$(),Z=zY();function G(V){Z.call(this,V),this.enc="pem"}Y(G,Z),Q.exports=G,G.prototype.encode=function(V,U){let X=Z.prototype.encode.call(this,V).toString("base64"),K=["-----BEGIN "+U.label+"-----"];for(let I=0;I>6],W=(A&32)===0;if((A&31)===31){let T=A;for(A=0;(T&128)===128;){if(T=J.readUInt8(F),J.isError(T))return T;A<<=7,A|=T&127}}else A&=31;let E=U.tag[A];return{cls:H,primitive:W,tag:A,tagStr:E}}function O(J,F,A){let H=J.readUInt8(A);if(J.isError(H))return H;if(!F&&H===128)return null;if((H&128)===0)return H;let W=H&127;if(W>4)return J.error("length octect is too long");H=0;for(let E=0;E0&&L.ishrn(R),L}function W(D,C){D=H(D,C),D=D.mod(C);var L=Y.from(D.toArray());if(L.length=F)throw new Error("invalid sig")}Q.exports=X}}),dY=q$({"node_modules/browserify-sign/browser/index.js"($,Q){var Y=k$().Buffer,Z=o$(),G=_$(),V=cY(),U=hY(),X=t$();Object.keys(X).forEach(function(F){X[F].id=Y.from(X[F].id,"hex"),X[F.toLowerCase()]=X[F]});function K(F){A$.Writable.call(this);var A=X[F];if(!A)throw new Error("Unknown message digest");this._hashType=A.hash,this._hash=Z(A.hash),this._tag=A.id,this._signType=A.sign}G(K,A$.Writable),K.prototype._write=function(F,A,H){this._hash.update(F),H()},K.prototype.update=function(F,A){return typeof F=="string"&&(F=Y.from(F,A)),this._hash.update(F),this},K.prototype.sign=function(F,A){this.end();var H=this._hash.digest(),W=V(H,F,this._hashType,this._signType,this._tag);return A?W.toString(A):W};function I(F){A$.Writable.call(this);var A=X[F];if(!A)throw new Error("Unknown message digest");this._hash=Z(A.hash),this._tag=A.id,this._signType=A.sign}G(I,A$.Writable),I.prototype._write=function(F,A,H){this._hash.update(F),H()},I.prototype.update=function(F,A){return typeof F=="string"&&(F=Y.from(F,A)),this._hash.update(F),this},I.prototype.verify=function(F,A,H){typeof A=="string"&&(A=Y.from(A,H)),this.end();var W=this._hash.digest();return U(A,W,F,this._signType,this._tag)};function O(F){return new K(F)}function J(F){return new I(F)}Q.exports={Sign:O,Verify:J,createSign:O,createVerify:J}}}),bY=q$({"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js"($,Q){(function(Y,Z){function G(j,k){if(!j)throw new Error(k||"Assertion failed")}function V(j,k){j.super_=k;var g=function(){};g.prototype=k.prototype,j.prototype=new g,j.prototype.constructor=j}function U(j,k,g){if(U.isBN(j))return j;this.negative=0,this.words=null,this.length=0,this.red=null,j!==null&&((k==="le"||k==="be")&&(g=k,k=10),this._init(j||0,k||10,g||"be"))}typeof Y=="object"?Y.exports=U:Z.BN=U,U.BN=U,U.wordSize=26;var X=F$;U.isBN=function(j){return j instanceof U?!0:j!==null&&typeof j=="object"&&j.constructor.wordSize===U.wordSize&&Array.isArray(j.words)},U.max=function(j,k){return j.cmp(k)>0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),lY=q$({"node_modules/create-ecdh/browser.js"($,Q){var Y=TY(),Z=bY();Q.exports=function(X){return new V(X)};var G={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}};G.p224=G.secp224r1,G.p256=G.secp256r1=G.prime256v1,G.p192=G.secp192r1=G.prime192v1,G.p384=G.secp384r1,G.p521=G.secp521r1;function V(X){this.curveType=G[X],this.curveType||(this.curveType={name:X}),this.curve=new Y.ec(this.curveType.name),this.keys=void 0}V.prototype.generateKeys=function(X,K){return this.keys=this.curve.genKeyPair(),this.getPublicKey(X,K)},V.prototype.computeSecret=function(X,K,I){K=K||"utf8",F$.isBuffer(X)||(X=new F$(X,K));var O=this.curve.keyFromPublic(X).getPublic(),J=O.mul(this.keys.getPrivate()).getX();return U(J,I,this.curveType.byteLength)},V.prototype.getPublicKey=function(X,K){var I=this.keys.getPublic(K==="compressed",!0);return K==="hybrid"&&(I[I.length-1]%2?I[0]=7:I[0]=6),U(I,X)},V.prototype.getPrivateKey=function(X){return U(this.keys.getPrivate(),X)},V.prototype.setPublicKey=function(X,K){return K=K||"utf8",F$.isBuffer(X)||(X=new F$(X,K)),this.keys._importPublic(X),this},V.prototype.setPrivateKey=function(X,K){K=K||"utf8",F$.isBuffer(X)||(X=new F$(X,K));var I=new Z(X);return I=I.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(I),this};function U(X,K,I){Array.isArray(X)||(X=X.toArray());var O=new F$(X);if(I&&O.length0?j:k},U.min=function(j,k){return j.cmp(k)<0?j:k},U.prototype._init=function(j,k,g){if(typeof j=="number")return this._initNumber(j,k,g);if(typeof j=="object")return this._initArray(j,k,g);k==="hex"&&(k=16),G(k===(k|0)&&k>=2&&k<=36),j=j.toString().replace(/\s+/g,"");var _=0;j[0]==="-"&&(_++,this.negative=1),_=0;_-=3)x=j[_]|j[_-1]<<8|j[_-2]<<16,this.words[N]|=x<>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);else if(g==="le")for(_=0,N=0;_>>26-B&67108863,B+=24,B>=26&&(B-=26,N++);return this.strip()};function K(j,k){var g=j.charCodeAt(k);return g>=65&&g<=70?g-55:g>=97&&g<=102?g-87:g-48&15}function I(j,k,g){var _=K(j,g);return g-1>=k&&(_|=K(j,g-1)<<4),_}U.prototype._parseHex=function(j,k,g){this.length=Math.ceil((j.length-k)/6),this.words=new Array(this.length);for(var _=0;_=k;_-=2)B=I(j,k,_)<=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8;else{var y=j.length-k;for(_=y%2===0?k+1:k;_=18?(N-=18,x+=1,this.words[x]|=B>>>26):N+=8}this.strip()};function O(j,k,g,_){for(var N=0,x=Math.min(j.length,g),B=k;B=49?N+=y-49+10:y>=17?N+=y-17+10:N+=y}return N}U.prototype._parseBase=function(j,k,g){this.words=[0],this.length=1;for(var _=0,N=1;N<=67108863;N*=k)_++;_--,N=N/k|0;for(var x=j.length-g,B=x%_,y=Math.min(x,x-B)+g,w=0,p=g;p1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},U.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},U.prototype.inspect=function(){return(this.red?""};var J=["","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"],F=[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],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];U.prototype.toString=function(j,k){j=j||10,k=k|0||1;var g;if(j===16||j==="hex"){g="";for(var _=0,N=0,x=0;x>>24-_&16777215,N!==0||x!==this.length-1?g=J[6-y.length]+y+g:g=y+g,_+=2,_>=26&&(_-=26,x--)}for(N!==0&&(g=N.toString(16)+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(j===(j|0)&&j>=2&&j<=36){var w=F[j],p=A[j];g="";var f=this.clone();for(f.negative=0;!f.isZero();){var c=f.modn(p).toString(j);f=f.idivn(p),f.isZero()?g=c+g:g=J[w-c.length]+c+g}for(this.isZero()&&(g="0"+g);g.length%k!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}G(!1,"Base should be between 2 and 36")},U.prototype.toNumber=function(){var j=this.words[0];return this.length===2?j+=this.words[1]*67108864:this.length===3&&this.words[2]===1?j+=4503599627370496+this.words[1]*67108864:this.length>2&&G(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-j:j},U.prototype.toJSON=function(){return this.toString(16)},U.prototype.toBuffer=function(j,k){return G(typeof X<"u"),this.toArrayLike(X,j,k)},U.prototype.toArray=function(j,k){return this.toArrayLike(Array,j,k)},U.prototype.toArrayLike=function(j,k,g){var _=this.byteLength(),N=g||Math.max(1,_);G(_<=N,"byte array longer than desired length"),G(N>0,"Requested array length <= 0"),this.strip();var x=k==="le",B=new j(N),y,w,p=this.clone();if(x){for(w=0;!p.isZero();w++)y=p.andln(255),p.iushrn(8),B[w]=y;for(;w=4096&&(g+=13,k>>>=13),k>=64&&(g+=7,k>>>=7),k>=8&&(g+=4,k>>>=4),k>=2&&(g+=2,k>>>=2),g+k},U.prototype._zeroBits=function(j){if(j===0)return 26;var k=j,g=0;return(k&8191)===0&&(g+=13,k>>>=13),(k&127)===0&&(g+=7,k>>>=7),(k&15)===0&&(g+=4,k>>>=4),(k&3)===0&&(g+=2,k>>>=2),(k&1)===0&&g++,g},U.prototype.bitLength=function(){var j=this.words[this.length-1],k=this._countBits(j);return(this.length-1)*26+k};function H(j){for(var k=new Array(j.bitLength()),g=0;g>>N}return k}U.prototype.zeroBits=function(){if(this.isZero())return 0;for(var j=0,k=0;kj.length?this.clone().ior(j):j.clone().ior(this)},U.prototype.uor=function(j){return this.length>j.length?this.clone().iuor(j):j.clone().iuor(this)},U.prototype.iuand=function(j){var k;this.length>j.length?k=j:k=this;for(var g=0;gj.length?this.clone().iand(j):j.clone().iand(this)},U.prototype.uand=function(j){return this.length>j.length?this.clone().iuand(j):j.clone().iuand(this)},U.prototype.iuxor=function(j){var k,g;this.length>j.length?(k=this,g=j):(k=j,g=this);for(var _=0;_j.length?this.clone().ixor(j):j.clone().ixor(this)},U.prototype.uxor=function(j){return this.length>j.length?this.clone().iuxor(j):j.clone().iuxor(this)},U.prototype.inotn=function(j){G(typeof j=="number"&&j>=0);var k=Math.ceil(j/26)|0,g=j%26;this._expand(k),g>0&&k--;for(var _=0;_0&&(this.words[_]=~this.words[_]&67108863>>26-g),this.strip()},U.prototype.notn=function(j){return this.clone().inotn(j)},U.prototype.setn=function(j,k){G(typeof j=="number"&&j>=0);var g=j/26|0,_=j%26;return this._expand(g+1),k?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this.strip()},U.prototype.iadd=function(j){var k;if(this.negative!==0&&j.negative===0)return this.negative=0,k=this.isub(j),this.negative^=1,this._normSign();if(this.negative===0&&j.negative!==0)return j.negative=0,k=this.isub(j),j.negative=1,k._normSign();var g,_;this.length>j.length?(g=this,_=j):(g=j,_=this);for(var N=0,x=0;x<_.length;x++)k=(g.words[x]|0)+(_.words[x]|0)+N,this.words[x]=k&67108863,N=k>>>26;for(;N!==0&&x>>26;if(this.length=g.length,N!==0)this.words[this.length]=N,this.length++;else if(g!==this)for(;xj.length?this.clone().iadd(j):j.clone().iadd(this)},U.prototype.isub=function(j){if(j.negative!==0){j.negative=0;var k=this.iadd(j);return j.negative=1,k._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(j),this.negative=1,this._normSign();var g=this.cmp(j);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,N;g>0?(_=this,N=j):(_=j,N=this);for(var x=0,B=0;B>26,this.words[B]=k&67108863;for(;x!==0&&B<_.length;B++)k=(_.words[B]|0)+x,x=k>>26,this.words[B]=k&67108863;if(x===0&&B<_.length&&_!==this)for(;B<_.length;B++)this.words[B]=_.words[B];return this.length=Math.max(this.length,B),_!==this&&(this.negative=1),this.strip()},U.prototype.sub=function(j){return this.clone().isub(j)};function W(j,k,g){g.negative=k.negative^j.negative;var _=j.length+k.length|0;g.length=_,_=_-1|0;var N=j.words[0]|0,x=k.words[0]|0,B=N*x,y=B&67108863,w=B/67108864|0;g.words[0]=y;for(var p=1;p<_;p++){for(var f=w>>>26,c=w&67108863,h=Math.min(p,k.length-1),d=Math.max(0,p-j.length+1);d<=h;d++){var b=p-d|0;N=j.words[b]|0,x=k.words[d]|0,B=N*x+c,f+=B/67108864|0,c=B&67108863}g.words[p]=c|0,w=f|0}return w!==0?g.words[p]=w|0:g.length--,g.strip()}var E=function(j,k,g){var _=j.words,N=k.words,x=g.words,B=0,y,w,p,f=_[0]|0,c=f&8191,h=f>>>13,d=_[1]|0,b=d&8191,l=d>>>13,o=_[2]|0,u=o&8191,n=o>>>13,s=_[3]|0,t=s&8191,m=s>>>13,a=_[4]|0,e=a&8191,r=a>>>13,i=_[5]|0,$0=i&8191,Q0=i>>>13,Y0=_[6]|0,Z0=Y0&8191,G0=Y0>>>13,V0=_[7]|0,U0=V0&8191,X0=V0>>>13,K0=_[8]|0,I0=K0&8191,O0=K0>>>13,J0=_[9]|0,F0=J0&8191,A0=J0>>>13,H0=N[0]|0,W0=H0&8191,E0=H0>>>13,T0=N[1]|0,D0=T0&8191,C0=T0>>>13,L0=N[2]|0,R0=L0&8191,P0=L0>>>13,z0=N[3]|0,M0=z0&8191,S0=z0>>>13,v0=N[4]|0,q0=v0&8191,j0=v0>>>13,k0=N[5]|0,g0=k0&8191,_0=k0>>>13,N0=N[6]|0,x0=N0&8191,B0=N0>>>13,y0=N[7]|0,w0=y0&8191,p0=y0>>>13,f0=N[8]|0,c0=f0&8191,h0=f0>>>13,d0=N[9]|0,b0=d0&8191,l0=d0>>>13;g.negative=j.negative^k.negative,g.length=19,y=Math.imul(c,W0),w=Math.imul(c,E0),w=w+Math.imul(h,W0)|0,p=Math.imul(h,E0);var o0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(o0>>>26)|0,o0&=67108863,y=Math.imul(b,W0),w=Math.imul(b,E0),w=w+Math.imul(l,W0)|0,p=Math.imul(l,E0),y=y+Math.imul(c,D0)|0,w=w+Math.imul(c,C0)|0,w=w+Math.imul(h,D0)|0,p=p+Math.imul(h,C0)|0;var u0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(u0>>>26)|0,u0&=67108863,y=Math.imul(u,W0),w=Math.imul(u,E0),w=w+Math.imul(n,W0)|0,p=Math.imul(n,E0),y=y+Math.imul(b,D0)|0,w=w+Math.imul(b,C0)|0,w=w+Math.imul(l,D0)|0,p=p+Math.imul(l,C0)|0,y=y+Math.imul(c,R0)|0,w=w+Math.imul(c,P0)|0,w=w+Math.imul(h,R0)|0,p=p+Math.imul(h,P0)|0;var n0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(n0>>>26)|0,n0&=67108863,y=Math.imul(t,W0),w=Math.imul(t,E0),w=w+Math.imul(m,W0)|0,p=Math.imul(m,E0),y=y+Math.imul(u,D0)|0,w=w+Math.imul(u,C0)|0,w=w+Math.imul(n,D0)|0,p=p+Math.imul(n,C0)|0,y=y+Math.imul(b,R0)|0,w=w+Math.imul(b,P0)|0,w=w+Math.imul(l,R0)|0,p=p+Math.imul(l,P0)|0,y=y+Math.imul(c,M0)|0,w=w+Math.imul(c,S0)|0,w=w+Math.imul(h,M0)|0,p=p+Math.imul(h,S0)|0;var s0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(s0>>>26)|0,s0&=67108863,y=Math.imul(e,W0),w=Math.imul(e,E0),w=w+Math.imul(r,W0)|0,p=Math.imul(r,E0),y=y+Math.imul(t,D0)|0,w=w+Math.imul(t,C0)|0,w=w+Math.imul(m,D0)|0,p=p+Math.imul(m,C0)|0,y=y+Math.imul(u,R0)|0,w=w+Math.imul(u,P0)|0,w=w+Math.imul(n,R0)|0,p=p+Math.imul(n,P0)|0,y=y+Math.imul(b,M0)|0,w=w+Math.imul(b,S0)|0,w=w+Math.imul(l,M0)|0,p=p+Math.imul(l,S0)|0,y=y+Math.imul(c,q0)|0,w=w+Math.imul(c,j0)|0,w=w+Math.imul(h,q0)|0,p=p+Math.imul(h,j0)|0;var t0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(t0>>>26)|0,t0&=67108863,y=Math.imul($0,W0),w=Math.imul($0,E0),w=w+Math.imul(Q0,W0)|0,p=Math.imul(Q0,E0),y=y+Math.imul(e,D0)|0,w=w+Math.imul(e,C0)|0,w=w+Math.imul(r,D0)|0,p=p+Math.imul(r,C0)|0,y=y+Math.imul(t,R0)|0,w=w+Math.imul(t,P0)|0,w=w+Math.imul(m,R0)|0,p=p+Math.imul(m,P0)|0,y=y+Math.imul(u,M0)|0,w=w+Math.imul(u,S0)|0,w=w+Math.imul(n,M0)|0,p=p+Math.imul(n,S0)|0,y=y+Math.imul(b,q0)|0,w=w+Math.imul(b,j0)|0,w=w+Math.imul(l,q0)|0,p=p+Math.imul(l,j0)|0,y=y+Math.imul(c,g0)|0,w=w+Math.imul(c,_0)|0,w=w+Math.imul(h,g0)|0,p=p+Math.imul(h,_0)|0;var m0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(m0>>>26)|0,m0&=67108863,y=Math.imul(Z0,W0),w=Math.imul(Z0,E0),w=w+Math.imul(G0,W0)|0,p=Math.imul(G0,E0),y=y+Math.imul($0,D0)|0,w=w+Math.imul($0,C0)|0,w=w+Math.imul(Q0,D0)|0,p=p+Math.imul(Q0,C0)|0,y=y+Math.imul(e,R0)|0,w=w+Math.imul(e,P0)|0,w=w+Math.imul(r,R0)|0,p=p+Math.imul(r,P0)|0,y=y+Math.imul(t,M0)|0,w=w+Math.imul(t,S0)|0,w=w+Math.imul(m,M0)|0,p=p+Math.imul(m,S0)|0,y=y+Math.imul(u,q0)|0,w=w+Math.imul(u,j0)|0,w=w+Math.imul(n,q0)|0,p=p+Math.imul(n,j0)|0,y=y+Math.imul(b,g0)|0,w=w+Math.imul(b,_0)|0,w=w+Math.imul(l,g0)|0,p=p+Math.imul(l,_0)|0,y=y+Math.imul(c,x0)|0,w=w+Math.imul(c,B0)|0,w=w+Math.imul(h,x0)|0,p=p+Math.imul(h,B0)|0;var a0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(a0>>>26)|0,a0&=67108863,y=Math.imul(U0,W0),w=Math.imul(U0,E0),w=w+Math.imul(X0,W0)|0,p=Math.imul(X0,E0),y=y+Math.imul(Z0,D0)|0,w=w+Math.imul(Z0,C0)|0,w=w+Math.imul(G0,D0)|0,p=p+Math.imul(G0,C0)|0,y=y+Math.imul($0,R0)|0,w=w+Math.imul($0,P0)|0,w=w+Math.imul(Q0,R0)|0,p=p+Math.imul(Q0,P0)|0,y=y+Math.imul(e,M0)|0,w=w+Math.imul(e,S0)|0,w=w+Math.imul(r,M0)|0,p=p+Math.imul(r,S0)|0,y=y+Math.imul(t,q0)|0,w=w+Math.imul(t,j0)|0,w=w+Math.imul(m,q0)|0,p=p+Math.imul(m,j0)|0,y=y+Math.imul(u,g0)|0,w=w+Math.imul(u,_0)|0,w=w+Math.imul(n,g0)|0,p=p+Math.imul(n,_0)|0,y=y+Math.imul(b,x0)|0,w=w+Math.imul(b,B0)|0,w=w+Math.imul(l,x0)|0,p=p+Math.imul(l,B0)|0,y=y+Math.imul(c,w0)|0,w=w+Math.imul(c,p0)|0,w=w+Math.imul(h,w0)|0,p=p+Math.imul(h,p0)|0;var e0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(e0>>>26)|0,e0&=67108863,y=Math.imul(I0,W0),w=Math.imul(I0,E0),w=w+Math.imul(O0,W0)|0,p=Math.imul(O0,E0),y=y+Math.imul(U0,D0)|0,w=w+Math.imul(U0,C0)|0,w=w+Math.imul(X0,D0)|0,p=p+Math.imul(X0,C0)|0,y=y+Math.imul(Z0,R0)|0,w=w+Math.imul(Z0,P0)|0,w=w+Math.imul(G0,R0)|0,p=p+Math.imul(G0,P0)|0,y=y+Math.imul($0,M0)|0,w=w+Math.imul($0,S0)|0,w=w+Math.imul(Q0,M0)|0,p=p+Math.imul(Q0,S0)|0,y=y+Math.imul(e,q0)|0,w=w+Math.imul(e,j0)|0,w=w+Math.imul(r,q0)|0,p=p+Math.imul(r,j0)|0,y=y+Math.imul(t,g0)|0,w=w+Math.imul(t,_0)|0,w=w+Math.imul(m,g0)|0,p=p+Math.imul(m,_0)|0,y=y+Math.imul(u,x0)|0,w=w+Math.imul(u,B0)|0,w=w+Math.imul(n,x0)|0,p=p+Math.imul(n,B0)|0,y=y+Math.imul(b,w0)|0,w=w+Math.imul(b,p0)|0,w=w+Math.imul(l,w0)|0,p=p+Math.imul(l,p0)|0,y=y+Math.imul(c,c0)|0,w=w+Math.imul(c,h0)|0,w=w+Math.imul(h,c0)|0,p=p+Math.imul(h,h0)|0;var r0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(r0>>>26)|0,r0&=67108863,y=Math.imul(F0,W0),w=Math.imul(F0,E0),w=w+Math.imul(A0,W0)|0,p=Math.imul(A0,E0),y=y+Math.imul(I0,D0)|0,w=w+Math.imul(I0,C0)|0,w=w+Math.imul(O0,D0)|0,p=p+Math.imul(O0,C0)|0,y=y+Math.imul(U0,R0)|0,w=w+Math.imul(U0,P0)|0,w=w+Math.imul(X0,R0)|0,p=p+Math.imul(X0,P0)|0,y=y+Math.imul(Z0,M0)|0,w=w+Math.imul(Z0,S0)|0,w=w+Math.imul(G0,M0)|0,p=p+Math.imul(G0,S0)|0,y=y+Math.imul($0,q0)|0,w=w+Math.imul($0,j0)|0,w=w+Math.imul(Q0,q0)|0,p=p+Math.imul(Q0,j0)|0,y=y+Math.imul(e,g0)|0,w=w+Math.imul(e,_0)|0,w=w+Math.imul(r,g0)|0,p=p+Math.imul(r,_0)|0,y=y+Math.imul(t,x0)|0,w=w+Math.imul(t,B0)|0,w=w+Math.imul(m,x0)|0,p=p+Math.imul(m,B0)|0,y=y+Math.imul(u,w0)|0,w=w+Math.imul(u,p0)|0,w=w+Math.imul(n,w0)|0,p=p+Math.imul(n,p0)|0,y=y+Math.imul(b,c0)|0,w=w+Math.imul(b,h0)|0,w=w+Math.imul(l,c0)|0,p=p+Math.imul(l,h0)|0,y=y+Math.imul(c,b0)|0,w=w+Math.imul(c,l0)|0,w=w+Math.imul(h,b0)|0,p=p+Math.imul(h,l0)|0;var i0=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(i0>>>26)|0,i0&=67108863,y=Math.imul(F0,D0),w=Math.imul(F0,C0),w=w+Math.imul(A0,D0)|0,p=Math.imul(A0,C0),y=y+Math.imul(I0,R0)|0,w=w+Math.imul(I0,P0)|0,w=w+Math.imul(O0,R0)|0,p=p+Math.imul(O0,P0)|0,y=y+Math.imul(U0,M0)|0,w=w+Math.imul(U0,S0)|0,w=w+Math.imul(X0,M0)|0,p=p+Math.imul(X0,S0)|0,y=y+Math.imul(Z0,q0)|0,w=w+Math.imul(Z0,j0)|0,w=w+Math.imul(G0,q0)|0,p=p+Math.imul(G0,j0)|0,y=y+Math.imul($0,g0)|0,w=w+Math.imul($0,_0)|0,w=w+Math.imul(Q0,g0)|0,p=p+Math.imul(Q0,_0)|0,y=y+Math.imul(e,x0)|0,w=w+Math.imul(e,B0)|0,w=w+Math.imul(r,x0)|0,p=p+Math.imul(r,B0)|0,y=y+Math.imul(t,w0)|0,w=w+Math.imul(t,p0)|0,w=w+Math.imul(m,w0)|0,p=p+Math.imul(m,p0)|0,y=y+Math.imul(u,c0)|0,w=w+Math.imul(u,h0)|0,w=w+Math.imul(n,c0)|0,p=p+Math.imul(n,h0)|0,y=y+Math.imul(b,b0)|0,w=w+Math.imul(b,l0)|0,w=w+Math.imul(l,b0)|0,p=p+Math.imul(l,l0)|0;var $$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+($$>>>26)|0,$$&=67108863,y=Math.imul(F0,R0),w=Math.imul(F0,P0),w=w+Math.imul(A0,R0)|0,p=Math.imul(A0,P0),y=y+Math.imul(I0,M0)|0,w=w+Math.imul(I0,S0)|0,w=w+Math.imul(O0,M0)|0,p=p+Math.imul(O0,S0)|0,y=y+Math.imul(U0,q0)|0,w=w+Math.imul(U0,j0)|0,w=w+Math.imul(X0,q0)|0,p=p+Math.imul(X0,j0)|0,y=y+Math.imul(Z0,g0)|0,w=w+Math.imul(Z0,_0)|0,w=w+Math.imul(G0,g0)|0,p=p+Math.imul(G0,_0)|0,y=y+Math.imul($0,x0)|0,w=w+Math.imul($0,B0)|0,w=w+Math.imul(Q0,x0)|0,p=p+Math.imul(Q0,B0)|0,y=y+Math.imul(e,w0)|0,w=w+Math.imul(e,p0)|0,w=w+Math.imul(r,w0)|0,p=p+Math.imul(r,p0)|0,y=y+Math.imul(t,c0)|0,w=w+Math.imul(t,h0)|0,w=w+Math.imul(m,c0)|0,p=p+Math.imul(m,h0)|0,y=y+Math.imul(u,b0)|0,w=w+Math.imul(u,l0)|0,w=w+Math.imul(n,b0)|0,p=p+Math.imul(n,l0)|0;var Q$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,y=Math.imul(F0,M0),w=Math.imul(F0,S0),w=w+Math.imul(A0,M0)|0,p=Math.imul(A0,S0),y=y+Math.imul(I0,q0)|0,w=w+Math.imul(I0,j0)|0,w=w+Math.imul(O0,q0)|0,p=p+Math.imul(O0,j0)|0,y=y+Math.imul(U0,g0)|0,w=w+Math.imul(U0,_0)|0,w=w+Math.imul(X0,g0)|0,p=p+Math.imul(X0,_0)|0,y=y+Math.imul(Z0,x0)|0,w=w+Math.imul(Z0,B0)|0,w=w+Math.imul(G0,x0)|0,p=p+Math.imul(G0,B0)|0,y=y+Math.imul($0,w0)|0,w=w+Math.imul($0,p0)|0,w=w+Math.imul(Q0,w0)|0,p=p+Math.imul(Q0,p0)|0,y=y+Math.imul(e,c0)|0,w=w+Math.imul(e,h0)|0,w=w+Math.imul(r,c0)|0,p=p+Math.imul(r,h0)|0,y=y+Math.imul(t,b0)|0,w=w+Math.imul(t,l0)|0,w=w+Math.imul(m,b0)|0,p=p+Math.imul(m,l0)|0;var Y$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Y$>>>26)|0,Y$&=67108863,y=Math.imul(F0,q0),w=Math.imul(F0,j0),w=w+Math.imul(A0,q0)|0,p=Math.imul(A0,j0),y=y+Math.imul(I0,g0)|0,w=w+Math.imul(I0,_0)|0,w=w+Math.imul(O0,g0)|0,p=p+Math.imul(O0,_0)|0,y=y+Math.imul(U0,x0)|0,w=w+Math.imul(U0,B0)|0,w=w+Math.imul(X0,x0)|0,p=p+Math.imul(X0,B0)|0,y=y+Math.imul(Z0,w0)|0,w=w+Math.imul(Z0,p0)|0,w=w+Math.imul(G0,w0)|0,p=p+Math.imul(G0,p0)|0,y=y+Math.imul($0,c0)|0,w=w+Math.imul($0,h0)|0,w=w+Math.imul(Q0,c0)|0,p=p+Math.imul(Q0,h0)|0,y=y+Math.imul(e,b0)|0,w=w+Math.imul(e,l0)|0,w=w+Math.imul(r,b0)|0,p=p+Math.imul(r,l0)|0;var Z$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(Z$>>>26)|0,Z$&=67108863,y=Math.imul(F0,g0),w=Math.imul(F0,_0),w=w+Math.imul(A0,g0)|0,p=Math.imul(A0,_0),y=y+Math.imul(I0,x0)|0,w=w+Math.imul(I0,B0)|0,w=w+Math.imul(O0,x0)|0,p=p+Math.imul(O0,B0)|0,y=y+Math.imul(U0,w0)|0,w=w+Math.imul(U0,p0)|0,w=w+Math.imul(X0,w0)|0,p=p+Math.imul(X0,p0)|0,y=y+Math.imul(Z0,c0)|0,w=w+Math.imul(Z0,h0)|0,w=w+Math.imul(G0,c0)|0,p=p+Math.imul(G0,h0)|0,y=y+Math.imul($0,b0)|0,w=w+Math.imul($0,l0)|0,w=w+Math.imul(Q0,b0)|0,p=p+Math.imul(Q0,l0)|0;var G$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(G$>>>26)|0,G$&=67108863,y=Math.imul(F0,x0),w=Math.imul(F0,B0),w=w+Math.imul(A0,x0)|0,p=Math.imul(A0,B0),y=y+Math.imul(I0,w0)|0,w=w+Math.imul(I0,p0)|0,w=w+Math.imul(O0,w0)|0,p=p+Math.imul(O0,p0)|0,y=y+Math.imul(U0,c0)|0,w=w+Math.imul(U0,h0)|0,w=w+Math.imul(X0,c0)|0,p=p+Math.imul(X0,h0)|0,y=y+Math.imul(Z0,b0)|0,w=w+Math.imul(Z0,l0)|0,w=w+Math.imul(G0,b0)|0,p=p+Math.imul(G0,l0)|0;var V$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(V$>>>26)|0,V$&=67108863,y=Math.imul(F0,w0),w=Math.imul(F0,p0),w=w+Math.imul(A0,w0)|0,p=Math.imul(A0,p0),y=y+Math.imul(I0,c0)|0,w=w+Math.imul(I0,h0)|0,w=w+Math.imul(O0,c0)|0,p=p+Math.imul(O0,h0)|0,y=y+Math.imul(U0,b0)|0,w=w+Math.imul(U0,l0)|0,w=w+Math.imul(X0,b0)|0,p=p+Math.imul(X0,l0)|0;var U$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(U$>>>26)|0,U$&=67108863,y=Math.imul(F0,c0),w=Math.imul(F0,h0),w=w+Math.imul(A0,c0)|0,p=Math.imul(A0,h0),y=y+Math.imul(I0,b0)|0,w=w+Math.imul(I0,l0)|0,w=w+Math.imul(O0,b0)|0,p=p+Math.imul(O0,l0)|0;var X$=(B+y|0)+((w&8191)<<13)|0;B=(p+(w>>>13)|0)+(X$>>>26)|0,X$&=67108863,y=Math.imul(F0,b0),w=Math.imul(F0,l0),w=w+Math.imul(A0,b0)|0,p=Math.imul(A0,l0);var K$=(B+y|0)+((w&8191)<<13)|0;return B=(p+(w>>>13)|0)+(K$>>>26)|0,K$&=67108863,x[0]=o0,x[1]=u0,x[2]=n0,x[3]=s0,x[4]=t0,x[5]=m0,x[6]=a0,x[7]=e0,x[8]=r0,x[9]=i0,x[10]=$$,x[11]=Q$,x[12]=Y$,x[13]=Z$,x[14]=G$,x[15]=V$,x[16]=U$,x[17]=X$,x[18]=K$,B!==0&&(x[19]=B,g.length++),g};Math.imul||(E=W);function T(j,k,g){g.negative=k.negative^j.negative,g.length=j.length+k.length;for(var _=0,N=0,x=0;x>>26)|0,N+=B>>>26,B&=67108863}g.words[x]=y,_=B,B=N}return _!==0?g.words[x]=_:g.length--,g.strip()}function D(j,k,g){var _=new C;return _.mulp(j,k,g)}U.prototype.mulTo=function(j,k){var g,_=this.length+j.length;return this.length===10&&j.length===10?g=E(this,j,k):_<63?g=W(this,j,k):_<1024?g=T(this,j,k):g=D(this,j,k),g};function C(j,k){this.x=j,this.y=k}C.prototype.makeRBT=function(j){for(var k=new Array(j),g=U.prototype._countBits(j)-1,_=0;_>=1;return _},C.prototype.permute=function(j,k,g,_,N,x){for(var B=0;B>>1)N++;return 1<>>13,g[2*x+1]=N&8191,N=N>>>13;for(x=2*k;x<_;++x)g[x]=0;G(N===0),G((N&-8192)===0)},C.prototype.stub=function(j){for(var k=new Array(j),g=0;g>=26,k+=_/67108864|0,k+=N>>>26,this.words[g]=N&67108863}return k!==0&&(this.words[g]=k,this.length++),this},U.prototype.muln=function(j){return this.clone().imuln(j)},U.prototype.sqr=function(){return this.mul(this)},U.prototype.isqr=function(){return this.imul(this.clone())},U.prototype.pow=function(j){var k=H(j);if(k.length===0)return new U(1);for(var g=this,_=0;_=0);var k=j%26,g=(j-k)/26,_=67108863>>>26-k<<26-k,N;if(k!==0){var x=0;for(N=0;N>>26-k}x&&(this.words[N]=x,this.length++)}if(g!==0){for(N=this.length-1;N>=0;N--)this.words[N+g]=this.words[N];for(N=0;N=0);var _;k?_=(k-k%26)/26:_=0;var N=j%26,x=Math.min((j-N)/26,this.length),B=67108863^67108863>>>N<x)for(this.length-=x,w=0;w=0&&(p!==0||w>=_);w--){var f=this.words[w]|0;this.words[w]=p<<26-N|f>>>N,p=f&B}return y&&p!==0&&(y.words[y.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},U.prototype.ishrn=function(j,k,g){return G(this.negative===0),this.iushrn(j,k,g)},U.prototype.shln=function(j){return this.clone().ishln(j)},U.prototype.ushln=function(j){return this.clone().iushln(j)},U.prototype.shrn=function(j){return this.clone().ishrn(j)},U.prototype.ushrn=function(j){return this.clone().iushrn(j)},U.prototype.testn=function(j){G(typeof j=="number"&&j>=0);var k=j%26,g=(j-k)/26,_=1<=0);var k=j%26,g=(j-k)/26;if(G(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(k!==0&&g++,this.length=Math.min(g,this.length),k!==0){var _=67108863^67108863>>>k<=67108864;k++)this.words[k]-=67108864,k===this.length-1?this.words[k+1]=1:this.words[k+1]++;return this.length=Math.max(this.length,k+1),this},U.prototype.isubn=function(j){if(G(typeof j=="number"),G(j<67108864),j<0)return this.iaddn(-j);if(this.negative!==0)return this.negative=0,this.iaddn(j),this.negative=1,this;if(this.words[0]-=j,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var k=0;k>26)-(y/67108864|0),this.words[N+g]=x&67108863}for(;N>26,this.words[N+g]=x&67108863;if(B===0)return this.strip();for(G(B===-1),B=0,N=0;N>26,this.words[N]=x&67108863;return this.negative=1,this.strip()},U.prototype._wordDiv=function(j,k){var g=this.length-j.length,_=this.clone(),N=j,x=N.words[N.length-1]|0,B=this._countBits(x);g=26-B,g!==0&&(N=N.ushln(g),_.iushln(g),x=N.words[N.length-1]|0);var y=_.length-N.length,w;if(k!=="mod"){w=new U(null),w.length=y+1,w.words=new Array(w.length);for(var p=0;p=0;c--){var h=(_.words[N.length+c]|0)*67108864+(_.words[N.length+c-1]|0);for(h=Math.min(h/x|0,67108863),_._ishlnsubmul(N,h,c);_.negative!==0;)h--,_.negative=0,_._ishlnsubmul(N,1,c),_.isZero()||(_.negative^=1);w&&(w.words[c]=h)}return w&&w.strip(),_.strip(),k!=="div"&&g!==0&&_.iushrn(g),{div:w||null,mod:_}},U.prototype.divmod=function(j,k,g){if(G(!j.isZero()),this.isZero())return{div:new U(0),mod:new U(0)};var _,N,x;return this.negative!==0&&j.negative===0?(x=this.neg().divmod(j,k),k!=="mod"&&(_=x.div.neg()),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.iadd(j)),{div:_,mod:N}):this.negative===0&&j.negative!==0?(x=this.divmod(j.neg(),k),k!=="mod"&&(_=x.div.neg()),{div:_,mod:x.mod}):(this.negative&j.negative)!==0?(x=this.neg().divmod(j.neg(),k),k!=="div"&&(N=x.mod.neg(),g&&N.negative!==0&&N.isub(j)),{div:x.div,mod:N}):j.length>this.length||this.cmp(j)<0?{div:new U(0),mod:this}:j.length===1?k==="div"?{div:this.divn(j.words[0]),mod:null}:k==="mod"?{div:null,mod:new U(this.modn(j.words[0]))}:{div:this.divn(j.words[0]),mod:new U(this.modn(j.words[0]))}:this._wordDiv(j,k)},U.prototype.div=function(j){return this.divmod(j,"div",!1).div},U.prototype.mod=function(j){return this.divmod(j,"mod",!1).mod},U.prototype.umod=function(j){return this.divmod(j,"mod",!0).mod},U.prototype.divRound=function(j){var k=this.divmod(j);if(k.mod.isZero())return k.div;var g=k.div.negative!==0?k.mod.isub(j):k.mod,_=j.ushrn(1),N=j.andln(1),x=g.cmp(_);return x<0||N===1&&x===0?k.div:k.div.negative!==0?k.div.isubn(1):k.div.iaddn(1)},U.prototype.modn=function(j){G(j<=67108863);for(var k=(1<<26)%j,g=0,_=this.length-1;_>=0;_--)g=(k*g+(this.words[_]|0))%j;return g},U.prototype.idivn=function(j){G(j<=67108863);for(var k=0,g=this.length-1;g>=0;g--){var _=(this.words[g]|0)+k*67108864;this.words[g]=_/j|0,k=_%j}return this.strip()},U.prototype.divn=function(j){return this.clone().idivn(j)},U.prototype.egcd=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=new U(0),B=new U(1),y=0;k.isEven()&&g.isEven();)k.iushrn(1),g.iushrn(1),++y;for(var w=g.clone(),p=k.clone();!k.isZero();){for(var f=0,c=1;(k.words[0]&c)===0&&f<26;++f,c<<=1);if(f>0)for(k.iushrn(f);f-- >0;)(_.isOdd()||N.isOdd())&&(_.iadd(w),N.isub(p)),_.iushrn(1),N.iushrn(1);for(var h=0,d=1;(g.words[0]&d)===0&&h<26;++h,d<<=1);if(h>0)for(g.iushrn(h);h-- >0;)(x.isOdd()||B.isOdd())&&(x.iadd(w),B.isub(p)),x.iushrn(1),B.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(x),N.isub(B)):(g.isub(k),x.isub(_),B.isub(N))}return{a:x,b:B,gcd:g.iushln(y)}},U.prototype._invmp=function(j){G(j.negative===0),G(!j.isZero());var k=this,g=j.clone();k.negative!==0?k=k.umod(j):k=k.clone();for(var _=new U(1),N=new U(0),x=g.clone();k.cmpn(1)>0&&g.cmpn(1)>0;){for(var B=0,y=1;(k.words[0]&y)===0&&B<26;++B,y<<=1);if(B>0)for(k.iushrn(B);B-- >0;)_.isOdd()&&_.iadd(x),_.iushrn(1);for(var w=0,p=1;(g.words[0]&p)===0&&w<26;++w,p<<=1);if(w>0)for(g.iushrn(w);w-- >0;)N.isOdd()&&N.iadd(x),N.iushrn(1);k.cmp(g)>=0?(k.isub(g),_.isub(N)):(g.isub(k),N.isub(_))}var f;return k.cmpn(1)===0?f=_:f=N,f.cmpn(0)<0&&f.iadd(j),f},U.prototype.gcd=function(j){if(this.isZero())return j.abs();if(j.isZero())return this.abs();var k=this.clone(),g=j.clone();k.negative=0,g.negative=0;for(var _=0;k.isEven()&&g.isEven();_++)k.iushrn(1),g.iushrn(1);do{for(;k.isEven();)k.iushrn(1);for(;g.isEven();)g.iushrn(1);var N=k.cmp(g);if(N<0){var x=k;k=g,g=x}else if(N===0||g.cmpn(1)===0)break;k.isub(g)}while(!0);return g.iushln(_)},U.prototype.invm=function(j){return this.egcd(j).a.umod(j)},U.prototype.isEven=function(){return(this.words[0]&1)===0},U.prototype.isOdd=function(){return(this.words[0]&1)===1},U.prototype.andln=function(j){return this.words[0]&j},U.prototype.bincn=function(j){G(typeof j=="number");var k=j%26,g=(j-k)/26,_=1<>>26,B&=67108863,this.words[x]=B}return N!==0&&(this.words[x]=N,this.length++),this},U.prototype.isZero=function(){return this.length===1&&this.words[0]===0},U.prototype.cmpn=function(j){var k=j<0;if(this.negative!==0&&!k)return-1;if(this.negative===0&&k)return 1;this.strip();var g;if(this.length>1)g=1;else{k&&(j=-j),G(j<=67108863,"Number is too big");var _=this.words[0]|0;g=_===j?0:_j.length)return 1;if(this.length=0;g--){var _=this.words[g]|0,N=j.words[g]|0;if(_!==N){_N&&(k=1);break}}return k},U.prototype.gtn=function(j){return this.cmpn(j)===1},U.prototype.gt=function(j){return this.cmp(j)===1},U.prototype.gten=function(j){return this.cmpn(j)>=0},U.prototype.gte=function(j){return this.cmp(j)>=0},U.prototype.ltn=function(j){return this.cmpn(j)===-1},U.prototype.lt=function(j){return this.cmp(j)===-1},U.prototype.lten=function(j){return this.cmpn(j)<=0},U.prototype.lte=function(j){return this.cmp(j)<=0},U.prototype.eqn=function(j){return this.cmpn(j)===0},U.prototype.eq=function(j){return this.cmp(j)===0},U.red=function(j){return new v(j)},U.prototype.toRed=function(j){return G(!this.red,"Already a number in reduction context"),G(this.negative===0,"red works only with positives"),j.convertTo(this)._forceRed(j)},U.prototype.fromRed=function(){return G(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},U.prototype._forceRed=function(j){return this.red=j,this},U.prototype.forceRed=function(j){return G(!this.red,"Already a number in reduction context"),this._forceRed(j)},U.prototype.redAdd=function(j){return G(this.red,"redAdd works only with red numbers"),this.red.add(this,j)},U.prototype.redIAdd=function(j){return G(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,j)},U.prototype.redSub=function(j){return G(this.red,"redSub works only with red numbers"),this.red.sub(this,j)},U.prototype.redISub=function(j){return G(this.red,"redISub works only with red numbers"),this.red.isub(this,j)},U.prototype.redShl=function(j){return G(this.red,"redShl works only with red numbers"),this.red.shl(this,j)},U.prototype.redMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.mul(this,j)},U.prototype.redIMul=function(j){return G(this.red,"redMul works only with red numbers"),this.red._verify2(this,j),this.red.imul(this,j)},U.prototype.redSqr=function(){return G(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},U.prototype.redISqr=function(){return G(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},U.prototype.redSqrt=function(){return G(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},U.prototype.redInvm=function(){return G(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},U.prototype.redNeg=function(){return G(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},U.prototype.redPow=function(j){return G(this.red&&!j.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,j)};var L={k256:null,p224:null,p192:null,p25519:null};function R(j,k){this.name=j,this.p=new U(k,16),this.n=this.p.bitLength(),this.k=new U(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}R.prototype._tmp=function(){var j=new U(null);return j.words=new Array(Math.ceil(this.n/13)),j},R.prototype.ireduce=function(j){var k=j,g;do this.split(k,this.tmp),k=this.imulK(k),k=k.iadd(this.tmp),g=k.bitLength();while(g>this.n);var _=g0?k.isub(this.p):k.strip!==void 0?k.strip():k._strip(),k},R.prototype.split=function(j,k){j.iushrn(this.n,0,k)},R.prototype.imulK=function(j){return j.imul(this.k)};function P(){R.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}V(P,R),P.prototype.split=function(j,k){for(var g=4194303,_=Math.min(j.length,9),N=0;N<_;N++)k.words[N]=j.words[N];if(k.length=_,j.length<=9){j.words[0]=0,j.length=1;return}var x=j.words[9];for(k.words[k.length++]=x&g,N=10;N>>22,x=B}x>>>=22,j.words[N-10]=x,x===0&&j.length>10?j.length-=10:j.length-=9},P.prototype.imulK=function(j){j.words[j.length]=0,j.words[j.length+1]=0,j.length+=2;for(var k=0,g=0;g>>=26,j.words[g]=N,k=_}return k!==0&&(j.words[j.length++]=k),j},U._prime=function(j){if(L[j])return L[j];var k;if(j==="k256")k=new P;else if(j==="p224")k=new z;else if(j==="p192")k=new M;else if(j==="p25519")k=new S;else throw new Error("Unknown prime "+j);return L[j]=k,k};function v(j){if(typeof j=="string"){var k=U._prime(j);this.m=k.p,this.prime=k}else G(j.gtn(1),"modulus must be greater than 1"),this.m=j,this.prime=null}v.prototype._verify1=function(j){G(j.negative===0,"red works only with positives"),G(j.red,"red works only with red numbers")},v.prototype._verify2=function(j,k){G((j.negative|k.negative)===0,"red works only with positives"),G(j.red&&j.red===k.red,"red works only with red numbers")},v.prototype.imod=function(j){return this.prime?this.prime.ireduce(j)._forceRed(this):j.umod(this.m)._forceRed(this)},v.prototype.neg=function(j){return j.isZero()?j.clone():this.m.sub(j)._forceRed(this)},v.prototype.add=function(j,k){this._verify2(j,k);var g=j.add(k);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},v.prototype.iadd=function(j,k){this._verify2(j,k);var g=j.iadd(k);return g.cmp(this.m)>=0&&g.isub(this.m),g},v.prototype.sub=function(j,k){this._verify2(j,k);var g=j.sub(k);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},v.prototype.isub=function(j,k){this._verify2(j,k);var g=j.isub(k);return g.cmpn(0)<0&&g.iadd(this.m),g},v.prototype.shl=function(j,k){return this._verify1(j),this.imod(j.ushln(k))},v.prototype.imul=function(j,k){return this._verify2(j,k),this.imod(j.imul(k))},v.prototype.mul=function(j,k){return this._verify2(j,k),this.imod(j.mul(k))},v.prototype.isqr=function(j){return this.imul(j,j.clone())},v.prototype.sqr=function(j){return this.mul(j,j)},v.prototype.sqrt=function(j){if(j.isZero())return j.clone();var k=this.m.andln(3);if(G(k%2===1),k===3){var g=this.m.add(new U(1)).iushrn(2);return this.pow(j,g)}for(var _=this.m.subn(1),N=0;!_.isZero()&&_.andln(1)===0;)N++,_.iushrn(1);G(!_.isZero());var x=new U(1).toRed(this),B=x.redNeg(),y=this.m.subn(1).iushrn(1),w=this.m.bitLength();for(w=new U(2*w*w).toRed(this);this.pow(w,y).cmp(B)!==0;)w.redIAdd(B);for(var p=this.pow(w,_),f=this.pow(j,_.addn(1).iushrn(1)),c=this.pow(j,_),h=N;c.cmp(x)!==0;){for(var d=c,b=0;d.cmp(x)!==0;b++)d=d.redSqr();G(b=0;N--){for(var p=k.words[N],f=w-1;f>=0;f--){var c=p>>f&1;if(x!==_[0]&&(x=this.sqr(x)),c===0&&B===0){y=0;continue}B<<=1,B|=c,y++,!(y!==g&&(N!==0||f!==0))&&(x=this.mul(x,_[B]),y=0,B=0)}w=26}return x},v.prototype.convertTo=function(j){var k=j.umod(this.m);return k===j?k.clone():k},v.prototype.convertFrom=function(j){var k=j.clone();return k.red=null,k},U.mont=function(j){return new q(j)};function q(j){v.call(this,j),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new U(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(q,v),q.prototype.convertTo=function(j){return this.imod(j.ushln(this.shift))},q.prototype.convertFrom=function(j){var k=this.imod(j.mul(this.rinv));return k.red=null,k},q.prototype.imul=function(j,k){if(j.isZero()||k.isZero())return j.words[0]=0,j.length=1,j;var g=j.imul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.mul=function(j,k){if(j.isZero()||k.isZero())return new U(0)._forceRed(this);var g=j.mul(k),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),N=g.isub(_).iushrn(this.shift),x=N;return N.cmp(this.m)>=0?x=N.isub(this.m):N.cmpn(0)<0&&(x=N.iadd(this.m)),x._forceRed(this)},q.prototype.invm=function(j){var k=this.imod(j._invmp(this.m).mul(this.r2));return k._forceRed(this)}})(typeof Q>"u"||Q,$)}}),{CryptoHasher:sY}=globalThis.Bun,tY=q$({"node_modules/public-encrypt/withPublic.js"($,Q){var Y=nY(),Z=k$().Buffer;function G(V,U){return Z.from(V.toRed(Y.mont(U.modulus)).redPow(new Y(U.publicExponent)).fromRed().toArray())}Q.exports=G}}),mY=q$({"node_modules/public-encrypt/publicEncrypt.js"($,Q){var Y=pY(),Z=g$(),G=o$(),V=oY(),U=uY(),X=nY(),K=tY(),I=hQ(),O=k$().Buffer;Q.exports=function(H,W,E){var T;H.padding?T=H.padding:E?T=1:T=4;var D=Y(H),C;if(T===4)C=J(D,W);else if(T===1)C=F(D,W,E);else if(T===3){if(C=new X(W),C.cmp(D.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return E?I(C,D):K(C,D)};function J(H,W){var E=H.modulus.byteLength(),T=W.length,D=G("sha1").update(O.alloc(0)).digest(),C=D.length,L=2*C;if(T>E-L-2)throw new Error("message too long");var R=O.alloc(E-T-L-2),P=E-C-1,z=Z(C),M=U(O.concat([D,R,O.alloc(1,1),W],P),V(z,P)),S=U(z,V(M,C));return new X(O.concat([O.alloc(1),S,M],E))}function F(H,W,E){var T=W.length,D=H.modulus.byteLength();if(T>D-11)throw new Error("message too long");var C;return E?C=O.alloc(D-T-3,255):C=A(D-T-3),new X(O.concat([O.from([0,E?1:2]),C,O.alloc(1),W],D))}function A(H){for(var W=O.allocUnsafe(H),E=0,T=Z(H*2),D=0,C;ED||new V(H).cmp(T.modulus)>=0)throw new Error("decryption error");var C;W?C=K(new V(H),T):C=U(H,T);var L=I.alloc(D-C.length);if(C=I.concat([L,C],D),E===4)return O(T,C);if(E===1)return J(T,C,W);if(E===3)return C;throw new Error("unknown padding")};function O(A,H){var W=A.modulus.byteLength(),E=X("sha1").update(I.alloc(0)).digest(),T=E.length;if(H[0]!==0)throw new Error("decryption error");var D=H.slice(1,T+1),C=H.slice(T+1),L=G(D,Z(C,T)),R=G(C,Z(L,W-T-1));if(F(E,R.slice(0,T)))throw new Error("decryption error");for(var P=T;R[P]===0;)P++;if(R[P++]!==1)throw new Error("decryption error");return R.slice(P)}function J(A,H,W){for(var E=H.slice(0,2),T=2,D=0;H[T++]!==0;)if(T>=H.length){D++;break}var C=H.slice(2,T-1);if((E.toString("hex")!=="0002"&&!W||E.toString("hex")!=="0001"&&W)&&D++,C.length<8&&D++,D)throw new Error("decryption error");return H.slice(T)}function F(A,H){A=I.from(A),H=I.from(H);var W=0,E=A.length;A.length!==H.length&&(W++,E=Math.min(A.length,H.length));for(var T=-1;++TV||J<0)throw new TypeError("offset must be a uint32");if(J>G||J>F)throw new RangeError("offset out of range")}function X(J,F,A){if(typeof J!="number"||J!==J)throw new TypeError("size must be a number");if(J>V||J<0)throw new TypeError("size must be a uint32");if(J+F>A||J>G)throw new RangeError("buffer too small")}$.randomFill=K,$.randomFillSync=O;function K(J,F,A,H){if(!Z.isBuffer(J)&&!(J instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof F=="function")H=F,F=0,A=J.length;else if(typeof A=="function")H=A,A=J.length-F;else if(typeof H!="function")throw new TypeError('"cb" argument must be a function');return U(F,J.length),X(A,F,J.length),I(J,F,A,H)}function I(J,F,A,H){if(H){Y(A,function(E,T){if(E)return H(E);T.copy(J,F),H(null,J)});return}var W=Y(A);return W.copy(J,F),J}function O(J,F,A){if(typeof F>"u"&&(F=0),!Z.isBuffer(J)&&!(J instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return U(F,J.length),A===void 0&&(A=J.length-F),X(A,F,J.length),I(J,F,A)}}}),iY=q$({"node_modules/crypto-browserify/index.js"($){$.randomBytes=$.rng=$.pseudoRandomBytes=$.prng=g$(),$.createHash=o$(),$.Hash=$.createHash.Hash,$.createHmac=$.Hmac=s$();var Q=m$(),Y=Object.keys(Q),Z=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(Y);$.getHashes=function(){return Z};var G=QQ();$.pbkdf2=G.pbkdf2,$.pbkdf2Sync=G.pbkdf2Sync;var V=kQ();$.Cipher=V.Cipher,$.createCipher=V.createCipher,$.Cipheriv=V.Cipheriv,$.createCipheriv=V.createCipheriv,$.Decipher=V.Decipher,$.createDecipher=V.createDecipher,$.Decipheriv=V.Decipheriv,$.createDecipheriv=V.createDecipheriv,$.getCiphers=V.getCiphers,$.listCiphers=V.listCiphers;var U=fQ();$.DiffieHellmanGroup=U.DiffieHellmanGroup,$.createDiffieHellmanGroup=U.createDiffieHellmanGroup,$.getDiffieHellman=U.getDiffieHellman,$.createDiffieHellman=U.createDiffieHellman,$.DiffieHellman=U.DiffieHellman;var X=dY();$.createSign=X.createSign,$.Sign=X.Sign,$.createVerify=X.createVerify,$.Verify=X.Verify,$.createECDH=lY();var K=eY();$.publicEncrypt=K.publicEncrypt,$.privateEncrypt=K.privateEncrypt,$.publicDecrypt=K.publicDecrypt,$.privateDecrypt=K.privateDecrypt,$.getRandomValues=(O)=>H$.getRandomValues(O);var I=rY();$.randomFill=I.randomFill,$.randomFillSync=I.randomFillSync,$.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},$.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}}}),$Z={...iY(),[Symbol.for("CommonJS")]:0},T$="buffer",QZ=($)=>H$.getRandomValues($),YZ=()=>H$.randomUUID(),ZZ=(...$)=>H$.randomInt(...$),D$="timingSafeEqual"in H$?($,Q)=>{let{byteLength:Y}=$,{byteLength:Z}=Q;if(typeof Y!="number"||typeof Z!="number")throw new TypeError("Input must be an array buffer view");if(Y!==Z)throw new RangeError("Input buffers must have the same length");return H$.timingSafeEqual($,Q)}:void 0,GZ="scryptSync"in H$?($,Q,Y,Z)=>{let G=H$.scryptSync($,Q,Y,Z);return T$!=="buffer"?new F$(G).toString(T$):new F$(G)}:void 0,VZ="scryptSync"in H$?function($,Q,Y,Z,G){if(typeof Z=="function"&&(G=Z,Z=void 0),typeof G!="function"){var V=new TypeError("callback must be a function");throw V.code="ERR_INVALID_CALLBACK",V}try{let U=H$.scryptSync($,Q,Y,Z);process.nextTick(G,null,T$!=="buffer"?new F$(U).toString(T$):new F$(U))}catch(U){throw U}}:void 0;D$&&(Object.defineProperty(D$,"name",{value:"::bunternal::"}),Object.defineProperty(VZ,"name",{value:"::bunternal::"}),Object.defineProperty(GZ,"name",{value:"::bunternal::"}));var C$=H$;j$($Z,{DEFAULT_ENCODING:()=>T$,getRandomValues:()=>QZ,randomUUID:()=>YZ,randomInt:()=>ZZ,scrypt:()=>VZ,scryptSync:()=>GZ,timingSafeEqual:()=>D$,webcrypto:()=>C$,subtle:()=>C$.subtle});var{randomBytes:UZ,rng:XZ,pseudoRandomBytes:KZ,prng:IZ,Hash:OZ,createHash:JZ,createHmac:FZ,Hmac:AZ,getHashes:HZ,pbkdf2:WZ,pbkdf2Sync:EZ,Cipher:TZ,createCipher:DZ,Cipheriv:CZ,createCipheriv:LZ,Decipher:RZ,createDecipher:PZ,Decipheriv:zZ,createDecipheriv:MZ,getCiphers:SZ,listCiphers:vZ,DiffieHellmanGroup:qZ,createDiffieHellmanGroup:jZ,getDiffieHellman:kZ,createDiffieHellman:gZ,DiffieHellman:_Z,createSign:NZ,Sign:xZ,createVerify:BZ,Verify:yZ,createECDH:wZ,publicEncrypt:pZ,privateEncrypt:fZ,publicDecrypt:cZ,privateDecrypt:hZ,randomFill:dZ,randomFillSync:bZ,createCredentials:lZ,constants:oZ}=$Z;var nZ=$Z;/*! safe-buffer. MIT License. Feross Aboukhadijeh */export{C$ as webcrypto,D$ as timingSafeEqual,GZ as scryptSync,VZ as scrypt,XZ as rng,YZ as randomUUID,bZ as randomFillSync,dZ as randomFill,UZ as randomBytes,pZ as publicEncrypt,cZ as publicDecrypt,KZ as pseudoRandomBytes,IZ as prng,fZ as privateEncrypt,hZ as privateDecrypt,EZ as pbkdf2Sync,WZ as pbkdf2,vZ as listCiphers,QZ as getRandomValues,HZ as getHashes,kZ as getDiffieHellman,SZ as getCiphers,nZ as default,BZ as createVerify,NZ as createSign,FZ as createHmac,JZ as createHash,wZ as createECDH,jZ as createDiffieHellmanGroup,gZ as createDiffieHellman,MZ as createDecipheriv,PZ as createDecipher,lZ as createCredentials,LZ as createCipheriv,DZ as createCipher,oZ as constants,yZ as Verify,xZ as Sign,AZ as Hmac,OZ as Hash,qZ as DiffieHellmanGroup,_Z as DiffieHellman,zZ as Decipheriv,RZ as Decipher,T$ as DEFAULT_ENCODING,CZ as Cipheriv,TZ as Cipher}; diff --git a/test/js/node/crypto/node-crypto.test.js b/test/js/node/crypto/node-crypto.test.js index 9e0e7f396..5a68540cf 100644 --- a/test/js/node/crypto/node-crypto.test.js +++ b/test/js/node/crypto/node-crypto.test.js @@ -8,6 +8,27 @@ it("crypto.randomBytes should return a Buffer", () => { expect(Buffer.isBuffer(crypto.randomBytes(1))).toBe(true); }); +it("crypto.randomInt should return a number", () => { + const result = crypto.randomInt(0, 10); + expect(typeof result).toBe("number"); + expect(result).toBeGreaterThanOrEqual(0); + expect(result).toBeLessThanOrEqual(10); +}); + +it("crypto.randomInt with no arguments", () => { + const result = crypto.randomInt(); + expect(typeof result).toBe("number"); + expect(result).toBeGreaterThanOrEqual(0); + expect(result).toBeLessThanOrEqual(Number.MAX_SAFE_INTEGER); +}); + +it("crypto.randomInt with one argument", () => { + const result = crypto.randomInt(100); + expect(typeof result).toBe("number"); + expect(result).toBeGreaterThanOrEqual(0); + expect(result).toBeLessThanOrEqual(100); +}); + // https://github.com/oven-sh/bun/issues/1839 describe("createHash", () => { it("update & digest", () => { -- cgit v1.2.3 From f839cf1ce309959f168066e51edc2e8b0038728e Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Mon, 26 Jun 2023 19:07:00 -0700 Subject: Update crypto.mjs --- bench/snippets/crypto.mjs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'bench/snippets') diff --git a/bench/snippets/crypto.mjs b/bench/snippets/crypto.mjs index e8e6f2f8a..484a4295d 100644 --- a/bench/snippets/crypto.mjs +++ b/bench/snippets/crypto.mjs @@ -1,12 +1,6 @@ // so it can run in environments without node module resolution import { bench, run } from "../node_modules/mitata/src/cli.mjs"; - -var crypto = globalThis.crypto; - -if (!crypto) { - crypto = await import("node:crypto"); -} - +import crypto from "node:crypto"; var foo = new Uint8Array(65536); bench("crypto.getRandomValues(65536)", () => { crypto.getRandomValues(foo); @@ -23,7 +17,7 @@ bench("crypto.randomUUID()", () => { }); bench("crypto.randomInt()", () => { - return crypto.randomInt(); + return crypto.randomInt(0, 100); }); await run(); -- cgit v1.2.3 From 6cae6ebafeac4ec2698dc746838b91b2f079f65f Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 1 Jul 2023 20:02:50 -0700 Subject: Make `buffer.toString("base64")` 4x faster (#3486) * Add libbase64 * Add bench * Update licensing.md --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- .gitmodules | 8 +++++++- Dockerfile | 22 ++++++++++++++++++++++ Makefile | 10 ++++++++-- bench/snippets/base64-buffer-to-string.mjs | 14 ++++++++++++++ docs/project/licensing.md | 5 +++++ src/base64/base64.zig | 20 +++++++++++++++++++- src/bun.js/node/types.zig | 4 ++-- src/deps/base64 | 1 + 8 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 bench/snippets/base64-buffer-to-string.mjs create mode 160000 src/deps/base64 (limited to 'bench/snippets') diff --git a/.gitmodules b/.gitmodules index 9284d53f1..e8b448aa4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -68,4 +68,10 @@ fetchRecurseSubmodules = false [submodule "src/deps/zstd"] path = src/deps/zstd url = https://github.com/facebook/zstd.git - ignore = dirty \ No newline at end of file + ignore = dirty +[submodule "src/deps/base64"] + path = src/deps/base64 + url = https://github.com/aklomp/base64.git + ignore = dirty + depth = 1 + shallow = true \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f50ada2d8..5f66a5e04 100644 --- a/Dockerfile +++ b/Dockerfile @@ -295,6 +295,27 @@ WORKDIR $BUN_DIR RUN cd $BUN_DIR && \ make uws && rm -rf src/deps/uws Makefile +FROM bun-base as base64 + +ARG DEBIAN_FRONTEND +ARG GITHUB_WORKSPACE +ARG ZIG_PATH +# Directory extracts to "bun-webkit" +ARG WEBKIT_DIR +ARG BUN_RELEASE_DIR +ARG BUN_DEPS_OUT_DIR +ARG BUN_DIR +ARG CPU_TARGET +ENV CPU_TARGET=${CPU_TARGET} + +COPY Makefile ${BUN_DIR}/Makefile +COPY src/deps/base64 ${BUN_DIR}/src/deps/base64 + +WORKDIR $BUN_DIR + +RUN cd $BUN_DIR && \ + make base64 && rm -rf src/deps/base64 Makefile + FROM bun-base as picohttp ARG DEBIAN_FRONTEND @@ -556,6 +577,7 @@ ENV JSC_BASE_DIR=${WEBKIT_DIR} ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib COPY --from=zlib ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/ +COPY --from=base64 ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/ COPY --from=libarchive ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/ COPY --from=boringssl ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/ COPY --from=lolhtml ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/ diff --git a/Makefile b/Makefile index b023dc53c..b44aa9ecb 100644 --- a/Makefile +++ b/Makefile @@ -453,7 +453,8 @@ MINIMUM_ARCHIVE_FILES = -L$(BUN_DEPS_OUT_DIR) \ -ldecrepit \ -lssl \ -lcrypto \ - -llolhtml + -llolhtml \ + -lbase64 ARCHIVE_FILES_WITHOUT_LIBCRYPTO = $(MINIMUM_ARCHIVE_FILES) \ -larchive \ @@ -1850,6 +1851,10 @@ copy-to-bun-release-dir-bin: PACKAGE_MAP = --pkg-begin async_io $(BUN_DIR)/src/io/io_darwin.zig --pkg-begin bun $(BUN_DIR)/src/bun_redirect.zig --pkg-end --pkg-end --pkg-begin javascript_core $(BUN_DIR)/src/jsc.zig --pkg-begin bun $(BUN_DIR)/src/bun_redirect.zig --pkg-end --pkg-end --pkg-begin bun $(BUN_DIR)/src/bun_redirect.zig --pkg-end +.PHONY: base64 +base64: + cd $(BUN_DEPS_DIR)/base64 && make clean && cmake $(CMAKE_FLAGS) . && make + cp $(BUN_DEPS_DIR)/base64/libbase64.a $(BUN_DEPS_OUT_DIR)/libbase64.a .PHONY: cold-jsc-start cold-jsc-start: @@ -1868,7 +1873,8 @@ cold-jsc-start: misctools/cold-jsc-start.cpp -o cold-jsc-start .PHONY: vendor-without-npm -vendor-without-npm: node-fallbacks runtime_js fallback_decoder bun_error mimalloc picohttp zlib boringssl libarchive lolhtml sqlite usockets uws tinycc c-ares zstd +vendor-without-npm: node-fallbacks runtime_js fallback_decoder bun_error mimalloc picohttp zlib boringssl libarchive lolhtml sqlite usockets uws tinycc c-ares zstd base64 + .PHONY: vendor-without-check vendor-without-check: npm-install vendor-without-npm diff --git a/bench/snippets/base64-buffer-to-string.mjs b/bench/snippets/base64-buffer-to-string.mjs new file mode 100644 index 000000000..a62b76379 --- /dev/null +++ b/bench/snippets/base64-buffer-to-string.mjs @@ -0,0 +1,14 @@ +import { bench, run } from "./runner.mjs"; +import { Buffer } from "node:buffer"; + +const bigBuffer = Buffer.from("hello world".repeat(10000)); +const converted = bigBuffer.toString("base64"); +bench("Buffer.toString('base64')", () => { + return bigBuffer.toString("base64"); +}); + +// bench("Buffer.from(str, 'base64')", () => { +// return Buffer.from(converted, "base64"); +// }); + +await run(); diff --git a/docs/project/licensing.md b/docs/project/licensing.md index ea49acb1d..ac7fef774 100644 --- a/docs/project/licensing.md +++ b/docs/project/licensing.md @@ -85,6 +85,11 @@ Bun statically links these libraries: --- +- [`libbase64`](https://github.com/aklomp/base64/blob/master/LICENSE) +- BSD 2-Clause + +--- + - A fork of [`uWebsockets`](https://github.com/jarred-sumner/uwebsockets) - Apache 2.0 licensed diff --git a/src/base64/base64.zig b/src/base64/base64.zig index bddc44564..8768b9c7b 100644 --- a/src/base64/base64.zig +++ b/src/base64/base64.zig @@ -5,6 +5,22 @@ pub const DecodeResult = struct { fail: bool = false, }; +pub const LibBase64 = struct { + pub const State = extern struct { + eof: c_int, + bytes: c_int, + flags: c_int, + carry: u8, + }; + pub extern fn base64_encode(src: [*]const u8, srclen: usize, out: [*]u8, outlen: *usize, flags: c_int) void; + pub extern fn base64_stream_encode_init(state: *State, flags: c_int) void; + pub extern fn base64_stream_encode(state: *State, src: [*]const u8, srclen: usize, out: [*]u8, outlen: *usize) void; + pub extern fn base64_stream_encode_final(state: *State, out: [*]u8, outlen: *usize) void; + pub extern fn base64_decode(src: [*]const u8, srclen: usize, out: [*]u8, outlen: *usize, flags: c_int) c_int; + pub extern fn base64_stream_decode_init(state: *State, flags: c_int) void; + pub extern fn base64_stream_decode(state: *State, src: [*]const u8, srclen: usize, out: [*]u8, outlen: *usize) c_int; +}; + const mixed_decoder = brk: { var decoder = zig_base64.standard.decoderWithIgnore("\xff \t\r\n" ++ [_]u8{ std.ascii.control_code.vt, @@ -30,7 +46,9 @@ pub fn decode(destination: []u8, source: []const u8) DecodeResult { } pub fn encode(destination: []u8, source: []const u8) usize { - return zig_base64.standard.Encoder.encode(destination, source).len; + var outlen: usize = destination.len; + LibBase64.base64_encode(source.ptr, source.len, destination.ptr, &outlen, 0); + return outlen; } pub fn decodeLenUpperBound(len: usize) usize { diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig index b01eca8e0..96d04636e 100644 --- a/src/bun.js/node/types.zig +++ b/src/bun.js/node/types.zig @@ -524,8 +524,8 @@ pub const Encoding = enum(u8) { switch (encoding) { .base64 => { var base64: [std.base64.standard.Encoder.calcSize(size)]u8 = undefined; - const result = JSC.ZigString.init(std.base64.standard.Encoder.encode(&base64, input)).toValueGC(globalThis); - return result; + const len = bun.base64.encode(&base64, input); + return JSC.ZigString.init(base64[0..len]).toValueGC(globalThis); }, .base64url => { var buf: [std.base64.url_safe.Encoder.calcSize(size) + "data:;base64,".len]u8 = undefined; diff --git a/src/deps/base64 b/src/deps/base64 new file mode 160000 index 000000000..e77bd70bd --- /dev/null +++ b/src/deps/base64 @@ -0,0 +1 @@ +Subproject commit e77bd70bdd860c52c561568cffb251d88bba064c -- cgit v1.2.3 From f49a308d2c2d30c798de738e05b528ecc4eaf9ee Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Tue, 4 Jul 2023 03:47:31 -0700 Subject: Create readfile-not-found.mjs --- bench/snippets/readfile-not-found.mjs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 bench/snippets/readfile-not-found.mjs (limited to 'bench/snippets') diff --git a/bench/snippets/readfile-not-found.mjs b/bench/snippets/readfile-not-found.mjs new file mode 100644 index 000000000..c28100ba4 --- /dev/null +++ b/bench/snippets/readfile-not-found.mjs @@ -0,0 +1,17 @@ +import { bench, run } from "./runner.mjs"; +import { readFileSync, existsSync } from "node:fs"; +import { readFile } from "node:fs/promises"; + +bench(`readFileSync(/tmp/404-not-found)`, () => { + try { + readFileSync("/tmp/404-not-found"); + } catch (e) {} +}); + +bench(`readFile(/tmp/404-not-found)`, async () => { + try { + await readFile("/tmp/404-not-found"); + } catch (e) {} +}); + +await run(); -- cgit v1.2.3 From 2f5e4fffe9554fcc7afa6980b3af6b33bc3a3a5e Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sun, 9 Jul 2023 21:50:19 -0700 Subject: Implement process.memoryUsage() and process.cpuUsage() (#3586) * Implement process.memoryUsage() and process.cpuUsage() * Avoid mi_process_info * Update bench * Update Process.cpp * fixup * More tests + linux fixup * Skip it for now since it seems less accurate --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- bench/snippets/process-info.mjs | 33 ++ src/bun.js/bindings/Process.cpp | 388 ++++++++++++++++++++- src/bun.js/bindings/Process.h | 18 + src/bun.js/bindings/Process.lut.h | 97 +++--- .../bindings/webcore/DOMClientIsoSubspaces.h | 1 + src/bun.js/bindings/webcore/DOMIsoSubspaces.h | 1 + test/js/node/process/process.test.js | 142 +++++++- 7 files changed, 620 insertions(+), 60 deletions(-) create mode 100644 bench/snippets/process-info.mjs (limited to 'bench/snippets') diff --git a/bench/snippets/process-info.mjs b/bench/snippets/process-info.mjs new file mode 100644 index 000000000..0366472e5 --- /dev/null +++ b/bench/snippets/process-info.mjs @@ -0,0 +1,33 @@ +import { bench, run } from "./runner.mjs"; +import { performance } from "perf_hooks"; + +bench("process.memoryUsage()", () => { + process.memoryUsage(); +}); + +bench("process.memoryUsage.rss()", () => { + process.memoryUsage.rss(); +}); + +bench("process.cpuUsage()", () => { + process.cpuUsage(); +}); + +const init = process.cpuUsage(); +bench("process.cpuUsage(delta)", () => { + process.cpuUsage(init); +}); + +bench("performance.now()", () => { + performance.now(); +}); + +bench("process.hrtime()", () => { + process.hrtime(); +}); + +bench("process.hrtime.bigint()", () => { + process.hrtime.bigint(); +}); + +await run(); diff --git a/src/bun.js/bindings/Process.cpp b/src/bun.js/bindings/Process.cpp index 8d94594cc..7d7bdd982 100644 --- a/src/bun.js/bindings/Process.cpp +++ b/src/bun.js/bindings/Process.cpp @@ -12,8 +12,24 @@ #include "ZigConsoleClient.h" #include #include +#include +#include +#include + #pragma mark - Node.js Process +#if defined(__APPLE__) +#include +#include +#endif + +#if defined(__linux__) +#include +#include +#include +#include +#endif + #if !defined(_MSC_VER) #include // setuid, getuid #endif @@ -335,9 +351,12 @@ extern "C" uint64_t Bun__readOriginTimer(void*); JSC_DEFINE_HOST_FUNCTION(Process_functionHRTime, (JSC::JSGlobalObject * globalObject_, JSC::CallFrame* callFrame)) { + Zig::GlobalObject* globalObject = reinterpret_cast(globalObject_); auto& vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + uint64_t time = Bun__readOriginTimer(globalObject->bunVM()); int64_t seconds = static_cast(time / 1000000000); int64_t nanoseconds = time % 1000000000; @@ -346,7 +365,6 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionHRTime, JSC::JSValue arg0 = callFrame->uncheckedArgument(0); if (!arg0.isUndefinedOrNull()) { JSArray* relativeArray = JSC::jsDynamicCast(arg0); - auto throwScope = DECLARE_THROW_SCOPE(vm); if ((!relativeArray && !arg0.isUndefinedOrNull()) || relativeArray->length() < 2) { JSC::throwTypeError(globalObject, throwScope, "hrtime() argument must be an array or undefined"_s); return JSC::JSValue::encode(JSC::JSValue {}); @@ -366,14 +384,28 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionHRTime, seconds--; nanoseconds += 1000000000; } - throwScope.release(); } } - auto* array = JSArray::create(vm, globalObject->originalArrayStructureForIndexingType(ArrayWithContiguous), 2); - array->setIndexQuickly(vm, 0, JSC::jsNumber(seconds)); - array->setIndexQuickly(vm, 1, JSC::jsNumber(nanoseconds)); - return JSC::JSValue::encode(JSC::JSValue(array)); + JSC::JSArray* array = nullptr; + { + JSC::ObjectInitializationScope initializationScope(vm); + if ((array = JSC::JSArray::tryCreateUninitializedRestricted( + initializationScope, nullptr, + globalObject->arrayStructureForIndexingTypeDuringAllocation(JSC::ArrayWithContiguous), + 2))) { + + array->initializeIndex(initializationScope, 0, JSC::jsNumber(seconds)); + array->initializeIndex(initializationScope, 1, JSC::jsNumber(nanoseconds)); + } + } + + if (UNLIKELY(!array)) { + JSC::throwOutOfMemoryError(globalObject, throwScope); + return JSC::JSValue::encode(JSC::JSValue {}); + } + + RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(array)); } JSC_DEFINE_HOST_FUNCTION(Process_functionHRTimeBigInt, @@ -680,10 +712,10 @@ static JSValue constructProcessHrtimeObject(VM& vm, JSObject* processObject) { auto* globalObject = processObject->globalObject(); JSC::JSFunction* hrtime = JSC::JSFunction::create(vm, globalObject, 0, - MAKE_STATIC_STRING_IMPL("hrtime"), Process_functionHRTime, ImplementationVisibility::Public); + String("hrtime"_s), Process_functionHRTime, ImplementationVisibility::Public); JSC::JSFunction* hrtimeBigInt = JSC::JSFunction::create(vm, globalObject, 0, - MAKE_STATIC_STRING_IMPL("bigint"), Process_functionHRTimeBigInt, ImplementationVisibility::Public); + String("bigint"_s), Process_functionHRTimeBigInt, ImplementationVisibility::Public); hrtime->putDirect(vm, JSC::Identifier::fromString(vm, "bigint"_s), hrtimeBigInt); @@ -945,6 +977,317 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionReallyExit, (JSGlobalObject * globalObj __builtin_unreachable(); } +template +void Process::visitChildrenImpl(JSCell* cell, Visitor& visitor) +{ + Process* thisObject = jsCast(cell); + ASSERT_GC_OBJECT_INHERITS(thisObject, info()); + Base::visitChildren(thisObject, visitor); + thisObject->cpuUsageStructure.visit(visitor); + thisObject->memoryUsageStructure.visit(visitor); +} + +DEFINE_VISIT_CHILDREN(Process); + +static Structure* constructCPUUsageStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject) +{ + JSC::Structure* structure = globalObject->structureCache().emptyObjectStructureForPrototype(globalObject, globalObject->objectPrototype(), 2); + PropertyOffset offset; + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "user"_s), + 0, + offset); + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "system"_s), + 0, + offset); + return structure; +} +static Structure* constructMemoryUsageStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject) +{ + JSC::Structure* structure = globalObject->structureCache().emptyObjectStructureForPrototype(globalObject, globalObject->objectPrototype(), 5); + PropertyOffset offset; + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "rss"_s), + 0, + offset); + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "heapTotal"_s), + 0, + offset); + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "heapUsed"_s), + 0, + offset); + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "external"_s), + 0, + offset); + structure = structure->addPropertyTransition( + vm, + structure, + JSC::Identifier::fromString(vm, "arrayBuffers"_s), + 0, + offset); + + return structure; +} + +static Process* getProcessObject(JSC::JSGlobalObject* lexicalGlobalObject, JSValue thisValue) +{ + Process* process = jsDynamicCast(thisValue); + + // Handle "var memoryUsage = process.memoryUsage; memoryUsage()" + if (UNLIKELY(!process)) { + // Handle calling this function from inside a node:vm + Zig::GlobalObject* zigGlobalObject = jsDynamicCast(lexicalGlobalObject); + + if (UNLIKELY(!zigGlobalObject)) { + zigGlobalObject = Bun__getDefaultGlobal(); + } + + return jsCast(zigGlobalObject->processObject()); + } + + return process; +} + +JSC_DEFINE_HOST_FUNCTION(Process_functionCpuUsage, + (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) +{ + JSC::VM& vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + struct rusage rusage; + if (getrusage(RUSAGE_SELF, &rusage) != 0) { + SystemError error; + error.errno_ = errno; + error.syscall = Bun::toString("getrusage"_s); + error.message = Bun::toString("Failed to get CPU usage"_s); + throwException(globalObject, throwScope, JSValue::decode(SystemError__toErrorInstance(&error, globalObject))); + return JSValue::encode(jsUndefined()); + } + + auto* process = getProcessObject(globalObject, callFrame->thisValue()); + + Structure* cpuUsageStructure = process->cpuUsageStructure.getInitializedOnMainThread(process); + + constexpr double MICROS_PER_SEC = 1000000.0; + + double user = MICROS_PER_SEC * rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec; + double system = MICROS_PER_SEC * rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec; + + if (callFrame->argumentCount() > 0) { + JSValue comparatorValue = callFrame->argument(0); + if (!comparatorValue.isUndefined()) { + if (UNLIKELY(!comparatorValue.isObject())) { + throwTypeError(globalObject, throwScope, "Expected an object as the first argument"_s); + return JSC::JSValue::encode(JSC::jsUndefined()); + } + + JSC::JSObject* comparator = comparatorValue.getObject(); + JSValue userValue; + JSValue systemValue; + + if (LIKELY(comparator->structureID() == cpuUsageStructure->id())) { + userValue = comparator->getDirect(0); + systemValue = comparator->getDirect(1); + } else { + userValue = comparator->getIfPropertyExists(globalObject, JSC::Identifier::fromString(vm, "user"_s)); + RETURN_IF_EXCEPTION(throwScope, JSC::JSValue::encode(JSC::jsUndefined())); + + systemValue = comparator->getIfPropertyExists(globalObject, JSC::Identifier::fromString(vm, "system"_s)); + RETURN_IF_EXCEPTION(throwScope, JSC::JSValue::encode(JSC::jsUndefined())); + } + + if (UNLIKELY(!userValue || !userValue.isNumber())) { + throwTypeError(globalObject, throwScope, "Expected a number for the user property"_s); + return JSC::JSValue::encode(JSC::jsUndefined()); + } + + if (UNLIKELY(!systemValue || !systemValue.isNumber())) { + throwTypeError(globalObject, throwScope, "Expected a number for the system property"_s); + return JSC::JSValue::encode(JSC::jsUndefined()); + } + + double userComparator = userValue.asNumber(); + double systemComparator = systemValue.asNumber(); + + user -= userComparator; + system -= systemComparator; + } + } + + JSC::JSObject* result = JSC::constructEmptyObject(vm, cpuUsageStructure); + RETURN_IF_EXCEPTION(throwScope, JSC::JSValue::encode(JSC::jsUndefined())); + + result->putDirectOffset(vm, 0, JSC::jsNumber(user)); + result->putDirectOffset(vm, 1, JSC::jsNumber(system)); + + RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(result)); +} + +static int getRSS(size_t* rss) +{ +#if defined(__APPLE__) + mach_msg_type_number_t count; + task_basic_info_data_t info; + kern_return_t err; + + count = TASK_BASIC_INFO_COUNT; + err = task_info(mach_task_self(), + TASK_BASIC_INFO, + reinterpret_cast(&info), + &count); + + if (err == KERN_SUCCESS) { + *rss = (size_t)info.resident_size; + return 0; + } + + return -1; +#elif defined(__linux__) + // Taken from libuv. + char buf[1024]; + const char* s; + ssize_t n; + long val; + int fd; + int i; + + do + fd = open("/proc/self/stat", O_RDONLY); + while (fd == -1 && errno == EINTR); + + if (fd == -1) + return errno; + + do + n = read(fd, buf, sizeof(buf) - 1); + while (n == -1 && errno == EINTR); + + int closeErrno = 0; + do { + closeErrno = close(fd); + } while (closeErrno == -1 && errno == EINTR); + + if (n == -1) + return errno; + buf[n] = '\0'; + + s = strchr(buf, ' '); + if (s == NULL) + goto err; + + s += 1; + if (*s != '(') + goto err; + + s = strchr(s, ')'); + if (s == NULL) + goto err; + + for (i = 1; i <= 22; i++) { + s = strchr(s + 1, ' '); + if (s == NULL) + goto err; + } + + errno = 0; + val = strtol(s, NULL, 10); + if (errno != 0) + goto err; + if (val < 0) + goto err; + + *rss = val * getpagesize(); + return 0; + +err: + return EINVAL; +#else +#error "Unsupported platform" +#endif +} + +JSC_DEFINE_HOST_FUNCTION(Process_functionMemoryUsage, + (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) +{ + JSC::VM& vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + auto* process = getProcessObject(globalObject, callFrame->thisValue()); + + size_t current_rss = 0; + if (getRSS(¤t_rss) != 0) { + SystemError error; + error.errno_ = errno; + error.syscall = Bun::toString("memoryUsage"_s); + error.message = Bun::toString("Failed to get memory usage"_s); + throwException(globalObject, throwScope, JSValue::decode(SystemError__toErrorInstance(&error, globalObject))); + return JSC::JSValue::encode(JSC::JSValue {}); + } + + JSC::JSObject* result = JSC::constructEmptyObject(vm, process->memoryUsageStructure.getInitializedOnMainThread(process)); + if (UNLIKELY(throwScope.exception())) { + return JSC::JSValue::encode(JSC::JSValue {}); + } + + // Node.js: + // { + // rss: 4935680, + // heapTotal: 1826816, + // heapUsed: 650472, + // external: 49879, + // arrayBuffers: 9386 + // } + + result->putDirectOffset(vm, 0, JSC::jsNumber(current_rss)); + result->putDirectOffset(vm, 1, JSC::jsNumber(vm.heap.blockBytesAllocated())); + + // heap.size() loops through every cell... + // TODO: add a binding for heap.sizeAfterLastCollection() + result->putDirectOffset(vm, 2, JSC::jsNumber(vm.heap.sizeAfterLastEdenCollection())); + + result->putDirectOffset(vm, 3, JSC::jsNumber(vm.heap.externalMemorySize())); + + // We report 0 for this because m_arrayBuffers in JSC::Heap is private and we need to add a binding + // If we use objectTypeCounts(), it's hideously slow because it loops through every single object in the heap + // TODO: add a binding for m_arrayBuffers, registerWrapper() in TypedArrayController doesn't work + result->putDirectOffset(vm, 4, JSC::jsNumber(0)); + + RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(result)); +} + +JSC_DEFINE_HOST_FUNCTION(Process_functionMemoryUsageRSS, + (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callFrame)) +{ + JSC::VM& vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + + size_t current_rss = 0; + if (getRSS(¤t_rss) != 0) { + SystemError error; + error.errno_ = errno; + error.syscall = Bun::toString("memoryUsage"_s); + error.message = Bun::toString("Failed to get memory usage"_s); + throwException(globalObject, throwScope, JSValue::decode(SystemError__toErrorInstance(&error, globalObject))); + return JSC::JSValue::encode(JSC::JSValue {}); + } + + RELEASE_AND_RETURN(throwScope, JSValue::encode(jsNumber(current_rss))); +} + JSC_DEFINE_HOST_FUNCTION(Process_functionOpenStdin, (JSGlobalObject * globalObject, CallFrame* callFrame)) { auto& vm = globalObject->vm(); @@ -1010,6 +1353,19 @@ static JSValue Process_stubEmptySet(VM& vm, JSObject* processObject) return JSSet::create(vm, globalObject->setStructure()); } +static JSValue constructMemoryUsage(VM& vm, JSObject* processObject) +{ + auto* globalObject = processObject->globalObject(); + JSC::JSFunction* memoryUsage = JSC::JSFunction::create(vm, globalObject, 0, + String("memoryUsage"_s), Process_functionMemoryUsage, ImplementationVisibility::Public); + + JSC::JSFunction* rss = JSC::JSFunction::create(vm, globalObject, 0, + String("rss"_s), Process_functionMemoryUsageRSS, ImplementationVisibility::Public); + + memoryUsage->putDirect(vm, JSC::Identifier::fromString(vm, "rss"_s), rss, JSC::PropertyAttribute::Function | 0); + return memoryUsage; +} + static JSValue constructFeatures(VM& vm, JSObject* processObject) { // { @@ -1133,16 +1489,16 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionCwd, browser constructBrowser PropertyCallback chdir Process_functionChdir Function 1 config constructProcessConfigObject PropertyCallback - debugPort processDebugPort CustomAccessor - exitCode processExitCode CustomAccessor - title processTitle CustomAccessor + cpuUsage Process_functionCpuUsage Function 1 cwd Process_functionCwd Function 1 + debugPort processDebugPort CustomAccessor dlopen Process_functionDlopen Function 1 emitWarning Process_emitWarning Function 1 env constructEnv PropertyCallback execArgv constructExecArgv PropertyCallback execPath constructExecPath PropertyCallback exit Process_functionExit Function 1 + exitCode processExitCode CustomAccessor features constructFeatures PropertyCallback getActiveResourcesInfo Process_stubFunctionReturningArray Function 0 getegid Process_functiongetegid Function 0 @@ -1153,6 +1509,7 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionCwd, hrtime constructProcessHrtimeObject PropertyCallback isBun constructIsBun PropertyCallback mainModule JSBuiltin ReadOnly|Builtin|Accessor|Function 0 + memoryUsage constructMemoryUsage PropertyCallback moduleLoadList Process_stubEmptyArray PropertyCallback nextTick Process_functionNextTick Function 1 openStdin Process_functionOpenStdin Function 0 @@ -1166,6 +1523,7 @@ JSC_DEFINE_HOST_FUNCTION(Process_functionCwd, stderr constructStderr PropertyCallback stdin constructStdin PropertyCallback stdout constructStdout PropertyCallback + title processTitle CustomAccessor umask Process_functionUmask Function 1 uptime Process_functionUptime Function 1 version constructVersion PropertyCallback @@ -1192,6 +1550,14 @@ void Process::finishCreation(JSC::VM& vm) { Base::finishCreation(vm); + this->cpuUsageStructure.initLater([](const JSC::LazyProperty::Initializer& init) { + init.set(constructCPUUsageStructure(init.vm, init.owner->globalObject())); + }); + + this->memoryUsageStructure.initLater([](const JSC::LazyProperty::Initializer& init) { + init.set(constructMemoryUsageStructure(init.vm, init.owner->globalObject())); + }); + this->putDirect(vm, vm.propertyNames->toStringTagSymbol, jsString(vm, String("process"_s)), 0); } diff --git a/src/bun.js/bindings/Process.h b/src/bun.js/bindings/Process.h index 8b703b8b1..fbad9b1ff 100644 --- a/src/bun.js/bindings/Process.h +++ b/src/bun.js/bindings/Process.h @@ -45,6 +45,24 @@ public: return accessor; } + LazyProperty cpuUsageStructure; + LazyProperty memoryUsageStructure; + + DECLARE_VISIT_CHILDREN; + + template + static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) + { + if constexpr (mode == JSC::SubspaceAccess::Concurrently) + return nullptr; + return WebCore::subspaceForImpl( + vm, + [](auto& spaces) { return spaces.m_clientSubspaceForProcessObject.get(); }, + [](auto& spaces, auto&& space) { spaces.m_clientSubspaceForProcessObject = std::forward(space); }, + [](auto& spaces) { return spaces.m_subspaceForProcessObject.get(); }, + [](auto& spaces, auto&& space) { spaces.m_subspaceForProcessObject = std::forward(space); }); + } + void finishCreation(JSC::VM& vm); }; diff --git a/src/bun.js/bindings/Process.lut.h b/src/bun.js/bindings/Process.lut.h index 5c0bd2c5a..81eb1b7b9 100644 --- a/src/bun.js/bindings/Process.lut.h +++ b/src/bun.js/bindings/Process.lut.h @@ -1,6 +1,6 @@ // File generated via `make generate-builtins` -static const struct CompactHashIndex processObjectTableIndex[141] = { - { 42, -1 }, +static const struct CompactHashIndex processObjectTableIndex[142] = { + { 43, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, @@ -11,12 +11,12 @@ static const struct CompactHashIndex processObjectTableIndex[141] = { { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 16, 130 }, + { 15, 129 }, { -1, -1 }, { -1, -1 }, - { 19, 137 }, + { 18, 138 }, { -1, -1 }, - { 43, -1 }, + { 45, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, @@ -33,37 +33,37 @@ static const struct CompactHashIndex processObjectTableIndex[141] = { { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 3, 140 }, + { 3, 141 }, { 1, 128 }, { -1, -1 }, - { 57, -1 }, - { -1, -1 }, + { 59, -1 }, { -1, -1 }, + { 10, -1 }, { -1, -1 }, { -1, -1 }, - { 30, -1 }, + { 31, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 50, -1 }, + { 52, -1 }, { 27, -1 }, - { 10, -1 }, + { 12, -1 }, { -1, -1 }, - { 11, -1 }, + { 19, -1 }, { -1, -1 }, - { 15, 136 }, + { 14, 137 }, { -1, -1 }, - { 35, -1 }, + { 36, -1 }, { -1, -1 }, - { 37, -1 }, - { 53, -1 }, - { 34, -1 }, - { 6, 138 }, + { 38, -1 }, + { 55, -1 }, + { 35, -1 }, + { 6, 139 }, { -1, -1 }, - { 49, -1 }, + { 51, -1 }, { 4, -1 }, - { 45, -1 }, + { 47, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, @@ -75,23 +75,23 @@ static const struct CompactHashIndex processObjectTableIndex[141] = { { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 39, -1 }, + { 40, -1 }, { -1, -1 }, - { 36, -1 }, + { 37, -1 }, { -1, -1 }, { 0, -1 }, - { 12, 129 }, - { 17, 131 }, - { 38, -1 }, + { 26, 135 }, + { 16, 130 }, + { 39, -1 }, { -1, -1 }, { 23, -1 }, - { 13, -1 }, + { 11, -1 }, { -1, -1 }, { -1, -1 }, - { 56, -1 }, + { 58, -1 }, { -1, -1 }, { -1, -1 }, - { 47, -1 }, + { 30, 136 }, { -1, -1 }, { 29, -1 }, { 22, -1 }, @@ -105,45 +105,46 @@ static const struct CompactHashIndex processObjectTableIndex[141] = { { 5, -1 }, { -1, -1 }, { -1, -1 }, - { 46, -1 }, + { 48, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 14, 132 }, + { 13, 131 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, { 9, -1 }, - { 25, 134 }, + { 25, 133 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 21, 135 }, + { 21, 134 }, { -1, -1 }, { -1, -1 }, { -1, -1 }, - { 44, 139 }, + { 46, 140 }, { -1, -1 }, - { 18, -1 }, + { 17, -1 }, { 8, -1 }, - { 26, -1 }, { 28, -1 }, - { 31, 133 }, - { 32, -1 }, + { 32, 132 }, { 33, -1 }, - { 40, -1 }, + { 34, -1 }, { 41, -1 }, - { 48, -1 }, - { 51, -1 }, - { 52, -1 }, + { 42, -1 }, + { 44, -1 }, + { 49, -1 }, + { 50, -1 }, + { 53, -1 }, { 54, -1 }, - { 55, -1 }, + { 56, -1 }, + { 57, -1 }, }; -static const struct HashTableValue processObjectTableValues[58] = { +static const struct HashTableValue processObjectTableValues[60] = { { "abort"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionAbort, 1 } }, { "allowedNodeEnvironmentFlags"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, Process_stubEmptySet } }, { "arch"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructArch } }, @@ -154,16 +155,16 @@ static const struct HashTableValue processObjectTableValues[58] = { { "browser"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructBrowser } }, { "chdir"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionChdir, 1 } }, { "config"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessConfigObject } }, - { "debugPort"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processDebugPort, setProcessDebugPort } }, - { "exitCode"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processExitCode, setProcessExitCode } }, - { "title"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processTitle, setProcessTitle } }, + { "cpuUsage"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionCpuUsage, 1 } }, { "cwd"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionCwd, 1 } }, + { "debugPort"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processDebugPort, setProcessDebugPort } }, { "dlopen"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionDlopen, 1 } }, { "emitWarning"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_emitWarning, 1 } }, { "env"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructEnv } }, { "execArgv"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructExecArgv } }, { "execPath"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructExecPath } }, { "exit"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionExit, 1 } }, + { "exitCode"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processExitCode, setProcessExitCode } }, { "features"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructFeatures } }, { "getActiveResourcesInfo"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_stubFunctionReturningArray, 0 } }, { "getegid"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functiongetegid, 0 } }, @@ -174,6 +175,7 @@ static const struct HashTableValue processObjectTableValues[58] = { { "hrtime"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructProcessHrtimeObject } }, { "isBun"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructIsBun } }, { "mainModule"_s, ((static_cast(PropertyAttribute::ReadOnly|PropertyAttribute::Builtin|PropertyAttribute::Accessor|PropertyAttribute::Function)) & ~PropertyAttribute::Function) | PropertyAttribute::Builtin, NoIntrinsic, { HashTableValue::BuiltinGeneratorType, processObjectMainModuleCodeGenerator, 0 } }, + { "memoryUsage"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructMemoryUsage } }, { "moduleLoadList"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, Process_stubEmptyArray } }, { "nextTick"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionNextTick, 1 } }, { "openStdin"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionOpenStdin, 0 } }, @@ -187,6 +189,7 @@ static const struct HashTableValue processObjectTableValues[58] = { { "stderr"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStderr } }, { "stdin"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStdin } }, { "stdout"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructStdout } }, + { "title"_s, static_cast(PropertyAttribute::CustomAccessor), NoIntrinsic, { HashTableValue::GetterSetterType, processTitle, setProcessTitle } }, { "umask"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionUmask, 1 } }, { "uptime"_s, static_cast(PropertyAttribute::Function), NoIntrinsic, { HashTableValue::NativeFunctionType, Process_functionUptime, 1 } }, { "version"_s, static_cast(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, constructVersion } }, @@ -205,4 +208,4 @@ static const struct HashTableValue processObjectTableValues[58] = { }; static const struct HashTable processObjectTable = - { 58, 127, true, nullptr, processObjectTableValues, processObjectTableIndex }; + { 60, 127, true, nullptr, processObjectTableValues, processObjectTableIndex }; diff --git a/src/bun.js/bindings/webcore/DOMClientIsoSubspaces.h b/src/bun.js/bindings/webcore/DOMClientIsoSubspaces.h index 65875d091..82a2c6a24 100644 --- a/src/bun.js/bindings/webcore/DOMClientIsoSubspaces.h +++ b/src/bun.js/bindings/webcore/DOMClientIsoSubspaces.h @@ -38,6 +38,7 @@ public: std::unique_ptr m_clientSubspaceForJSMockImplementation; std::unique_ptr m_clientSubspaceForJSMockFunction; std::unique_ptr m_clientSubspaceForMockWithImplementationCleanupData; + std::unique_ptr m_clientSubspaceForProcessObject; #include "ZigGeneratedClasses+DOMClientIsoSubspaces.h" /* --- bun --- */ diff --git a/src/bun.js/bindings/webcore/DOMIsoSubspaces.h b/src/bun.js/bindings/webcore/DOMIsoSubspaces.h index 433832450..f1b290d25 100644 --- a/src/bun.js/bindings/webcore/DOMIsoSubspaces.h +++ b/src/bun.js/bindings/webcore/DOMIsoSubspaces.h @@ -38,6 +38,7 @@ public: std::unique_ptr m_subspaceForJSMockImplementation; std::unique_ptr m_subspaceForJSMockFunction; std::unique_ptr m_subspaceForMockWithImplementationCleanupData; + std::unique_ptr m_subspaceForProcessObject; #include "ZigGeneratedClasses+DOMIsoSubspaces.h" /*-- BUN --*/ diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js index c4701f664..e038383de 100644 --- a/test/js/node/process/process.test.js +++ b/test/js/node/process/process.test.js @@ -162,7 +162,8 @@ it("process.umask()", () => { expect(process.umask()).toBe(orig); }); -const versions = existsSync(import.meta.dir + "/../../src/generated_versions_list.zig"); +const generated_versions_list = join(import.meta.dir, "../../../../src/generated_versions_list.zig"); +const versions = existsSync(generated_versions_list); (versions ? it : it.skip)("process.versions", () => { // Generate a list of all the versions in the versions object // example: @@ -178,7 +179,7 @@ const versions = existsSync(import.meta.dir + "/../../src/generated_versions_lis // pub const c_ares = "0e7a5dee0fbb04080750cf6eabbe89d8bae87faa"; // pub const usockets = "fafc241e8664243fc0c51d69684d5d02b9805134"; const versions = Object.fromEntries( - readFileSync(import.meta.dir + "/../../src/generated_versions_list.zig", "utf8") + readFileSync(generated_versions_list, "utf8") .split("\n") .filter(line => line.startsWith("pub const") && !line.includes("zig") && line.includes(' = "')) .map(line => line.split(" = ")) @@ -291,3 +292,140 @@ describe("process.onBeforeExit", () => { expect(stdout.toString().trim()).toBe("beforeExit: 0\nbeforeExit: 1\nexit: 2"); }); }); + +it("process.memoryUsage", () => { + expect(process.memoryUsage()).toEqual({ + rss: expect.any(Number), + heapTotal: expect.any(Number), + heapUsed: expect.any(Number), + external: expect.any(Number), + arrayBuffers: expect.any(Number), + }); +}); + +it("process.memoryUsage.rss", () => { + expect(process.memoryUsage.rss()).toEqual(expect.any(Number)); +}); + +describe("process.cpuUsage", () => { + it("works", () => { + expect(process.cpuUsage()).toEqual({ + user: expect.any(Number), + system: expect.any(Number), + }); + }); + + it("works with diff", () => { + const init = process.cpuUsage(); + for (let i = 0; i < 1000; i++) {} + const delta = process.cpuUsage(init); + expect(delta.user).toBeGreaterThan(0); + expect(delta.system).toBeGreaterThan(0); + }); + + it("works with diff of different structure", () => { + const init = { + user: 0, + system: 0, + }; + for (let i = 0; i < 1000; i++) {} + const delta = process.cpuUsage(init); + expect(delta.user).toBeGreaterThan(0); + expect(delta.system).toBeGreaterThan(0); + }); + + it("throws on invalid property", () => { + const fixtures = [ + {}, + { user: null }, + { user: {} }, + { user: "potato" }, + + { user: 123 }, + { user: 123, system: null }, + { user: 123, system: "potato" }, + ]; + for (const fixture of fixtures) { + expect(() => process.cpuUsage(fixture)).toThrow(); + } + }); + + // Skipped on Linux because it seems to not change as often as on macOS + it.skipIf(process.platform === "linux")("increases monotonically", () => { + const init = process.cpuUsage(); + for (let i = 0; i < 10000; i++) {} + const another = process.cpuUsage(); + expect(another.user).toBeGreaterThan(init.user); + expect(another.system).toBeGreaterThan(init.system); + }); +}); + +it("process.getegid", () => { + expect(typeof process.getegid()).toBe("number"); +}); +it("process.geteuid", () => { + expect(typeof process.geteuid()).toBe("number"); +}); +it("process.getgid", () => { + expect(typeof process.getgid()).toBe("number"); +}); +it("process.getgroups", () => { + expect(process.getgroups()).toBeInstanceOf(Array); + expect(process.getgroups().length).toBeGreaterThan(0); +}); +it("process.getuid", () => { + expect(typeof process.getuid()).toBe("number"); +}); + +it("process.getuid", () => { + expect(typeof process.getuid()).toBe("number"); +}); + +const undefinedStubs = [ + "_debugEnd", + "_debugProcess", + "_fatalException", + "_linkedBinding", + "_rawDebug", + "_startProfilerIdleNotifier", + "_stopProfilerIdleNotifier", + "_tickCallback", +]; + +for (const stub of undefinedStubs) { + it(`process.${stub}`, () => { + expect(process[stub]()).toBeUndefined(); + }); +} + +const arrayStubs = ["getActiveResourcesInfo", "_getActiveRequests", "_getActiveHandles"]; + +for (const stub of arrayStubs) { + it(`process.${stub}`, () => { + expect(process[stub]()).toBeInstanceOf(Array); + }); +} + +const emptyObjectStubs = ["_preload_modules"]; +const emptySetStubs = ["allowedNodeEnvironmentFlags"]; +const emptyArrayStubs = ["moduleLoadList"]; + +for (const stub of emptyObjectStubs) { + it(`process.${stub}`, () => { + expect(process[stub]).toEqual({}); + }); +} + +for (const stub of emptySetStubs) { + it(`process.${stub}`, () => { + expect(process[stub]).toBeInstanceOf(Set); + expect(process[stub].size).toBe(0); + }); +} + +for (const stub of emptyArrayStubs) { + it(`process.${stub}`, () => { + expect(process[stub]).toBeInstanceOf(Array); + expect(process[stub]).toHaveLength(0); + }); +} -- cgit v1.2.3