based-auth
Version:
A Next.js/Node.js authentication and wallet API kit for Ethereum and Solana, with utilities for serialization and contract interaction, designed for serverless and API route usage.
657 lines • 577 kB
JavaScript
import jc from "next-auth";
import $n from "crypto";
import { Keypair as Rc, PublicKey as yt, Connection as Tc, Transaction as ai, SystemProgram as oi, sendAndConfirmTransaction as ii, ComputeBudgetProgram as ni, SYSVAR_RENT_PUBKEY as Uc } from "@solana/web3.js";
import { Mnemonic as Lc, HDNodeWallet as Oc, hashMessage as Cc, recoverAddress as qc, getBytes as Hc, WebSocketProvider as Mc, Contract as Dc } from "ethers";
import { chainSolDevnet as Nc, AllChains as ta } from "./chains.js";
import Pc, { Schema as si, models as Fc, model as $c } from "mongoose";
import { N as Zt, h as Vc, d as Wc, a as Gc } from "./index-DoYa-2VZ.mjs";
import Kc from "stream";
import { NextResponse as ma } from "next/server";
import { d as Yc, s as Zc } from "./serialize-DsMsapZ4.mjs";
import { AnchorProvider as Xc, Program as Jc } from "@coral-xyz/anchor";
import { r as Qc } from "./constants-BXtpLmkk.mjs";
var Et = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Vn(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function Wn(e) {
if (Object.prototype.hasOwnProperty.call(e, "__esModule")) return e;
var r = e.default;
if (typeof r == "function") {
var t = function i() {
return this instanceof i ? Reflect.construct(r, arguments, this.constructor) : r.apply(this, arguments);
};
t.prototype = r.prototype;
} else t = {};
return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(e).forEach(function(i) {
var s = Object.getOwnPropertyDescriptor(e, i);
Object.defineProperty(t, i, s.get ? s : {
enumerable: !0,
get: function() {
return e[i];
}
});
}), t;
}
function el(e) {
return {
id: "google",
name: "Google",
type: "oidc",
issuer: "https://accounts.google.com",
style: {
brandColor: "#1a73e8"
},
options: e
};
}
function rl(e) {
var i, s, a;
const r = ((i = e == null ? void 0 : e.enterprise) == null ? void 0 : i.baseUrl) ?? "https://github.com", t = (s = e == null ? void 0 : e.enterprise) != null && s.baseUrl ? `${(a = e == null ? void 0 : e.enterprise) == null ? void 0 : a.baseUrl}/api/v3` : "https://api.github.com";
return {
id: "github",
name: "GitHub",
type: "oauth",
authorization: {
url: `${r}/login/oauth/authorize`,
params: { scope: "read:user user:email" }
},
token: `${r}/login/oauth/access_token`,
userinfo: {
url: `${t}/user`,
async request({ tokens: l, provider: n }) {
var b;
const f = await fetch((b = n.userinfo) == null ? void 0 : b.url, {
headers: {
Authorization: `Bearer ${l.access_token}`,
"User-Agent": "authjs"
}
}).then(async (d) => await d.json());
if (!f.email) {
const d = await fetch(`${t}/user/emails`, {
headers: {
Authorization: `Bearer ${l.access_token}`,
"User-Agent": "authjs"
}
});
if (d.ok) {
const w = await d.json();
f.email = (w.find((p) => p.primary) ?? w[0]).email;
}
}
return f;
}
},
profile(l) {
return {
id: l.id.toString(),
name: l.name ?? l.login,
email: l.email,
image: l.avatar_url
};
},
style: { bg: "#24292f", text: "#fff" },
options: e
};
}
function tl(e) {
return {
id: "twitter",
name: "Twitter",
type: "oauth",
checks: ["pkce", "state"],
authorization: "https://x.com/i/oauth2/authorize?scope=users.read tweet.read offline.access",
token: "https://api.x.com/2/oauth2/token",
userinfo: "https://api.x.com/2/users/me?user.fields=profile_image_url",
profile({ data: r }) {
return {
id: r.id,
name: r.name,
email: r.email ?? null,
image: r.profile_image_url
};
},
style: { bg: "#1da1f2", text: "#fff" },
options: e
};
}
function al(e) {
return {
id: "credentials",
name: "Credentials",
type: "credentials",
credentials: {},
authorize: () => null,
// @ts-expect-error
options: e
};
}
function ol(e) {
throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var ga = { exports: {} }, ci;
function Gn() {
return ci || (ci = 1, function(e) {
(function(r) {
var t = function(h) {
var _, y = new Float64Array(16);
if (h) for (_ = 0; _ < h.length; _++) y[_] = h[_];
return y;
}, i = function() {
throw new Error("no PRNG");
}, s = new Uint8Array(16), a = new Uint8Array(32);
a[0] = 9;
var l = t(), n = t([1]), f = t([56129, 1]), b = t([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]), d = t([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]), w = t([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]), p = t([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]), v = t([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]);
function m(h, _, y, o) {
h[_] = y >> 24 & 255, h[_ + 1] = y >> 16 & 255, h[_ + 2] = y >> 8 & 255, h[_ + 3] = y & 255, h[_ + 4] = o >> 24 & 255, h[_ + 5] = o >> 16 & 255, h[_ + 6] = o >> 8 & 255, h[_ + 7] = o & 255;
}
function g(h, _, y, o, k) {
var P, $ = 0;
for (P = 0; P < k; P++) $ |= h[_ + P] ^ y[o + P];
return (1 & $ - 1 >>> 8) - 1;
}
function z(h, _, y, o) {
return g(h, _, y, o, 16);
}
function E(h, _, y, o) {
return g(h, _, y, o, 32);
}
function q(h, _, y, o) {
for (var k = o[0] & 255 | (o[1] & 255) << 8 | (o[2] & 255) << 16 | (o[3] & 255) << 24, P = y[0] & 255 | (y[1] & 255) << 8 | (y[2] & 255) << 16 | (y[3] & 255) << 24, $ = y[4] & 255 | (y[5] & 255) << 8 | (y[6] & 255) << 16 | (y[7] & 255) << 24, ae = y[8] & 255 | (y[9] & 255) << 8 | (y[10] & 255) << 16 | (y[11] & 255) << 24, ce = y[12] & 255 | (y[13] & 255) << 8 | (y[14] & 255) << 16 | (y[15] & 255) << 24, ze = o[4] & 255 | (o[5] & 255) << 8 | (o[6] & 255) << 16 | (o[7] & 255) << 24, me = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, Je = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, xe = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, Te = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Ue = o[8] & 255 | (o[9] & 255) << 8 | (o[10] & 255) << 16 | (o[11] & 255) << 24, Ne = y[16] & 255 | (y[17] & 255) << 8 | (y[18] & 255) << 16 | (y[19] & 255) << 24, De = y[20] & 255 | (y[21] & 255) << 8 | (y[22] & 255) << 16 | (y[23] & 255) << 24, Le = y[24] & 255 | (y[25] & 255) << 8 | (y[26] & 255) << 16 | (y[27] & 255) << 24, qe = y[28] & 255 | (y[29] & 255) << 8 | (y[30] & 255) << 16 | (y[31] & 255) << 24, Oe = o[12] & 255 | (o[13] & 255) << 8 | (o[14] & 255) << 16 | (o[15] & 255) << 24, _e = k, Be = P, ve = $, Ee = ae, Se = ce, pe = ze, G = me, K = Je, ie = xe, te = Te, oe = Ue, ne = Ne, je = De, Pe = Le, $e = qe, Fe = Oe, U, We = 0; We < 20; We += 2)
U = _e + je | 0, Se ^= U << 7 | U >>> 25, U = Se + _e | 0, ie ^= U << 9 | U >>> 23, U = ie + Se | 0, je ^= U << 13 | U >>> 19, U = je + ie | 0, _e ^= U << 18 | U >>> 14, U = pe + Be | 0, te ^= U << 7 | U >>> 25, U = te + pe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + te | 0, Be ^= U << 13 | U >>> 19, U = Be + Pe | 0, pe ^= U << 18 | U >>> 14, U = oe + G | 0, $e ^= U << 7 | U >>> 25, U = $e + oe | 0, ve ^= U << 9 | U >>> 23, U = ve + $e | 0, G ^= U << 13 | U >>> 19, U = G + ve | 0, oe ^= U << 18 | U >>> 14, U = Fe + ne | 0, Ee ^= U << 7 | U >>> 25, U = Ee + Fe | 0, K ^= U << 9 | U >>> 23, U = K + Ee | 0, ne ^= U << 13 | U >>> 19, U = ne + K | 0, Fe ^= U << 18 | U >>> 14, U = _e + Ee | 0, Be ^= U << 7 | U >>> 25, U = Be + _e | 0, ve ^= U << 9 | U >>> 23, U = ve + Be | 0, Ee ^= U << 13 | U >>> 19, U = Ee + ve | 0, _e ^= U << 18 | U >>> 14, U = pe + Se | 0, G ^= U << 7 | U >>> 25, U = G + pe | 0, K ^= U << 9 | U >>> 23, U = K + G | 0, Se ^= U << 13 | U >>> 19, U = Se + K | 0, pe ^= U << 18 | U >>> 14, U = oe + te | 0, ne ^= U << 7 | U >>> 25, U = ne + oe | 0, ie ^= U << 9 | U >>> 23, U = ie + ne | 0, te ^= U << 13 | U >>> 19, U = te + ie | 0, oe ^= U << 18 | U >>> 14, U = Fe + $e | 0, je ^= U << 7 | U >>> 25, U = je + Fe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + je | 0, $e ^= U << 13 | U >>> 19, U = $e + Pe | 0, Fe ^= U << 18 | U >>> 14;
_e = _e + k | 0, Be = Be + P | 0, ve = ve + $ | 0, Ee = Ee + ae | 0, Se = Se + ce | 0, pe = pe + ze | 0, G = G + me | 0, K = K + Je | 0, ie = ie + xe | 0, te = te + Te | 0, oe = oe + Ue | 0, ne = ne + Ne | 0, je = je + De | 0, Pe = Pe + Le | 0, $e = $e + qe | 0, Fe = Fe + Oe | 0, h[0] = _e >>> 0 & 255, h[1] = _e >>> 8 & 255, h[2] = _e >>> 16 & 255, h[3] = _e >>> 24 & 255, h[4] = Be >>> 0 & 255, h[5] = Be >>> 8 & 255, h[6] = Be >>> 16 & 255, h[7] = Be >>> 24 & 255, h[8] = ve >>> 0 & 255, h[9] = ve >>> 8 & 255, h[10] = ve >>> 16 & 255, h[11] = ve >>> 24 & 255, h[12] = Ee >>> 0 & 255, h[13] = Ee >>> 8 & 255, h[14] = Ee >>> 16 & 255, h[15] = Ee >>> 24 & 255, h[16] = Se >>> 0 & 255, h[17] = Se >>> 8 & 255, h[18] = Se >>> 16 & 255, h[19] = Se >>> 24 & 255, h[20] = pe >>> 0 & 255, h[21] = pe >>> 8 & 255, h[22] = pe >>> 16 & 255, h[23] = pe >>> 24 & 255, h[24] = G >>> 0 & 255, h[25] = G >>> 8 & 255, h[26] = G >>> 16 & 255, h[27] = G >>> 24 & 255, h[28] = K >>> 0 & 255, h[29] = K >>> 8 & 255, h[30] = K >>> 16 & 255, h[31] = K >>> 24 & 255, h[32] = ie >>> 0 & 255, h[33] = ie >>> 8 & 255, h[34] = ie >>> 16 & 255, h[35] = ie >>> 24 & 255, h[36] = te >>> 0 & 255, h[37] = te >>> 8 & 255, h[38] = te >>> 16 & 255, h[39] = te >>> 24 & 255, h[40] = oe >>> 0 & 255, h[41] = oe >>> 8 & 255, h[42] = oe >>> 16 & 255, h[43] = oe >>> 24 & 255, h[44] = ne >>> 0 & 255, h[45] = ne >>> 8 & 255, h[46] = ne >>> 16 & 255, h[47] = ne >>> 24 & 255, h[48] = je >>> 0 & 255, h[49] = je >>> 8 & 255, h[50] = je >>> 16 & 255, h[51] = je >>> 24 & 255, h[52] = Pe >>> 0 & 255, h[53] = Pe >>> 8 & 255, h[54] = Pe >>> 16 & 255, h[55] = Pe >>> 24 & 255, h[56] = $e >>> 0 & 255, h[57] = $e >>> 8 & 255, h[58] = $e >>> 16 & 255, h[59] = $e >>> 24 & 255, h[60] = Fe >>> 0 & 255, h[61] = Fe >>> 8 & 255, h[62] = Fe >>> 16 & 255, h[63] = Fe >>> 24 & 255;
}
function O(h, _, y, o) {
for (var k = o[0] & 255 | (o[1] & 255) << 8 | (o[2] & 255) << 16 | (o[3] & 255) << 24, P = y[0] & 255 | (y[1] & 255) << 8 | (y[2] & 255) << 16 | (y[3] & 255) << 24, $ = y[4] & 255 | (y[5] & 255) << 8 | (y[6] & 255) << 16 | (y[7] & 255) << 24, ae = y[8] & 255 | (y[9] & 255) << 8 | (y[10] & 255) << 16 | (y[11] & 255) << 24, ce = y[12] & 255 | (y[13] & 255) << 8 | (y[14] & 255) << 16 | (y[15] & 255) << 24, ze = o[4] & 255 | (o[5] & 255) << 8 | (o[6] & 255) << 16 | (o[7] & 255) << 24, me = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, Je = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, xe = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, Te = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Ue = o[8] & 255 | (o[9] & 255) << 8 | (o[10] & 255) << 16 | (o[11] & 255) << 24, Ne = y[16] & 255 | (y[17] & 255) << 8 | (y[18] & 255) << 16 | (y[19] & 255) << 24, De = y[20] & 255 | (y[21] & 255) << 8 | (y[22] & 255) << 16 | (y[23] & 255) << 24, Le = y[24] & 255 | (y[25] & 255) << 8 | (y[26] & 255) << 16 | (y[27] & 255) << 24, qe = y[28] & 255 | (y[29] & 255) << 8 | (y[30] & 255) << 16 | (y[31] & 255) << 24, Oe = o[12] & 255 | (o[13] & 255) << 8 | (o[14] & 255) << 16 | (o[15] & 255) << 24, _e = k, Be = P, ve = $, Ee = ae, Se = ce, pe = ze, G = me, K = Je, ie = xe, te = Te, oe = Ue, ne = Ne, je = De, Pe = Le, $e = qe, Fe = Oe, U, We = 0; We < 20; We += 2)
U = _e + je | 0, Se ^= U << 7 | U >>> 25, U = Se + _e | 0, ie ^= U << 9 | U >>> 23, U = ie + Se | 0, je ^= U << 13 | U >>> 19, U = je + ie | 0, _e ^= U << 18 | U >>> 14, U = pe + Be | 0, te ^= U << 7 | U >>> 25, U = te + pe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + te | 0, Be ^= U << 13 | U >>> 19, U = Be + Pe | 0, pe ^= U << 18 | U >>> 14, U = oe + G | 0, $e ^= U << 7 | U >>> 25, U = $e + oe | 0, ve ^= U << 9 | U >>> 23, U = ve + $e | 0, G ^= U << 13 | U >>> 19, U = G + ve | 0, oe ^= U << 18 | U >>> 14, U = Fe + ne | 0, Ee ^= U << 7 | U >>> 25, U = Ee + Fe | 0, K ^= U << 9 | U >>> 23, U = K + Ee | 0, ne ^= U << 13 | U >>> 19, U = ne + K | 0, Fe ^= U << 18 | U >>> 14, U = _e + Ee | 0, Be ^= U << 7 | U >>> 25, U = Be + _e | 0, ve ^= U << 9 | U >>> 23, U = ve + Be | 0, Ee ^= U << 13 | U >>> 19, U = Ee + ve | 0, _e ^= U << 18 | U >>> 14, U = pe + Se | 0, G ^= U << 7 | U >>> 25, U = G + pe | 0, K ^= U << 9 | U >>> 23, U = K + G | 0, Se ^= U << 13 | U >>> 19, U = Se + K | 0, pe ^= U << 18 | U >>> 14, U = oe + te | 0, ne ^= U << 7 | U >>> 25, U = ne + oe | 0, ie ^= U << 9 | U >>> 23, U = ie + ne | 0, te ^= U << 13 | U >>> 19, U = te + ie | 0, oe ^= U << 18 | U >>> 14, U = Fe + $e | 0, je ^= U << 7 | U >>> 25, U = je + Fe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + je | 0, $e ^= U << 13 | U >>> 19, U = $e + Pe | 0, Fe ^= U << 18 | U >>> 14;
h[0] = _e >>> 0 & 255, h[1] = _e >>> 8 & 255, h[2] = _e >>> 16 & 255, h[3] = _e >>> 24 & 255, h[4] = pe >>> 0 & 255, h[5] = pe >>> 8 & 255, h[6] = pe >>> 16 & 255, h[7] = pe >>> 24 & 255, h[8] = oe >>> 0 & 255, h[9] = oe >>> 8 & 255, h[10] = oe >>> 16 & 255, h[11] = oe >>> 24 & 255, h[12] = Fe >>> 0 & 255, h[13] = Fe >>> 8 & 255, h[14] = Fe >>> 16 & 255, h[15] = Fe >>> 24 & 255, h[16] = G >>> 0 & 255, h[17] = G >>> 8 & 255, h[18] = G >>> 16 & 255, h[19] = G >>> 24 & 255, h[20] = K >>> 0 & 255, h[21] = K >>> 8 & 255, h[22] = K >>> 16 & 255, h[23] = K >>> 24 & 255, h[24] = ie >>> 0 & 255, h[25] = ie >>> 8 & 255, h[26] = ie >>> 16 & 255, h[27] = ie >>> 24 & 255, h[28] = te >>> 0 & 255, h[29] = te >>> 8 & 255, h[30] = te >>> 16 & 255, h[31] = te >>> 24 & 255;
}
function j(h, _, y, o) {
q(h, _, y, o);
}
function S(h, _, y, o) {
O(h, _, y, o);
}
var C = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);
function F(h, _, y, o, k, P, $) {
var ae = new Uint8Array(16), ce = new Uint8Array(64), ze, me;
for (me = 0; me < 16; me++) ae[me] = 0;
for (me = 0; me < 8; me++) ae[me] = P[me];
for (; k >= 64; ) {
for (j(ce, ae, $, C), me = 0; me < 64; me++) h[_ + me] = y[o + me] ^ ce[me];
for (ze = 1, me = 8; me < 16; me++)
ze = ze + (ae[me] & 255) | 0, ae[me] = ze & 255, ze >>>= 8;
k -= 64, _ += 64, o += 64;
}
if (k > 0)
for (j(ce, ae, $, C), me = 0; me < k; me++) h[_ + me] = y[o + me] ^ ce[me];
return 0;
}
function V(h, _, y, o, k) {
var P = new Uint8Array(16), $ = new Uint8Array(64), ae, ce;
for (ce = 0; ce < 16; ce++) P[ce] = 0;
for (ce = 0; ce < 8; ce++) P[ce] = o[ce];
for (; y >= 64; ) {
for (j($, P, k, C), ce = 0; ce < 64; ce++) h[_ + ce] = $[ce];
for (ae = 1, ce = 8; ce < 16; ce++)
ae = ae + (P[ce] & 255) | 0, P[ce] = ae & 255, ae >>>= 8;
y -= 64, _ += 64;
}
if (y > 0)
for (j($, P, k, C), ce = 0; ce < y; ce++) h[_ + ce] = $[ce];
return 0;
}
function L(h, _, y, o, k) {
var P = new Uint8Array(32);
S(P, o, k, C);
for (var $ = new Uint8Array(8), ae = 0; ae < 8; ae++) $[ae] = o[ae + 16];
return V(h, _, y, $, P);
}
function N(h, _, y, o, k, P, $) {
var ae = new Uint8Array(32);
S(ae, P, $, C);
for (var ce = new Uint8Array(8), ze = 0; ze < 8; ze++) ce[ze] = P[ze + 16];
return F(h, _, y, o, k, ce, ae);
}
var Z = function(h) {
this.buffer = new Uint8Array(16), this.r = new Uint16Array(10), this.h = new Uint16Array(10), this.pad = new Uint16Array(8), this.leftover = 0, this.fin = 0;
var _, y, o, k, P, $, ae, ce;
_ = h[0] & 255 | (h[1] & 255) << 8, this.r[0] = _ & 8191, y = h[2] & 255 | (h[3] & 255) << 8, this.r[1] = (_ >>> 13 | y << 3) & 8191, o = h[4] & 255 | (h[5] & 255) << 8, this.r[2] = (y >>> 10 | o << 6) & 7939, k = h[6] & 255 | (h[7] & 255) << 8, this.r[3] = (o >>> 7 | k << 9) & 8191, P = h[8] & 255 | (h[9] & 255) << 8, this.r[4] = (k >>> 4 | P << 12) & 255, this.r[5] = P >>> 1 & 8190, $ = h[10] & 255 | (h[11] & 255) << 8, this.r[6] = (P >>> 14 | $ << 2) & 8191, ae = h[12] & 255 | (h[13] & 255) << 8, this.r[7] = ($ >>> 11 | ae << 5) & 8065, ce = h[14] & 255 | (h[15] & 255) << 8, this.r[8] = (ae >>> 8 | ce << 8) & 8191, this.r[9] = ce >>> 5 & 127, this.pad[0] = h[16] & 255 | (h[17] & 255) << 8, this.pad[1] = h[18] & 255 | (h[19] & 255) << 8, this.pad[2] = h[20] & 255 | (h[21] & 255) << 8, this.pad[3] = h[22] & 255 | (h[23] & 255) << 8, this.pad[4] = h[24] & 255 | (h[25] & 255) << 8, this.pad[5] = h[26] & 255 | (h[27] & 255) << 8, this.pad[6] = h[28] & 255 | (h[29] & 255) << 8, this.pad[7] = h[30] & 255 | (h[31] & 255) << 8;
};
Z.prototype.blocks = function(h, _, y) {
for (var o = this.fin ? 0 : 2048, k, P, $, ae, ce, ze, me, Je, xe, Te, Ue, Ne, De, Le, qe, Oe, _e, Be, ve, Ee = this.h[0], Se = this.h[1], pe = this.h[2], G = this.h[3], K = this.h[4], ie = this.h[5], te = this.h[6], oe = this.h[7], ne = this.h[8], je = this.h[9], Pe = this.r[0], $e = this.r[1], Fe = this.r[2], U = this.r[3], We = this.r[4], Qe = this.r[5], er = this.r[6], Ve = this.r[7], Ke = this.r[8], Ye = this.r[9]; y >= 16; )
k = h[_ + 0] & 255 | (h[_ + 1] & 255) << 8, Ee += k & 8191, P = h[_ + 2] & 255 | (h[_ + 3] & 255) << 8, Se += (k >>> 13 | P << 3) & 8191, $ = h[_ + 4] & 255 | (h[_ + 5] & 255) << 8, pe += (P >>> 10 | $ << 6) & 8191, ae = h[_ + 6] & 255 | (h[_ + 7] & 255) << 8, G += ($ >>> 7 | ae << 9) & 8191, ce = h[_ + 8] & 255 | (h[_ + 9] & 255) << 8, K += (ae >>> 4 | ce << 12) & 8191, ie += ce >>> 1 & 8191, ze = h[_ + 10] & 255 | (h[_ + 11] & 255) << 8, te += (ce >>> 14 | ze << 2) & 8191, me = h[_ + 12] & 255 | (h[_ + 13] & 255) << 8, oe += (ze >>> 11 | me << 5) & 8191, Je = h[_ + 14] & 255 | (h[_ + 15] & 255) << 8, ne += (me >>> 8 | Je << 8) & 8191, je += Je >>> 5 | o, xe = 0, Te = xe, Te += Ee * Pe, Te += Se * (5 * Ye), Te += pe * (5 * Ke), Te += G * (5 * Ve), Te += K * (5 * er), xe = Te >>> 13, Te &= 8191, Te += ie * (5 * Qe), Te += te * (5 * We), Te += oe * (5 * U), Te += ne * (5 * Fe), Te += je * (5 * $e), xe += Te >>> 13, Te &= 8191, Ue = xe, Ue += Ee * $e, Ue += Se * Pe, Ue += pe * (5 * Ye), Ue += G * (5 * Ke), Ue += K * (5 * Ve), xe = Ue >>> 13, Ue &= 8191, Ue += ie * (5 * er), Ue += te * (5 * Qe), Ue += oe * (5 * We), Ue += ne * (5 * U), Ue += je * (5 * Fe), xe += Ue >>> 13, Ue &= 8191, Ne = xe, Ne += Ee * Fe, Ne += Se * $e, Ne += pe * Pe, Ne += G * (5 * Ye), Ne += K * (5 * Ke), xe = Ne >>> 13, Ne &= 8191, Ne += ie * (5 * Ve), Ne += te * (5 * er), Ne += oe * (5 * Qe), Ne += ne * (5 * We), Ne += je * (5 * U), xe += Ne >>> 13, Ne &= 8191, De = xe, De += Ee * U, De += Se * Fe, De += pe * $e, De += G * Pe, De += K * (5 * Ye), xe = De >>> 13, De &= 8191, De += ie * (5 * Ke), De += te * (5 * Ve), De += oe * (5 * er), De += ne * (5 * Qe), De += je * (5 * We), xe += De >>> 13, De &= 8191, Le = xe, Le += Ee * We, Le += Se * U, Le += pe * Fe, Le += G * $e, Le += K * Pe, xe = Le >>> 13, Le &= 8191, Le += ie * (5 * Ye), Le += te * (5 * Ke), Le += oe * (5 * Ve), Le += ne * (5 * er), Le += je * (5 * Qe), xe += Le >>> 13, Le &= 8191, qe = xe, qe += Ee * Qe, qe += Se * We, qe += pe * U, qe += G * Fe, qe += K * $e, xe = qe >>> 13, qe &= 8191, qe += ie * Pe, qe += te * (5 * Ye), qe += oe * (5 * Ke), qe += ne * (5 * Ve), qe += je * (5 * er), xe += qe >>> 13, qe &= 8191, Oe = xe, Oe += Ee * er, Oe += Se * Qe, Oe += pe * We, Oe += G * U, Oe += K * Fe, xe = Oe >>> 13, Oe &= 8191, Oe += ie * $e, Oe += te * Pe, Oe += oe * (5 * Ye), Oe += ne * (5 * Ke), Oe += je * (5 * Ve), xe += Oe >>> 13, Oe &= 8191, _e = xe, _e += Ee * Ve, _e += Se * er, _e += pe * Qe, _e += G * We, _e += K * U, xe = _e >>> 13, _e &= 8191, _e += ie * Fe, _e += te * $e, _e += oe * Pe, _e += ne * (5 * Ye), _e += je * (5 * Ke), xe += _e >>> 13, _e &= 8191, Be = xe, Be += Ee * Ke, Be += Se * Ve, Be += pe * er, Be += G * Qe, Be += K * We, xe = Be >>> 13, Be &= 8191, Be += ie * U, Be += te * Fe, Be += oe * $e, Be += ne * Pe, Be += je * (5 * Ye), xe += Be >>> 13, Be &= 8191, ve = xe, ve += Ee * Ye, ve += Se * Ke, ve += pe * Ve, ve += G * er, ve += K * Qe, xe = ve >>> 13, ve &= 8191, ve += ie * We, ve += te * U, ve += oe * Fe, ve += ne * $e, ve += je * Pe, xe += ve >>> 13, ve &= 8191, xe = (xe << 2) + xe | 0, xe = xe + Te | 0, Te = xe & 8191, xe = xe >>> 13, Ue += xe, Ee = Te, Se = Ue, pe = Ne, G = De, K = Le, ie = qe, te = Oe, oe = _e, ne = Be, je = ve, _ += 16, y -= 16;
this.h[0] = Ee, this.h[1] = Se, this.h[2] = pe, this.h[3] = G, this.h[4] = K, this.h[5] = ie, this.h[6] = te, this.h[7] = oe, this.h[8] = ne, this.h[9] = je;
}, Z.prototype.finish = function(h, _) {
var y = new Uint16Array(10), o, k, P, $;
if (this.leftover) {
for ($ = this.leftover, this.buffer[$++] = 1; $ < 16; $++) this.buffer[$] = 0;
this.fin = 1, this.blocks(this.buffer, 0, 16);
}
for (o = this.h[1] >>> 13, this.h[1] &= 8191, $ = 2; $ < 10; $++)
this.h[$] += o, o = this.h[$] >>> 13, this.h[$] &= 8191;
for (this.h[0] += o * 5, o = this.h[0] >>> 13, this.h[0] &= 8191, this.h[1] += o, o = this.h[1] >>> 13, this.h[1] &= 8191, this.h[2] += o, y[0] = this.h[0] + 5, o = y[0] >>> 13, y[0] &= 8191, $ = 1; $ < 10; $++)
y[$] = this.h[$] + o, o = y[$] >>> 13, y[$] &= 8191;
for (y[9] -= 8192, k = (o ^ 1) - 1, $ = 0; $ < 10; $++) y[$] &= k;
for (k = ~k, $ = 0; $ < 10; $++) this.h[$] = this.h[$] & k | y[$];
for (this.h[0] = (this.h[0] | this.h[1] << 13) & 65535, this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 65535, this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 65535, this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 65535, this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 65535, this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 65535, this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 65535, this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 65535, P = this.h[0] + this.pad[0], this.h[0] = P & 65535, $ = 1; $ < 8; $++)
P = (this.h[$] + this.pad[$] | 0) + (P >>> 16) | 0, this.h[$] = P & 65535;
h[_ + 0] = this.h[0] >>> 0 & 255, h[_ + 1] = this.h[0] >>> 8 & 255, h[_ + 2] = this.h[1] >>> 0 & 255, h[_ + 3] = this.h[1] >>> 8 & 255, h[_ + 4] = this.h[2] >>> 0 & 255, h[_ + 5] = this.h[2] >>> 8 & 255, h[_ + 6] = this.h[3] >>> 0 & 255, h[_ + 7] = this.h[3] >>> 8 & 255, h[_ + 8] = this.h[4] >>> 0 & 255, h[_ + 9] = this.h[4] >>> 8 & 255, h[_ + 10] = this.h[5] >>> 0 & 255, h[_ + 11] = this.h[5] >>> 8 & 255, h[_ + 12] = this.h[6] >>> 0 & 255, h[_ + 13] = this.h[6] >>> 8 & 255, h[_ + 14] = this.h[7] >>> 0 & 255, h[_ + 15] = this.h[7] >>> 8 & 255;
}, Z.prototype.update = function(h, _, y) {
var o, k;
if (this.leftover) {
for (k = 16 - this.leftover, k > y && (k = y), o = 0; o < k; o++)
this.buffer[this.leftover + o] = h[_ + o];
if (y -= k, _ += k, this.leftover += k, this.leftover < 16)
return;
this.blocks(this.buffer, 0, 16), this.leftover = 0;
}
if (y >= 16 && (k = y - y % 16, this.blocks(h, _, k), _ += k, y -= k), y) {
for (o = 0; o < y; o++)
this.buffer[this.leftover + o] = h[_ + o];
this.leftover += y;
}
};
function le(h, _, y, o, k, P) {
var $ = new Z(P);
return $.update(y, o, k), $.finish(h, _), 0;
}
function re(h, _, y, o, k, P) {
var $ = new Uint8Array(16);
return le($, 0, y, o, k, P), z(h, _, $, 0);
}
function ye(h, _, y, o, k) {
var P;
if (y < 32) return -1;
for (N(h, 0, _, 0, y, o, k), le(h, 16, h, 32, y - 32, h), P = 0; P < 16; P++) h[P] = 0;
return 0;
}
function Ae(h, _, y, o, k) {
var P, $ = new Uint8Array(32);
if (y < 32 || (L($, 0, 32, o, k), re(_, 16, _, 32, y - 32, $) !== 0)) return -1;
for (N(h, 0, _, 0, y, o, k), P = 0; P < 32; P++) h[P] = 0;
return 0;
}
function Re(h, _) {
var y;
for (y = 0; y < 16; y++) h[y] = _[y] | 0;
}
function Ie(h) {
var _, y, o = 1;
for (_ = 0; _ < 16; _++)
y = h[_] + o + 65535, o = Math.floor(y / 65536), h[_] = y - o * 65536;
h[0] += o - 1 + 37 * (o - 1);
}
function he(h, _, y) {
for (var o, k = ~(y - 1), P = 0; P < 16; P++)
o = k & (h[P] ^ _[P]), h[P] ^= o, _[P] ^= o;
}
function R(h, _) {
var y, o, k, P = t(), $ = t();
for (y = 0; y < 16; y++) $[y] = _[y];
for (Ie($), Ie($), Ie($), o = 0; o < 2; o++) {
for (P[0] = $[0] - 65517, y = 1; y < 15; y++)
P[y] = $[y] - 65535 - (P[y - 1] >> 16 & 1), P[y - 1] &= 65535;
P[15] = $[15] - 32767 - (P[14] >> 16 & 1), k = P[15] >> 16 & 1, P[14] &= 65535, he($, P, 1 - k);
}
for (y = 0; y < 16; y++)
h[2 * y] = $[y] & 255, h[2 * y + 1] = $[y] >> 8;
}
function Y(h, _) {
var y = new Uint8Array(32), o = new Uint8Array(32);
return R(y, h), R(o, _), E(y, 0, o, 0);
}
function X(h) {
var _ = new Uint8Array(32);
return R(_, h), _[0] & 1;
}
function se(h, _) {
var y;
for (y = 0; y < 16; y++) h[y] = _[2 * y] + (_[2 * y + 1] << 8);
h[15] &= 32767;
}
function ue(h, _, y) {
for (var o = 0; o < 16; o++) h[o] = _[o] + y[o];
}
function ke(h, _, y) {
for (var o = 0; o < 16; o++) h[o] = _[o] - y[o];
}
function ge(h, _, y) {
var o, k, P = 0, $ = 0, ae = 0, ce = 0, ze = 0, me = 0, Je = 0, xe = 0, Te = 0, Ue = 0, Ne = 0, De = 0, Le = 0, qe = 0, Oe = 0, _e = 0, Be = 0, ve = 0, Ee = 0, Se = 0, pe = 0, G = 0, K = 0, ie = 0, te = 0, oe = 0, ne = 0, je = 0, Pe = 0, $e = 0, Fe = 0, U = y[0], We = y[1], Qe = y[2], er = y[3], Ve = y[4], Ke = y[5], Ye = y[6], dr = y[7], ar = y[8], lr = y[9], ur = y[10], fr = y[11], hr = y[12], wr = y[13], _r = y[14], Er = y[15];
o = _[0], P += o * U, $ += o * We, ae += o * Qe, ce += o * er, ze += o * Ve, me += o * Ke, Je += o * Ye, xe += o * dr, Te += o * ar, Ue += o * lr, Ne += o * ur, De += o * fr, Le += o * hr, qe += o * wr, Oe += o * _r, _e += o * Er, o = _[1], $ += o * U, ae += o * We, ce += o * Qe, ze += o * er, me += o * Ve, Je += o * Ke, xe += o * Ye, Te += o * dr, Ue += o * ar, Ne += o * lr, De += o * ur, Le += o * fr, qe += o * hr, Oe += o * wr, _e += o * _r, Be += o * Er, o = _[2], ae += o * U, ce += o * We, ze += o * Qe, me += o * er, Je += o * Ve, xe += o * Ke, Te += o * Ye, Ue += o * dr, Ne += o * ar, De += o * lr, Le += o * ur, qe += o * fr, Oe += o * hr, _e += o * wr, Be += o * _r, ve += o * Er, o = _[3], ce += o * U, ze += o * We, me += o * Qe, Je += o * er, xe += o * Ve, Te += o * Ke, Ue += o * Ye, Ne += o * dr, De += o * ar, Le += o * lr, qe += o * ur, Oe += o * fr, _e += o * hr, Be += o * wr, ve += o * _r, Ee += o * Er, o = _[4], ze += o * U, me += o * We, Je += o * Qe, xe += o * er, Te += o * Ve, Ue += o * Ke, Ne += o * Ye, De += o * dr, Le += o * ar, qe += o * lr, Oe += o * ur, _e += o * fr, Be += o * hr, ve += o * wr, Ee += o * _r, Se += o * Er, o = _[5], me += o * U, Je += o * We, xe += o * Qe, Te += o * er, Ue += o * Ve, Ne += o * Ke, De += o * Ye, Le += o * dr, qe += o * ar, Oe += o * lr, _e += o * ur, Be += o * fr, ve += o * hr, Ee += o * wr, Se += o * _r, pe += o * Er, o = _[6], Je += o * U, xe += o * We, Te += o * Qe, Ue += o * er, Ne += o * Ve, De += o * Ke, Le += o * Ye, qe += o * dr, Oe += o * ar, _e += o * lr, Be += o * ur, ve += o * fr, Ee += o * hr, Se += o * wr, pe += o * _r, G += o * Er, o = _[7], xe += o * U, Te += o * We, Ue += o * Qe, Ne += o * er, De += o * Ve, Le += o * Ke, qe += o * Ye, Oe += o * dr, _e += o * ar, Be += o * lr, ve += o * ur, Ee += o * fr, Se += o * hr, pe += o * wr, G += o * _r, K += o * Er, o = _[8], Te += o * U, Ue += o * We, Ne += o * Qe, De += o * er, Le += o * Ve, qe += o * Ke, Oe += o * Ye, _e += o * dr, Be += o * ar, ve += o * lr, Ee += o * ur, Se += o * fr, pe += o * hr, G += o * wr, K += o * _r, ie += o * Er, o = _[9], Ue += o * U, Ne += o * We, De += o * Qe, Le += o * er, qe += o * Ve, Oe += o * Ke, _e += o * Ye, Be += o * dr, ve += o * ar, Ee += o * lr, Se += o * ur, pe += o * fr, G += o * hr, K += o * wr, ie += o * _r, te += o * Er, o = _[10], Ne += o * U, De += o * We, Le += o * Qe, qe += o * er, Oe += o * Ve, _e += o * Ke, Be += o * Ye, ve += o * dr, Ee += o * ar, Se += o * lr, pe += o * ur, G += o * fr, K += o * hr, ie += o * wr, te += o * _r, oe += o * Er, o = _[11], De += o * U, Le += o * We, qe += o * Qe, Oe += o * er, _e += o * Ve, Be += o * Ke, ve += o * Ye, Ee += o * dr, Se += o * ar, pe += o * lr, G += o * ur, K += o * fr, ie += o * hr, te += o * wr, oe += o * _r, ne += o * Er, o = _[12], Le += o * U, qe += o * We, Oe += o * Qe, _e += o * er, Be += o * Ve, ve += o * Ke, Ee += o * Ye, Se += o * dr, pe += o * ar, G += o * lr, K += o * ur, ie += o * fr, te += o * hr, oe += o * wr, ne += o * _r, je += o * Er, o = _[13], qe += o * U, Oe += o * We, _e += o * Qe, Be += o * er, ve += o * Ve, Ee += o * Ke, Se += o * Ye, pe += o * dr, G += o * ar, K += o * lr, ie += o * ur, te += o * fr, oe += o * hr, ne += o * wr, je += o * _r, Pe += o * Er, o = _[14], Oe += o * U, _e += o * We, Be += o * Qe, ve += o * er, Ee += o * Ve, Se += o * Ke, pe += o * Ye, G += o * dr, K += o * ar, ie += o * lr, te += o * ur, oe += o * fr, ne += o * hr, je += o * wr, Pe += o * _r, $e += o * Er, o = _[15], _e += o * U, Be += o * We, ve += o * Qe, Ee += o * er, Se += o * Ve, pe += o * Ke, G += o * Ye, K += o * dr, ie += o * ar, te += o * lr, oe += o * ur, ne += o * fr, je += o * hr, Pe += o * wr, $e += o * _r, Fe += o * Er, P += 38 * Be, $ += 38 * ve, ae += 38 * Ee, ce += 38 * Se, ze += 38 * pe, me += 38 * G, Je += 38 * K, xe += 38 * ie, Te += 38 * te, Ue += 38 * oe, Ne += 38 * ne, De += 38 * je, Le += 38 * Pe, qe += 38 * $e, Oe += 38 * Fe, k = 1, o = P + k + 65535, k = Math.floor(o / 65536), P = o - k * 65536, o = $ + k + 65535, k = Math.floor(o / 65536), $ = o - k * 65536, o = ae + k + 65535, k = Math.floor(o / 65536), ae = o - k * 65536, o = ce + k + 65535, k = Math.floor(o / 65536), ce = o - k * 65536, o = ze + k + 65535, k = Math.floor(o / 65536), ze = o - k * 65536, o = me + k + 65535, k = Math.floor(o / 65536), me = o - k * 65536, o = Je + k + 65535, k = Math.floor(o / 65536), Je = o - k * 65536, o = xe + k + 65535, k = Math.floor(o / 65536), xe = o - k * 65536, o = Te + k + 65535, k = Math.floor(o / 65536), Te = o - k * 65536, o = Ue + k + 65535, k = Math.floor(o / 65536), Ue = o - k * 65536, o = Ne + k + 65535, k = Math.floor(o / 65536), Ne = o - k * 65536, o = De + k + 65535, k = Math.floor(o / 65536), De = o - k * 65536, o = Le + k + 65535, k = Math.floor(o / 65536), Le = o - k * 65536, o = qe + k + 65535, k = Math.floor(o / 65536), qe = o - k * 65536, o = Oe + k + 65535, k = Math.floor(o / 65536), Oe = o - k * 65536, o = _e + k + 65535, k = Math.floor(o / 65536), _e = o - k * 65536, P += k - 1 + 37 * (k - 1), k = 1, o = P + k + 65535, k = Math.floor(o / 65536), P = o - k * 65536, o = $ + k + 65535, k = Math.floor(o / 65536), $ = o - k * 65536, o = ae + k + 65535, k = Math.floor(o / 65536), ae = o - k * 65536, o = ce + k + 65535, k = Math.floor(o / 65536), ce = o - k * 65536, o = ze + k + 65535, k = Math.floor(o / 65536), ze = o - k * 65536, o = me + k + 65535, k = Math.floor(o / 65536), me = o - k * 65536, o = Je + k + 65535, k = Math.floor(o / 65536), Je = o - k * 65536, o = xe + k + 65535, k = Math.floor(o / 65536), xe = o - k * 65536, o = Te + k + 65535, k = Math.floor(o / 65536), Te = o - k * 65536, o = Ue + k + 65535, k = Math.floor(o / 65536), Ue = o - k * 65536, o = Ne + k + 65535, k = Math.floor(o / 65536), Ne = o - k * 65536, o = De + k + 65535, k = Math.floor(o / 65536), De = o - k * 65536, o = Le + k + 65535, k = Math.floor(o / 65536), Le = o - k * 65536, o = qe + k + 65535, k = Math.floor(o / 65536), qe = o - k * 65536, o = Oe + k + 65535, k = Math.floor(o / 65536), Oe = o - k * 65536, o = _e + k + 65535, k = Math.floor(o / 65536), _e = o - k * 65536, P += k - 1 + 37 * (k - 1), h[0] = P, h[1] = $, h[2] = ae, h[3] = ce, h[4] = ze, h[5] = me, h[6] = Je, h[7] = xe, h[8] = Te, h[9] = Ue, h[10] = Ne, h[11] = De, h[12] = Le, h[13] = qe, h[14] = Oe, h[15] = _e;
}
function H(h, _) {
ge(h, _, _);
}
function D(h, _) {
var y = t(), o;
for (o = 0; o < 16; o++) y[o] = _[o];
for (o = 253; o >= 0; o--)
H(y, y), o !== 2 && o !== 4 && ge(y, y, _);
for (o = 0; o < 16; o++) h[o] = y[o];
}
function J(h, _) {
var y = t(), o;
for (o = 0; o < 16; o++) y[o] = _[o];
for (o = 250; o >= 0; o--)
H(y, y), o !== 1 && ge(y, y, _);
for (o = 0; o < 16; o++) h[o] = y[o];
}
function de(h, _, y) {
var o = new Uint8Array(32), k = new Float64Array(80), P, $, ae = t(), ce = t(), ze = t(), me = t(), Je = t(), xe = t();
for ($ = 0; $ < 31; $++) o[$] = _[$];
for (o[31] = _[31] & 127 | 64, o[0] &= 248, se(k, y), $ = 0; $ < 16; $++)
ce[$] = k[$], me[$] = ae[$] = ze[$] = 0;
for (ae[0] = me[0] = 1, $ = 254; $ >= 0; --$)
P = o[$ >>> 3] >>> ($ & 7) & 1, he(ae, ce, P), he(ze, me, P), ue(Je, ae, ze), ke(ae, ae, ze), ue(ze, ce, me), ke(ce, ce, me), H(me, Je), H(xe, ae), ge(ae, ze, ae), ge(ze, ce, Je), ue(Je, ae, ze), ke(ae, ae, ze), H(ce, ae), ke(ze, me, xe), ge(ae, ze, f), ue(ae, ae, me), ge(ze, ze, ae), ge(ae, me, xe), ge(me, ce, k), H(ce, Je), he(ae, ce, P), he(ze, me, P);
for ($ = 0; $ < 16; $++)
k[$ + 16] = ae[$], k[$ + 32] = ze[$], k[$ + 48] = ce[$], k[$ + 64] = me[$];
var Te = k.subarray(32), Ue = k.subarray(16);
return D(Te, Te), ge(Ue, Ue, Te), R(h, Ue), 0;
}
function we(h, _) {
return de(h, _, a);
}
function A(h, _) {
return i(_, 32), we(h, _);
}
function B(h, _, y) {
var o = new Uint8Array(32);
return de(o, y, _), S(h, s, o, C);
}
var Q = ye, fe = Ae;
function Ze(h, _, y, o, k, P) {
var $ = new Uint8Array(32);
return B($, k, P), Q(h, _, y, o, $);
}
function Ce(h, _, y, o, k, P) {
var $ = new Uint8Array(32);
return B($, k, P), fe(h, _, y, o, $);
}
var Ge = [
1116352408,
3609767458,
1899447441,
602891725,
3049323471,
3964484399,
3921009573,
2173295548,
961987163,
4081628472,
1508970993,
3053834265,
2453635748,
2937671579,
2870763221,
3664609560,
3624381080,
2734883394,
310598401,
1164996542,
607225278,
1323610764,
1426881987,
3590304994,
1925078388,
4068182383,
2162078206,
991336113,
2614888103,
633803317,
3248222580,
3479774868,
3835390401,
2666613458,
4022224774,
944711139,
264347078,
2341262773,
604807628,
2007800933,
770255983,
1495990901,
1249150122,
1856431235,
1555081692,
3175218132,
1996064986,
2198950837,
2554220882,
3999719339,
2821834349,
766784016,
2952996808,
2566594879,
3210313671,
3203337956,
3336571891,
1034457026,
3584528711,
2466948901,
113926993,
3758326383,
338241895,
168717936,
666307205,
1188179964,
773529912,
1546045734,
1294757372,
1522805485,
1396182291,
2643833823,
1695183700,
2343527390,
1986661051,
1014477480,
2177026350,
1206759142,
2456956037,
344077627,
2730485921,
1290863460,
2820302411,
3158454273,
3259730800,
3505952657,
3345764771,
106217008,
3516065817,
3606008344,
3600352804,
1432725776,
4094571909,
1467031594,
275423344,
851169720,
430227734,
3100823752,
506948616,
1363258195,
659060556,
3750685593,
883997877,
3785050280,
958139571,
3318307427,
1322822218,
3812723403,
1537002063,
2003034995,
1747873779,
3602036899,
1955562222,
1575990012,
2024104815,
1125592928,
2227730452,
2716904306,
2361852424,
442776044,
2428436474,
593698344,
2756734187,
3733110249,
3204031479,
2999351573,
3329325298,
3815920427,
3391569614,
3928383900,
3515267271,
566280711,
3940187606,
3454069534,
4118630271,
4000239992,
116418474,
1914138554,
174292421,
2731055270,
289380356,
3203993006,
460393269,
320620315,
685471733,
587496836,
852142971,
1086792851,
1017036298,
365543100,
1126000580,
2618297676,
1288033470,
3409855158,
1501505948,
4234509866,
1607167915,
987167468,
1816402316,
1246189591
];
function xr(h, _, y, o) {
for (var k = new Int32Array(16), P = new Int32Array(16), $, ae, ce, ze, me, Je, xe, Te, Ue, Ne, De, Le, qe, Oe, _e, Be, ve, Ee, Se, pe, G, K, ie, te, oe, ne, je = h[0], Pe = h[1], $e = h[2], Fe = h[3], U = h[4], We = h[5], Qe = h[6], er = h[7], Ve = _[0], Ke = _[1], Ye = _[2], dr = _[3], ar = _[4], lr = _[5], ur = _[6], fr = _[7], hr = 0; o >= 128; ) {
for (Se = 0; Se < 16; Se++)
pe = 8 * Se + hr, k[Se] = y[pe + 0] << 24 | y[pe + 1] << 16 | y[pe + 2] << 8 | y[pe + 3], P[Se] = y[pe + 4] << 24 | y[pe + 5] << 16 | y[pe + 6] << 8 | y[pe + 7];
for (Se = 0; Se < 80; Se++)
if ($ = je, ae = Pe, ce = $e, ze = Fe, me = U, Je = We, xe = Qe, Te = er, Ue = Ve, Ne = Ke, De = Ye, Le = dr, qe = ar, Oe = lr, _e = ur, Be = fr, G = er, K = fr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = (U >>> 14 | ar << 18) ^ (U >>> 18 | ar << 14) ^ (ar >>> 9 | U << 23), K = (ar >>> 14 | U << 18) ^ (ar >>> 18 | U << 14) ^ (U >>> 9 | ar << 23), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = U & We ^ ~U & Qe, K = ar & lr ^ ~ar & ur, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = Ge[Se * 2], K = Ge[Se * 2 + 1], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = k[Se % 16], K = P[Se % 16], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, ve = oe & 65535 | ne << 16, Ee = ie & 65535 | te << 16, G = ve, K = Ee, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = (je >>> 28 | Ve << 4) ^ (Ve >>> 2 | je << 30) ^ (Ve >>> 7 | je << 25), K = (Ve >>> 28 | je << 4) ^ (je >>> 2 | Ve << 30) ^ (je >>> 7 | Ve << 25), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = je & Pe ^ je & $e ^ Pe & $e, K = Ve & Ke ^ Ve & Ye ^ Ke & Ye, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, Te = oe & 65535 | ne << 16, Be = ie & 65535 | te << 16, G = ze, K = Le, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = ve, K = Ee, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, ze = oe & 65535 | ne << 16, Le = ie & 65535 | te << 16, Pe = $, $e = ae, Fe = ce, U = ze, We = me, Qe = Je, er = xe, je = Te, Ke = Ue, Ye = Ne, dr = De, ar = Le, lr = qe, ur = Oe, fr = _e, Ve = Be, Se % 16 === 15)
for (pe = 0; pe < 16; pe++)
G = k[pe], K = P[pe], ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = k[(pe + 9) % 16], K = P[(pe + 9) % 16], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, ve = k[(pe + 1) % 16], Ee = P[(pe + 1) % 16], G = (ve >>> 1 | Ee << 31) ^ (ve >>> 8 | Ee << 24) ^ ve >>> 7, K = (Ee >>> 1 | ve << 31) ^ (Ee >>> 8 | ve << 24) ^ (Ee >>> 7 | ve << 25), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, ve = k[(pe + 14) % 16], Ee = P[(pe + 14) % 16], G = (ve >>> 19 | Ee << 13) ^ (Ee >>> 29 | ve << 3) ^ ve >>> 6, K = (Ee >>> 19 | ve << 13) ^ (ve >>> 29 | Ee << 3) ^ (Ee >>> 6 | ve << 26), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, k[pe] = oe & 65535 | ne << 16, P[pe] = ie & 65535 | te << 16;
G = je, K = Ve, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[0], K = _[0], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[0] = je = oe & 65535 | ne << 16, _[0] = Ve = ie & 65535 | te << 16, G = Pe, K = Ke, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[1], K = _[1], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[1] = Pe = oe & 65535 | ne << 16, _[1] = Ke = ie & 65535 | te << 16, G = $e, K = Ye, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[2], K = _[2], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[2] = $e = oe & 65535 | ne << 16, _[2] = Ye = ie & 65535 | te << 16, G = Fe, K = dr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[3], K = _[3], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[3] = Fe = oe & 65535 | ne << 16, _[3] = dr = ie & 65535 | te << 16, G = U, K = ar, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[4], K = _[4], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[4] = U = oe & 65535 | ne << 16, _[4] = ar = ie & 65535 | te << 16, G = We, K = lr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[5], K = _[5], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[5] = We = oe & 65535 | ne << 16, _[5] = lr = ie & 65535 | te << 16, G = Qe, K = ur, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[6], K = _[6], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[6] = Qe = oe & 65535 | ne << 16, _[6] = ur = ie & 65535 | te << 16, G = er, K = fr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[7], K = _[7], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[7] = er = oe & 65535 | ne << 16, _[7] = fr = ie & 65535 | te << 16, hr += 128, o -= 128;
}
return o;
}
function gr(h, _, y) {
var o = new Int32Array(8), k = new Int32Array(8), P = new Uint8Array(256), $, ae = y;
for (o[0] = 1779033703, o[1] = 3144134277, o[2] = 1013904242, o[3] = 2773480762, o[4] = 1359893119, o[5] = 2600822924, o[6] = 528734635, o[7] = 1541459225, k[0] = 4089235720, k[1] = 2227873595, k[2] = 4271175723, k[3] = 1595750129, k[4] = 2917565137, k[5] = 725511199, k[6] = 4215389547, k[7] = 327033209, xr(o, k, _, y), y %= 128, $ = 0; $ < y; $++) P[$] = _[ae - y + $];
for (P[y] = 128, y = 256 - 128 * (y < 112 ? 1 : 0), P[y - 9] = 0, m(P, y - 8, ae / 536870912 | 0, ae << 3), xr(o, k, P, y), $ = 0; $ < 8; $++) m(h, 8 * $, o[$], k[$]);
return 0;
}
function zr(h, _) {
var y = t(), o = t(), k = t(), P = t(), $ = t(), ae = t(), ce = t(), ze = t(), me = t();
ke(y, h[1], h[0]), ke(me, _[1], _[0]), ge(y, y, me), ue(o, h[0], h[1]), ue(me, _[0], _[1]), ge(o, o, me), ge(k, h[3], _[3]), ge(k, k, d), ge(P, h[2], _[2]), ue(P, P, P), ke($, o, y), ke(ae, P, k), ue(ce, P, k), ue(ze, o, y), ge(h[0], $, ae), ge(h[1], ze, ce), ge(h[2], ce, ae), ge(h[3], $, ze);
}
function sr(h, _, y) {
var o;
for (o = 0; o < 4; o++)
he(h[o], _[o], y);
}
function nr(h, _) {
var y = t(), o = t(), k = t();
D(k, _[2]), ge(y, _[0], k), ge(o, _[1], k), R(h, o), h[31] ^= X(y) << 7;
}
function jr(h, _, y) {
var o, k;
for (Re(h[0], l), Re(h[1], n), Re(h[2], n), Re(h[3], l), k = 255; k >= 0; --k)
o = y[k / 8 | 0] >> (k & 7) & 1, sr(h, _, o), zr(_, h), zr(h, h), sr(h, _, o);
}
function Lr(h, _) {
var y = [t(), t(), t(), t()];
Re(y[0], w), Re(y[1], p), Re(y[2], n), ge(y[3], w, p), jr(h, y, _);
}
function yr(h, _, y) {
var o = new Uint8Array(64), k = [t(), t(), t(), t()], P;
for (y || i(_, 32), gr(o, _, 32), o[0] &= 248, o[31] &= 127, o[31] |= 64, Lr(k, o), nr(h, k), P = 0; P < 32; P++) _[P + 32] = h[P];
return 0;
}
var Or = new Float64Array([237, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]);
function x(h, _) {
var y, o, k, P;
for (o = 63; o >= 32; --o) {
for (y = 0, k = o - 32, P = o - 12; k < P; ++k)
_[k] += y - 16 * _[o] * Or[k - (o - 32)], y = Math.floor((_[k] + 128) / 256), _[k] -= y * 256;
_[k] += y, _[o] = 0;
}
for (y = 0, k = 0; k < 32; k++)
_[k] += y - (_[31] >> 4) * Or[k], y = _[k] >> 8, _[k] &= 255;
for (k = 0; k < 32; k++) _[k] -= y * Or[k];
for (o = 0; o < 32; o++)
_[o + 1] += _[o] >> 8, h[o] = _[o] & 255;
}
function c(h) {
var _ = new Float64Array(64), y;
for (y = 0; y < 64; y++) _[y] = h[y];
for (y = 0; y < 64; y++) h[y] = 0;
x(h, _);
}
function u(h, _, y, o) {
var k = new Uint8Array(64), P = new Uint8Array(64), $ = new Uint8Array(64), ae, ce, ze = new Float64Array(64), me = [t(), t(), t(), t()];
gr(k, o, 32), k[0] &= 248, k[31] &= 127, k[31] |= 64;
var Je = y + 64;
for (ae = 0; ae < y; ae++) h[64 + ae] = _[ae];
for (ae = 0; ae < 32; ae++) h[32 + ae] = k[32 + ae];
for (gr($, h.subarray(32), y + 32), c($), Lr(me, $), nr(h, me), ae = 32; ae < 64; ae++) h[ae] = o[ae];
for (gr(P, h, y + 64), c(P), ae = 0; ae < 64; ae++) ze[ae] = 0;
for (ae = 0; ae < 32; ae++) ze[ae] = $[ae];
for (ae = 0; ae < 32; ae++)
for (ce = 0; ce < 32; ce++)
ze[ae + ce] += P[ae] * k[ce];
return x(h.subarray(32), ze), Je;
}
function I(h, _) {
var y = t(), o = t(), k = t(), P = t(), $ = t(), ae = t(), ce = t();
return Re(h[2], n), se(h[1], _), H(k, h[1]), ge(P, k, b), ke(k, k, h[2]), ue(P, h[2], P), H($, P), H(ae, $), ge(ce, ae, $), ge(y, ce, k), ge(y, y, P), J(y, y), ge(y, y, k), ge(y, y, P), ge(y, y, P), ge(h[0], y, P), H(o, h[0]), ge(o, o, P), Y(o, k) && ge(h[0], h[0], v), H(o, h[0]), ge(o, o, P), Y(o, k) ? -1 : (X(h[0]) === _[31] >> 7 && ke(h[0], l, h[0]), ge(h[3], h[0], h[1]), 0);
}
function M(h, _, y, o) {
var k, P = new Uint8Array(32), $ = new Uint8Array(64), ae = [t(), t(), t(), t()], ce = [t(), t(), t(), t()];
if (y < 64 || I(ce, o)) return -1;
for (k = 0; k < y; k++) h[k] = _[k];
for (k = 0; k < 32; k++) h[k + 32] = o[k];
if (gr($, h, y), c($), jr(ae, ce, $), Lr(ce, _.subarray(32)), zr(ae, ce), nr(P, ae), y -= 64, E(_, 0, P, 0)) {
for (k = 0; k < y; k++) h[k] = 0;
return -1;
}
for (k = 0; k < y; k++) h[k] = _[k + 64];
return y;
}
var W = 32, ee = 24, Me = 32, tr = 16, rr = 32, or = 32, Xe = 32, Bt = 32, ha = 32, ei = ee, Ac = Me, Bc = tr, Gr = 64, ut = 32, mt = 64, pa = 32, ba = 64;
r.lowlevel = {
crypto_core_hsalsa20: S,
crypto_stream_xor: N,
crypto_stream: L,
crypto_stream_salsa20_xor: F,
crypto_stream_salsa20: V,
crypto_onetimeauth: le,
crypto_onetimeauth_verify: re,
crypto_verify_16: z,
crypto_verify_32: E,
crypto_secretbox: ye,
crypto_secretbox_open: Ae,
crypto_scalarmult: de,
crypto_scalarmult_base: we,
crypto_box_beforenm: B,
crypto_box_afternm: Q,
crypto_box: Ze,
crypto_box_open: Ce,
crypto_box_keypair: A,
crypto_hash: gr,
crypto_sign: u,
crypto_sign_keypair: yr,
crypto_sign_open: M,
crypto_secretbox_KEYBYTES: W,
crypto_secretbox_NONCEBYTES: ee,
crypto_secretbox_ZEROBYTES: Me,
crypto_secretbox_BOXZEROBYTES: tr,
crypto_scalarmult_BYTES: rr,
crypto_